Open RTB 2.5 Bid Response
The response for a bid request will have the following structure:
Bid Response Object
Attribute | Required? | Description |
---|---|---|
id | Yes | ID of the bid request, must match id sent in the 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, must match id sent in the request (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 | Ad markup (string) |
nurl | No | Win notification URL, it is recommended to use HTTP over HTTPS for nurl (string) - not mandatory |
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, Popunder, Video, Push Notifications: JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [
{
"bid": [
{
"id": "e3852965cc7b28d03ff3069debcc83cb6d68e753",
"impid": "974090632",
"price": 3.19,
"adm": "<EXADS_XML_OR_JSON_AD_MARKUP>",
"ext": {
"btype": 1
},
"nurl": "https://dsp.com/my_win_notification_url",
"burl": "https://dsp.com/my_billing_notification_url",
"cid": "5834901",
"crid": "83232831"
}
]
}
]
}
Email Clicks JSON
{
"id": "",
"bidid": 123,
"seatbid": [{
"bid": [{
"id": "12ab3d",
"adid": 1,
"impid": "",
"price": 0.12,
"adm": "http://mysite.com/landingpages/mypage",
"ext":{
"btype": 2
},
"burl": "https://mysite.com/my_billing_notification_url"
}]
}]
}
Direct Links
{
"id": "",
"bidid": 123,
"seatbid": [{
"bid": [{
"id": "12ab3d",
"adid": 1,
"impid": "",
"price": 0.12,
"adm": "http://mysite.com/landingpages/mypage",
"ext":{
"btype": 2
},
"burl": "https://mysite.com/my_billing_notification_url"
}]
}]
}
Fullpage Interstitial (Mobile and Desktop) JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [
{
"bid": [
{
"id": "54f6f08b2e323e32ea9ec4fd6944d652c842699a",
"impid": "974090632",
"price": 0.05,
"adm": "http://network-domain.com/fpi-render.php?data=TVRjME9UZ31",
"ext": {
"btype": 1,
"asset_mime_type": [
"video/mp4"
]
},
"nurl": "http://network-domain.com/win-notification",
"iurl": "http://network-domain.com//your_video.mp4",
"cid": "7561981",
"crid": "195600_115116261",
"cat": [],
"adomain": [
"www.test.com"
],
"w": 900,
"h": 1600,
"attr": []
}
]
}
],
"cur": "EUR"
}
Native: JSON
{
"id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
"seatbid": [
{
"bid": [
{
"id": "12ab3d",
"impid": "1915966848",
"price": 0.71,
"nurl": "https://mysite.com/my_notification_url",
"burl": "https://mysite.com/my_billing_notification_url",
"adm": "<EXADS_JSON_AD_MARKUP_1>",
"ext": {
"btype": 1
}
}
]
},
{
"bid": [
{
"id": "12ab3e",
"impid": "1915966848",
"price": 0.62,
"nurl": "https://mysite.com/my_notification_url_2",
"burl": "https://mysite.com/my_billing_notification_url",
"adm": "<EXADS_JSON_AD_MARKUP_2>",
"ext": {
"btype": 1
}
}
]
}
]
}
ADM Examples
The examples below shows examples of data used in this ADM parameter.
Banner: HTML
<a href=\"https:\/\/dsp.com\/click-tracker.php?data=H4sIAAAAA...8Da8a74VIAQAA\" target=\"_blank\" ontouchstart=\"\" onclick=\"var href='https:\/\/dsp.com\/click-tracker.php?data=H4sIAAAAA...8Da8a74VIAQAA'; this.href = href + '&clickX=' + event.clientX + '&clickY=' + event.clientY;\"><img width=\"300\" height=\"250\" src=\"https:\/\/adasset.dsp.com\/images\/uid123\/7fed7f2794236bc6544da662be1368a1f5d73e91.jpg\" border=\"0px\" style=\"\"><\/a><img src=\"https:\/\/dsp.com\/impression.php?data=TVRZM056UTVOak...2Y1Yw--\" width=\"1\" height=\"1\" border=\"0\" \/>
Popunder
http://dsp.com/landingpages/mypage
Video: XML
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="3.0">
<Ad id="5834901">
<Wrapper>
<AdSystem>exads.rocks</AdSystem>
<VASTAdTagURI>
<![CDATA[https://syndication.exads.rocks/vastd.php?vast3=z9pZSYLfpb3qpG0RJ.0gI32rpP73chaIiN9X6ZArxe7niAsfxUFnyIxINcsOqK9a2SsPeKBqVQDrKHBKqXC6VTxnpaynuAsYBU9X8q5FctZSFFY9YtYyGr5bysY1cq5KFC5T.h8J5ivWqVsZ6XfV7Uv_8rFo6o3raxvraPQJao2Y1xoNfpUFRICx5VAHgoX2vFL1uJHueIQOsoQNnpb.loYEtJoCe0a.a5kEqoQNspL5jpr3t5kFa17thUcGg5T3a160spICu4oFvI3x90a.a5oEtUbMa40Gv0qCokBY8qgKwcl7WUIB36N8fdTCKqIFKqTBneY97yY7niN__zLe95KBdxJWkOohrXMhdzE2iIjfdtKgldKCtlIAFWoWl_lv5rXrSxmQa5l8ylU_88Sg3bxH3WQwNZSABbzXnYS3nbzFh_ooFv0BY.UkBXcUC3kb4.6taQ6iGtcyF3MTaIiN63EkBWsUDVyNfNc0CWqNmNcaDX6VBUSAseVQFYOS9rKEA79G.PuphFVEClVJgzvMe95MdzxCAPtKf1dMe7XQ30Kjg0HKe7WvWlZIB_5kPe_RNo6o4PdyFoiI31fpkCvF7ueICx_J3w7Y31qpj7uJKwwIX5u4Xw_ymDV0oLUqgC3EkBWsUDVytaQ6iGtcyF3MTaIiOBXcgE3cUC3iNfNcgEV8oD35GzGtUwkRUwkRVwndUwnlGvmuaBLVGzGuNBr9KgqJAWPKoCsHJe1lCAd.jfH3UwiqiBSqkwZ3mPe8mO54lQS4iBSulBV6VQWuhBVrob6FRwaDlPdrXrS5lvHwlve8l7R1RvHviwWumLRERsJ5XsJ5XsJ_qWE8qlo6o4PdyFoiI31fpkCvF7ueICx_J3w7Y31qpj7uJKwwIX5u4Xw_ymDV0oLUqgJXcgE3cUC3i0C10IKtdD38ehkgiA--&exo_cid=5834901]]>
</VASTAdTagURI>
<Impression id="exotr">
<![CDATA[https://syndication.exads.rocks/vregister.php?a=vimp&tracking_event=impression&idzone=4998567&038cf5487b223cedcd8aadd7a112cc15=tsVuZ8uHLnt4eNvDjq48fXDr648ddlTlK8E.fHhu6ct3Ddx1tTWS104ZqKKa4G42JXrGHnM.nHXVBW4u_NVXKxI5nPTBa5U5fNPKxI5ulj1wNsN2uU1wVOU58fPXtw4a4G57GY4Kn3Kc.Pnr24cNcDdUFbmffj48.eGuBvGaVzPp58.OvbvrgbaYrcempwz68PGuBtpiSdiB6XPr459PPDjrgbtYpgYrgmlz8c.XPl458dcDc1WfHtrgbZpmuqcpz5a4G23LYGnM.GuBtpimmBynPhrgbgqnz4a6rGc.PLlx12sR2OZ8N3bn41z2MxwVPuUr0sVuZ9eGuexmOCp9yldqymlyVrDMFE7W0xJOxA9Ku1ZTS5K1hmCidrcvafYlecXrmXnsZjgqfcpz463L2n2JXnF65l5XK7pqYs.O7h348tbDa9eE7mfThrdmpkYrz1wNyuV3TUxZ8dbU1ktdOC81MD0ErEeaiimt.uude9d2am5iltxtd2anPXA3PTM3Y1Wu0xW49NThnw1z0wNQSvLyTNuR58tb9dc9WfHXU1S45KvS5VNHZXBNLnwv4a7KnKV4G8.vfr55O8.fN3x58c93Dpz6.O_Hty5eOXTj14duuuymNd9ip_Pt16.GujbrPPz17sefPTr46dmubTXPjx4utNa4JJ6XKqoJpV6q2K7Ks.OuCSelyqqCaVeCW1iOBtelxiqaXPhrpcdcpcpXqgrcXfmqrlYkczqgrcbmkYgl3NTSa2G2Y5mos.GuBuZ11ynPhrgbjYlbgleXnYecz4a3L3GrK4JpV64JHM.GuBttithpyWtynPhrgbaYppgcpXqmspacz4a5ZqmqYJ68.GuCVqZ6WCuZeSZtzPhrrcqrXkmbcz4a6XHoJpV3nJpWJHF4G8.Guema_BeqtiuyrPbx1wNzsU1yuU58.fXW1BXgu85NKxI4vA3nw1yuVsNWQV4Lz0zX4L14TuZ65XK2GrIK8F56Zr8F23KmqYJ64Jpc9bDbMczUS9rlOeuCSelyqqCaVdiONeCW1iOBtelxiqaWrPhrqsZ5Z8NdVjPPPhrqapgnrXrwncz11NUwT1rysSOZ66mqYJ617XKc9bNM11TlK9rlOfDXbTnw1wS1uUysR58Ncsy7tkrdWfDXA3S5VPNLVBa4vGxhNZXnw1wNyWR1wYzSuZ8NdlTlK7TE88Er2fDXZU5Su0xPPBK8u7S5RY5K1hnw1uSMQRrwVT58NdTVME9a7blbEEefjXU1TBPWva5TVBNLnx1s2Ux5v11z1et..rCVuBpiuCaXc5ew3Vupmaiq31uVVr01srswRxwSvbp35_leE7nuayuqulxiRe1iqvXA2w3a5TXBU5Suw2vXhO5ny464G56Zr8F68J3M.XnXbZZA3nx7eeHnhy58ePXv18.fPDh57dGvPF3l3a8dGemuuCRyqtiSfPj288PPDlz48dbU00UDjU0tTktefGA-]]>
</Impression>
<Error>
<![CDATA[https://syndication.exads.rocks/vregister.php?a=vview&errorcode=[ERRORCODE]&idzone=4998567&dg=5834901-XXX-83232831-2-0-1-1-Wrapper]]>
</Error>
<Creatives>
<Creative sequence="1" id="83232831">
<Linear>
<TrackingEvents>
<Tracking id="prog_1" event="progress" offset="00:00:10.000">
<![CDATA[https://syndication.exads.rocks/vregister.php?a=vview&tracking_event=progress&progress=00:00:10.000&idzone=4998567&038cf5487b223cedcd8aadd7a112cc15=tsVuZ8uHLnt4eNvDjq48fXDr648ddlTlK8E.fHhu6ct3Ddx1tTWS104ZqKKa4G42JXrGHnM.nHXVBW4u_NVXKxI5nPTBa5U5fNPKxI5ulj1wNsN2uU1wVOU58fPXtw4a4G57GY4Kn3Kc.Pnr24cNcDdUFbmffj48.eGuBvGaVzPp58.OvbvrgbaYrcempwz68PGuBtpiSdiB6XPr459PPDjrgbtYpgYrgmlz8c.XPl458dcDc1WfHtrgbZpmuqcpz5a4G23LYGnM.GuBtpimmBynPhrgbgqnz4a6rGc.PLlx12sR2OZ8N3bn41z2MxwVPuUr0sVuZ9eGuexmOCp9yldqymlyVrDMFE7W0xJOxA9Ku1ZTS5K1hmCidrcvafYlecXrmXnsZjgqfcpz463L2n2JXnF65l5XK7pqYs.O7h348tbDa9eE7mfThrdmpkYrz1wNyuV3TUxZ8dbU1ktdOC81MD0ErEeaiimt.uude9d2am5iltxtd2anPXA3PTM3Y1Wu0xW49NThnw1z0wNQSvLyTNuR58tb9dc9WfHXU1S45KvS5VNHZXBNLnwv4a7KnKV4G8.vfr55O8.fN3x58c93Dpz6.O_Hty5eOXTj14duuuymNd9ip_Pt16.GujbrPPz17sefPTr46dmubTXPjx4utNa4JJ6XKqoJpV6q2K7Ks.OuCSelyqqCaVeCW1iOBtelxiqaXPhrpcdcpcpXqgrcXfmqrlYkczqgrcbmkYgl3NTSa2G2Y5mos.GuBuZ11ynPhrgbjYlbgleXnYecz4a7YG3Jl3LXJa89blNM1LUzbmeuBttithpyWtynPhrgbaYppgcpXqmspacz4a5ZqmqYJ68.GuCVqZ6WCuZeSZtzPhrrcqrXkmbcz4a6XHoJpV3nJpWJHF4G8.Guema_BeqtiuyrPbx1wNzsU1yuU58.fXW1BXgu85NKxI4vA3nw1yuVsNWQV4Lz0zX4L14TuZ65XK2GrIK8F56Zr8F23KmqYJ64Jpc9bDbMczUS9rlOeuCSelyqqCaVdiONeCW1iOBtelxiqaWrPhrqsZ5Z8NdVjPPPhrqapgnrXrwncz11NUwT1rysSOZ66mqYJ617XKc9bNM11TlK9rlOfDXbTnw1wS1uUysR58Ncsy7tkrdWfDXA3S5VPNLVBa4vGxhNZXnw1wNyWR1wYzSuZ8NbkjEEa8FU.fDXU1TBPWu25WxBHn411NUwT1r2uU1QTS58dcDbDdrlNcFTlK7Da9eE7mfLjrgbnpmvwXrwncz5eddtlkDefHt54eeHLnx49Ofjz548O3Xt0a88XeXdrp25u664JHKq2JJ8.Pbzw88OXPjx1tTTRQONTS1OS158YA--]]>
</Tracking>
</TrackingEvents>
<VideoClicks>
<ClickTracking>
<![CDATA[https://syndication.exads.rocks/click.php?data=H4sIAAAAAAAAA6VTS4.rOgz.K2czy4NCQiAsgZYW6NDX8OqmorzKQAlvaJUff5g5V3eku71yYln2F8efLWOCBBnwTESE3fu.7t6Q8gb15XTPKs6jsM9pxSVzGHdcS6OiWyJj2PUxV9_rN_Rtoze0esn15Rzs0vqGmnoDTiYHMgPBtj5IKLqHRm7LvnhR2jmRqlzp0tnRq6cxG3bU7RtLDuG5OySW2rjHVWttVavxNdH9mKs6fFaD0gWqI_ukwXrUX866HshBHzw3Lb49u4CPGmzpGv7g7sTE.eg1bncR_dSVnPFKWp2KFLXhPLbh4WiGFAb8TO20dvSToc3YVbYZ9eGo7_jB3A6Jcdx39GhX9Y0rabDuTaolIORCXKybxd_VO_xZt6jHhR7yUn93ok2GP1DIi6CrDW0QqD4aaJa_39B179zeQwFsRtBotFAD0mTWFJWS5xgqEm2Sxh.a1Ri61XyoVRLI0jNYGmRfr69dImNLjWfTK_b03vrv9_i1hrnxmca9lZWxpfWloege9cprOeLWb8_z4xjikjxL50rIOUO3eYu842Rfzop6e_lVcEbV7aXfr3QpEqgB5xSqHzkaKm4CJ_bhUcw3ffTU0fvH18REtC5Ur3NW7tNO7QhoXmM_7Chc.aKrOmelS9yjHuzPcmutFUnecIehvuvuWitdM3uN7wuB9_g1a8qht1I.fk8k_4iA9ZmBrZVI3uiVF0O94uKQXE_2MiXhED91mhuIT.tCG3VpmYY2X000SQHim_pTGkxrmgwfD4I_XZ.PlQvozmky7afQ_5LYLwSzNfoimX.RyNYuoSuEN69N70zF6eu6UxU7U1VuxscQqjt3iQ222spW1piKd7Co1m3NhC81JeY.0y1yprzJ1XNTTBf0OCTkscdCeTwLi28oVVd0j95wV92W3kT9NIWr8hB_TQeX43Yqx4SU0ok_jdsxn7zhsTutT52J_b_32nhr0pT_pxnmD2Gg8cCw.niFSHIvslz5_fsNislMr1EeL0uL_1l.xkPIM16UgQwg4nlWt_mYdAuwrsJHwlUl4wEnQA5wPCMIIkgQzwRZJliUGAaEMYFncMnAwCJsycUYlrAMU4RQSmSCOCAgTCRehJBAgcdAxAtSxJhEQpzekIylUJYFTAQxQlG0FMGnUbTkAazL.ySmjzCvuIg.vn8A7FeZp0nXP8vk13140KH9xb7BP8L.6h8H_Nci31DG4LK0i2JQZqPI9hYTklQAkhjeJCCh5CbgGEpQSkUIgJCIIfwDsvgSSC4FAAA-&noredirect=1]]>
</ClickTracking>
</VideoClicks>
</Linear>
</Creative>
</Creatives>
</Wrapper>
</Ad>
</VAST>
Native Ads: JSON
For native ads the adm parameter should contain a JSON encoded string like this:
{\"native\":{\"link\":{\"url\":\"http:\/\/mysite.com\/landingpages\/mypage\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"http:\/\/mysite.com\/images\/myad.jpg\",\"w\":300,\"h\":300,\"ext\":{\"crop_anchor_point\":1}}},{\"id\":2,\"title\":{\"text\":\"Ad Title\"}},{\"id\":3,\"data\":{\"type\":2,\"value\":\"Ad description\"}},{\"id\":4,\"data\":{\"type\":1,\"value\":\"Ad brand\"}},{\"id\":5,\"ext\":{\"crop_anchor_point\":1}}],\"imptrackers\":[\"https://mytracker1.com\"],\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://myEventTracker1.com\"}]}}
- crop_anchor_point: MIDDLE_CENTER = 0, TOP_LEFT = 1, TOP_CENTER = 2, TOP_RIGHT = 3, MIDDLE_LEFT = 4, MIDDLE_RIGHT = 5, BOTTOM_LEFT = 6, BOTTOM_CENTER = 7, BOTTOM_RIGHT= 8 (integer) - not mandatory
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": 300,
"h": 300,
"ext": {
"crop_anchor_point": 1
}
}
},
{
"id": 2,
"title": {
"text": "Ad Title"
}
},
{
"id": 3,
"data": {
"type": 2,
"value": "Ad description"
}
},
{
"id": 4,
"data": {
"type": 1,
"value": "Ad brand"
}
}
],
"imptrackers": [
"https://mytracker1.com",
"https://mytracker2.com"
],
"eventtrackers": [
{
"event": 1,
"method": 1,
"url": "https://myEventTracker1.com"
}, {
"event": 1,
"method": 1,
"url": "https://myEventTracker2.com"
}
]
}
}
Push Notification Ads: JSON
For Push Notification ads the adm parameter should contain a JSON encoded string like this (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\"}}],\"imptrackers\":[\"https://mytracker1.com\"]}}
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"
}
}
],
"imptrackers": [
"https://mytracker1.com"
]
}
}
* Only one imptracker URL is allowed in the case of Push Notification ads * We use the 'native' object for push notification ads
No Bid Response
To answer a bid request without making an actual bid, an HTTP response code 204 "No Content" should be sent.