Bid Object¶
Note
(*) Fields marked with an asterisk are usually optional, but may be required for some Suppliers, check for usage notes
Value |
Type |
Description |
---|---|---|
id |
string |
A bidder generated ID for the bid object, used for tracking and debugging
purposes, for example |
impid |
string |
The ID of the impression object ( |
price |
float |
The bid price as a float value, expressed as CPM. All prices assumed
to be in USD if the |
protocol* |
integer |
The Video response protocol of the markup if applicable, see the :ref: video-response-protocols table for the valid values. Note: This field is required in video responses. |
adm* |
string |
Creative markup for banner ads.
|
burl |
string |
Specifies the billing notice URL called by BidSwitch using a server-to-server call when BidSwitch records a billable impression.
|
nurl |
string |
The win notice URL called if the bid wins.
Note: This describes the behaviour in version |
iurl* |
string |
Sample image URL (without cache busting) for content checking, e.g.
REQUIRED: for banner bid requests. |
lurl* |
string |
Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string). |
language* |
string |
The Alpha-2 ISO 639-1 code for the creative’s language, for example,
Use this field instead of the deprecated |
adid* |
string |
ID that references the ad to be served if the bid wins. Either the Notes:
|
adomain |
array of strings |
Advertiser’s primary or top-level domain for advertiser checking. This can be a list of domains if there is a rotating creative. :Note:
|
bundle* |
string |
A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame) |
cid* |
string |
Campaign ID or similar that is used by the Buyer to track and
organize their campaigns, for example, REQUIRED in responses for Rubicon, Nexage, Smaato and MoPub. |
crid* |
string |
Creative ID to assist with ad quality checking. Either the Notes:
|
attr* |
array of integers |
Creative attributes as defined in the OpenRTB protocol, for example,
|
dealid* |
string |
(Recommended) Reference to the
|
h* |
integer |
The height of the creative in pixels when an alternative ad size is used,
relevant for banner ads only. |
w* |
integer |
The width of the creative in pixels when an alternative ad size is used,
relevant for banner ads only. |
cat* |
array of strings |
The IAB category of the creative. REQUIRED in bid responses to MoPub, Smaato and
YieldOne bids. If the Supplier only accepts one category in the bid
response the first array element will be used, for example, Note: For backward compatibility, this field can also be a string when using the BidSwitch 4.0 protocol. |
slotinpod* |
integer |
Indicates that the bid response is only eligible for a specific position within a video or audio ad pod |
mtype* |
integer |
Type of creative markup. The following values are supported:
|
dur* |
integer |
Duration of the video or audio creative in seconds. |
ext* |
object |
This field may be required under certain circumstances, see Bid Ext Object. |
Bid Ext Object¶
Value |
Type |
Description |
---|---|---|
at1* |
int |
Indicates that the Buyer wishes their bid to be used in the Supplier 1st price auction before being passed to any upstream auction e.g. header bidding. This field currently only takes the following value:
|
asid* |
string |
Required only for Microad premium inventor responses. If you are
using a 3rd party ad server you must specify which one, for example,
|
country* |
string |
Required only for Microad premium inventory responses and uses
ISO 3166-1 Alpha-3 country codes, for example |
advertiser_name* |
string |
The name of the advertiser serving the creative, for example,
|
agency_name* |
string |
The name of the agency representing the advertiser, for example,
REQUIRED in bids responses to Ströer (AdScale) bids. |
agency_id* |
string |
ID of the agency representing the advertiser, for example, |
lpdomain* |
array of strings |
The actual landing page URL of the creative. We highly recommend that you always fill this field, especially for mobile application ads, and for all Google responses. Required: for Xandr (Appnexus) mobile ads
|
data* |
array of object |
Returns arbitrary data to the Supplier, each object can take data.name and data.value to describe the data, see the Data Response Object for more details. |
language* |
string |
The Alpha-2 ISO 639-1 code for the creative’s language, for example,
Deprecated since version 5.2.: Use |
google* |
object |
Contains additional information for Google bids. This field is recommended. See the Supplier Specific Fields section for more details. |
yieldone* |
object |
Contains additional information for YieldOne bids. This field is recommended. See the Supplier Specific Fields section for more details. |
vast_url* |
string |
The URL pointing to the location of the VAST document for bid
responses to video traffic, for example,
For more information see the Video Ext Object section. Note:
|
daast_url* |
string |
The URL pointing to the location of the DAAST document for the bid
response, for example,
REQUIRED for bid responses to audio traffic. Note:
|
dur* |
integer |
Video ad duration in seconds, for example, |
native* |
object |
Contains the details of the native response, for more information, see Native Response Object. |
deal* |
string |
This is the ID of the deal between a publisher and a seat. It is used only if an exchange supports private auctions. If the bid is associated with a direct deal
then this field is required and its value should be
equal to one of the elements in the Deprecated since version 2.5: use |
img_url* |
string |
The URL of the creative image.
In order to receive the user cookie and win price, this URL should
point to the Buyer handler and redirect to the actual creative
location. The url may contain the win price macro, e.g.
If this field is present, the Note: This field is only valid in 2.x bid responses, see the Deprecated 2.x Properties section for more details. |
click_url* |
string |
The creative click URL. Required if the Note: This field is only valid in 2.x bid responses, see the Deprecated 2.x Properties section for more details. |
js_url* |
string |
A Javascript-based win notice URL.
Note: This field is only valid in 2.x bid responses, see the Deprecated 2.x Properties section for more details. |
skadn* |
object |
Apple Ad Network Object, this will be used to pass app data from iOS 14 and newer releases. See SkAdNetwork Extension |
dsa* |
object |
Digital Services Act (DSA) Ad Transparency information |
SkAdNetwork Extension¶
Value |
Type |
Description |
---|---|---|
version |
str |
Version of SKAdNetwork desired. Must be “2.0” or above. From SKAdNetwork v2.2
onwards, this should be used in the |
network* |
str |
Ad network identifier used in signature. Should match one of the items in the
|
campaign* |
str |
Campaign ID compatible with Apple’s spec. As of 2.0, this should be an integer
between 1 and 100, expressed as a string, e.g. |
fidelities* |
array of objects |
Supports multiple fidelity types introduced in SKAdNetwork v2.2, see the SkAdNetwork Fidelities object for details. Note From SKAdNetwork v2.2 onwards, this object wraps some of the other fields in this table into it. As a result, |
itunesitem* |
str |
ID of advertiser’s app in Apple’s app store. Should match the
|
nonce* |
str |
An ID unique to each ad response (GUID/UUID) e.g. |
sourceapp* |
str |
ID of publisher’s app in Apple’s app store, this should match the
|
timestamp* |
str |
Unix time in millis string used at the time of signature. From SKAdNetwork v2.2
onwards, this should be used in the |
signature* |
str |
SKAdNetwork signature as specified by Apple e.g. |
productpageid* |
str |
Passes the custom product page UUID |
sourceidentifier* |
str |
A four-digit integer that ad networks define to represent the ad campaign. Used in SKAdNetwork 4.0+, replaces Campaign ID campaign. Buyers must generate signatures in 4.0+ using the Source Identifier. Please refer to the SKAdNetwork 4 release notes for more details |
SkAdNetwork Fidelities¶
Value |
Type |
Description |
---|---|---|
fidelity* |
int |
The fidelity-type of the attribution to track e.g |
nonce* |
str |
An ID unique to each ad response (GUID/UUID) e.g. |
timestamp* |
str |
Unix time in millis string used at the time of signature |
signature* |
str |
SKAdNetwork signature as specified by Apple e.g. |
DSA Extension¶
Value |
Type |
Description |
---|---|---|
behalf* |
string |
Advertiser Transparency: Free UNICODE text string with a name of whose behalf the ad is displayed. Maximum 100 characters. |
paid* |
string |
Advertiser Transparency: Free UNICODE text string of who paid for the ad. Must always be included even if it’s the same as what is listed in the behalf attribute. Maximum 100 characters |
transparency* |
array of objects |
Array of objects of the entities that applied user parameters and the parameters they applied. |
adrender* |
integer |
Flag to indicate that buyer/advertiser will render their own DSA transparency information inside the creative.
|
Transparency Object¶
Value |
Type |
Description |
---|---|---|
domain* |
string |
Domain of the entity that applied user parameters |
dsaparams* |
array of integers |
Array of buy-side applied User Parameters targeting (using the list provided by DSA Transparency Taskforce). Include support for multiple vendors who may add their own user-targeting parameters. |
Note
Some of the fields are required by certain Suppliers. Responses to bid requests from these Suppliers without the required fields will be discarded.
Required Bid Response Fields Per Supplier¶
Supplier |
Required field(s) |
---|---|
Fyber |
|
MicroAd (For Premium Inventory) |
|
Millennial Media (nexage) |
|
MoPub |
|
PubMatic |
|
Rubicon |
|
Smaato |
|
Ströer (adscale) |
|
TrustX |
|
Xandr (AppNexus) mobile ads |
|
YieldOne |
|
Suppliers Supporting LURL Field
Supplier |
AUCTION MIN TO WIN |
AUCTION PRICE |
AUCTION LOSS |
Known Restrictions |
---|---|---|---|---|
AdColony |
No |
No |
Yes |
The reason from the publisher is required, following Loss Reason Codes defined by IAB |
Fyber |
No |
No |
Yes |
Minimum bid to win is not supported, but eligible to win as long as it is above the floor price |
ironSource |
Yes |
Yes |
No information |
Supported only for ironSource’s own banner ad format (320x50) |
Xandr |
No information |
No information |
No information |
Currently in closed beta testing |
Sonobi |
No |
No information |
No information |
Following IAB standard support |
Magnite DV+ |
Yes for Magnite DV |
No |
Yes for Magnite DV |
Only for DV+, following Loss Reason Codes defined by IAB |
MobileFuse |
No |
No information |
Yes |
No information |
Smart AdServer |
No |
Yes |
Yes |
Supposed to be launched late Q2 2023 |
Outbrain |
No information |
No information |
No information |
Following codes by both IAB and Outbrain |
PubMatic |
No information |
No information |
No information |
No information |
TripleLift |
No |
Direct connections only |
Direct connections only |
Direct connections only |
Unity |
Yes |
No information |
No information |
About 15 loss code reasons |
Yieldmo |
No information |
No information |
No information |
No known restriction, more information required |
Bidmachine |
No |
No information |
Yes |
Following Loss Reason Codes defined by IAB |
OpenX |
No |
No information |
Yes |
|
Loopme |
Yes (on the roadmap) |
Yes |
Yes |
Also supports ${AUCTION_PRICE} |
Improve Digital |
No |
No |
Yes |
Also supports:
|