Open RTB Bid Response Specifications
The response for a bid request should have the following structure:
Bid Response Object
Attribute | Required? | Description |
---|---|---|
id | Yes | ID of the bid request (string) |
seatbid | Yes | Collection of bids made by the bidder on behalf of a specific seat. |
seatbid
Attribute | Required? | Description |
---|---|---|
bid | Yes | ID of the impression object to which this bid applies (string) |
seatbid.bid
Attribute | Required? | Description |
---|---|---|
id | Yes | ID for the bid object chosen by the bidder (string) |
impid | Yes | ID of the impression object to which this bid applies (string) |
price | Yes | Bid price in CPM or CPC (float) |
adm | Yes | ExoClick XML/JSON Ad Markup (string) |
nurl | No | Win notification URL, it is recommended to use HTTP over HTTPS for nurl (string) - not mandatory |
ext | No | ExoClick specific extension |
seatbid.bid.ext
Attribute | Required? | Description |
---|---|---|
btype | Recommended | Pricing Model. Values: 1 = CPM, 2 = CPC. Default = 1 (int). Note: When response is for an Email Clicks zone request, 1 = Smart CPC. |
Note: Only Push Notification and Native ad formats may bid with the CPC pricing model.
JSON Examples
Banner / iFrame / Popunder / In-Stream / Push Notifications: JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [{
"bid": [{
"id": "12ab3d",
"impid": "974090632",
"price": 0.55,
"adm": "<ExoClick_XML_OR_JSON_AD_MARKUP>",
"nurl": "http://network-domain.com/win-notification",
"ext": {
"btype": 1
}
}]
}]
}
Direct Links: JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [
{
"bid": [
{
"id": "9093b7bc2715a39446fe380ecb63a45a96485cd8",
"impid": "974090632",
"price": 0.07,
"adm": "<ExoClick_XML_AD_MARKUP>",
"ext": {
"btype": 2
},
"nurl": "https://mysite.com/my_notification_url"
}
]
}
]
}
Email Clicks: JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [
{
"bid": [
{
"id": "9093b7bc2715a39446fe380ecb63a45a96485cd8",
"impid": "974090632",
"price": 0.07,
"adm": "<ExoClick_XML_AD_MARKUP>",
"ext": {
"btype": 2
},
"nurl": "https://mysite.com/my_notification_url"
}
]
}
]
}
Native: JSON
{
"id": "7a452540-c8c9-43ca-9d30-ab9d8bfd17a4",
"seatbid":
[
{
"bid":
[
{
"id": "4fab7972833e2aaf53a828b1408fc104293734e3",
"impid": "2d099176-9feb-44e9-85f9-f385b34123a1",
"price":0.0025,
"adm": "<ExoClick_JSON_AD_MARKUP>",
"ext": { "btype": 1 },
"nurl": "https://mysite.com/my_notification_url"
}
]
}
]
}
ADM Examples
Banner: XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<ad>
<imageAd>
<clickUrl><![CDATA[http://mysite.com/landingpages/mypage]]></clickUrl>
<imgUrl><![CDATA[http://mysite.com/images/myad.jpg]]></imgUrl>
</imageAd>
</ad>
Direct Links: XML
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<ad>
<emailClick>
<url>https://mysite.com/landingpages?el={email_encoded}</url>
</emailClick>
</ad>
Email Clicks: XML
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<ad>
<emailClick>
<url>https://mysite.com/landingpages?el={email_encoded}</url>
</emailClick>
</ad>
Popunder: XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<ad>
<popunderAd>
<url><![CDATA[http://mysite.com/landingpages/mypage]]></url>
</popunderAd>
</ad>
Native Ads: JSON
For native ads the adm parameter should contain a JSON encoded string like this:
{
"native": {
"link": { "url": "https://mysite.com/landingpages/mypage" },
"eventtrackers": [
{
"event": 1,
"method": 1,
"url": "https://myEventTracker1.com"
}
],
"assets": [
{ "id": 1, "title": { "text": "Ad Title" } },
{ "id": 2, "data": { "value": "Ad description" } },
{
"id": 3,
"img": {
"url": "https://mysite.com/images/myad.jpg",
"w": 300,
“h”: 300,
}
}
]
}
}
Push Notification Ads: JSON
For Push Notification ads the adm parameter will contain a JSON encoded string like the following (note that we use the 'native' object to implement push notification ads). Width and height depend on the width and height coming from request. Currently supported dimensions are 192x192 and 720x480. One image asset per notification.
{\"native\":{\"link\":{\"url\":\"http:\/\/mysite.com\/landingpages\/mypage\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"http:\/\/mysite.com\/images\/myad.jpg\",\"w\":720,\"h\":480}},{\"id\":2,\"title\":{\"text\":\"Ad Title\"}},{\"id\":3,\"data\":{\"type\":2,\"value\":\"Ad description\"}}]}}
Which is based on the following JSON object:
{
"native": {
"link": {
"url": "http://mysite.com/landingpages/mypage"
},
"assets": [
{
"id": 1,
"required": 1,
"img": {
"url": "http://mysite.com/images/myad.jpg",
"w": 720,
"h": 480
}
},
{
"id": 2,
"title": {
"text": "Ad Title"
}
},
{
"id": 3,
"data": {
"type": 2,
"value": "Ad description"
}
}
]
}
}
No Bid Response
To answer a bid request without making an actual bid, an HTTP response code 204 "No Content" will be sent.
Win Notification
When the parameter Bid Response Object -> Seat Bid Object -> Bid Object -> nurl is in the bid response, a GET request must be performed to such URL.