Open RTB API integration: get started
Overview
Equativ provides an OpenRTB API for suppliers which is able to receive OpenRTB bid requests. Equativ then runs an auction for each request so Equativ’s demand partners can bid on the opportunity. This guide explains to suppliers how to use the API, including setup, configuration as well as the supported objects and parameters.
Equativ’s OpenRTB API for suppliers supports the OpenRTB 2.6 framework.
Supported impression/inventory/environment types
Equativ supports:
-
banner, in-stream video, out-stream video, audio (both via
video
andaudio
objects) and native impression types - AMP and rewarded video inventory types
- desktop web, mobile web and in-app environment types
API features and limitations
Equativ’s OpenRTB API has the following features and limitations:
- insertions, set up in Monetization, are not supported – the ad markup returned from the DSP is sent directly to the publisher
- creative templates are not supported; the only modifications Equativ performs on the ad markup retrieved from DSPs are to:
- wrap the ad markup into a simple
<script>
to add Equativ’s impression counting pixel - wrap any VAST responses in a VAST wrapper to include Equativ’s counting pixels
- wrap the ad markup into a simple
- ⚠️ Any call to Equativ’s OpenRTB API is handled as an open auction. Equativ does not take into account any deals (deal Ids) received in the bid request! However, deals can be set up in Monetization and sent to downstream DSPs, i. e. to Equativ’s demand partners
- bid requests that have either width or height set to
0
will be ignored, regardless of size and format. - Equativ’s delivery rules can be targeted to domains and are available by domain. Additionally, upon request, the delivery rules can be targeted to Equativ placements (sites/pages/formats) and reports are available at placement granularity, if the placement data (
siteId
/pageId
/formatId
) is sent in theimp[].ext.bidder.<itemId>
extensions (see "Imp[].ext.bidder object" in Open RTB API integration: bid request specification (1) and "Inventory mapping sample" in OpenRTB API integration: samples). - for rewarded video monetization, it is strongly recommended to follow the OpenRTB 2.6 specification, which explicitly standardizes the signaling of rewarded formats using the
imp.rwdd
field; the standard is not limited to the video context only – any impression types can be declared and monetized as rewarded. Failure to properly declare rewarded inventory may lead to classification as invalid traffic (IVT).
Read the Server-side header bidding: overview article for further details.
Multi-impression-type bid requests
The Equativ SSP is able to ingest and send bid requests with an imp
object containing multiple impression types. For instance, the imp
object shown in the sample below contains both a banner
and a native
object, signaling that the given ad opportunity can be monetized with either a banner ad or with a native ad:
imp: [
{
"id": "1234",
"banner": {...},
"native": {...},
"bidfloor": 0.4,
"bidfloorcur": "USD",
}
]
Multi-imp-object bid requests
The Equativ SSP is also able to ingest and send bid requests containing multiple imp
objects for the same tagid
(placement), with different impression types, each having its own associated parameters (bid floor, deal etc.). For instance, the two imp
objects in the sample below are for the same tagid
(placement-001
), but each imp
object has it own impression type (banner
/ native
) and its associated bidfloor
(0.4
/ 1.3
):
imp: [
{
"id": "1234",
"tagid": "placement-001",
"banner": {...},
"bidfloor": 0.4,
"bidfloorcur": "USD",
},
{
"id": "5678",
"tagid": "placement-001",
"native": {...},
"bidfloor": 1.3,
"bidfloorcur": "USD",
}
]
Invoicing
Any currency Equativ is able to bill can be sent in the bid request. Equativ responds in the account’s currency, i. e. in the currency defined in the Equativ network.
All auctions (bid requests and bid responses) are transacted as first price auctions and prices are expressed as net prices, i. e. the bid prices and the win prices both correspond to the price that Equativ will pay to the supplier.
Authentication
To authenticate, you must send the Equativ network ID in any bid request to Equativ’s OpenRTB API. The network ID represents your account at Equativ. You will receive the network ID from your contact at Equativ.
Bid requests without the Equativ network cannot be routed into your account and will be discarded! There are two methods to pass the network ID:
- replacing your own publisher ID by your Equativ network ID via the
site.publisher.id
orapp.publisher.id
field of the bid request; this method is available out of the box - using the extension field
bidRequest.ext.network_id
(integer); example:bidRequest.ext.network_id = 0
; this method is available upon request only - get in touch with your contact at Equativ if you intend to use it
Bidder endpoint
Once contractual agreements are signed, Equativ will provide you with the endpoint URLs. Equativ operates data centers in the regions: EU, APAC, US-West, US-East.
User-sync endpoint
GDPR parameters are required in all contexts to comply with the regulation. Non-compliant requests will be rejected. The user-sync endpoint reads the &gdpr=
and &gdpr_consent=
parameters to determine if an ID for the user can be matched or not. Read the IAB TCF v2 specification for URL-based services for further details.
The supplier is hosting the matching table so that the bid requests will be sent with the signal user.buyeruid
which contains the Equativ user ID.
Equativ will respond with an HTML file including syncURLs with its demand partners as well as the syncURL of the network with the Equativ user ID value - see "Equativ user sync response sample" in OpenRTB API integration: samples.
It is also possible to respond with a simple 302 redirect to the network. However, this sync mechanism is less efficient. Calling the is user-sync endpoint feeds into a geo-balanced server-side store used at auction time to map from the user.buyeruid
in the received bid request. The write operation on the server-side store occurs only on a single data center, selected based on the IP address of the caller to the sync endpoint and is not automatically propagated to other regions. Therefore, each region remains isolated.
To prevent bid request rejection due to failed or missing user-sync look-ups, make sure you:
- initiate user-sync calls from the client device of the user being synchronized; preserve the caller IP address to ensure their location is properly detected and the write operation will occur in the most appropriate regional store.
- send bid requests for a given user to Equativ’s bidder endpoint that is closest to the IP location of the client’s device
Headers
- make sure you request a
"Content-Type: application/json"
- to compress responses, the Equativ OpenRTB API supports
Accept-Encoding
(gzip or br) - to compress requests, the Equativ OpenRTB API supports
Content-Encoding: gzip
HTTP status codes
Status code | Description |
---|---|
200 |
Bid response |
204 |
No bid / Timeout |
400 |
The OpenRTB bid request could not be parsed |
403 |
The NetworkID is not allowed |
500 |
Unknown error / The OpenRTB caller is unknown |
Frequently Asked Questions
FAQ about imp objects containing multiple video objects
- To get multiple bid objects, do you expect the supplier to simply send an imp object array, each containing a video object?
- yes
- What is the maximum number of
imp
objects supported?- Max. 10
imp
objects
- Max. 10
- What is the maximum number of
bid
objects Equativ is able to return?- Max. 10 bid objects
- If the
bidrequest
object contains, for instance, 8imp
objects, how many responses would Equativ return?- From 0 to 8
imp
objects, depending on how many can be filled by the demand side.
- From 0 to 8
Miscellaneous FAQ
- Does Equativ support multi-impression object requests?
- Only for the video object
- In terms of media file, brand or advertiser category, does Equativ deduplicate bids in a response for a multi-impression opportunity?
- Deduplication is done by media file only; no deduplication by brand/advertiser category
- Are the impression trackers among all bid responses for a single bid request distinct from one another?
- Yes