Ad Object API
The following section describes the various eventType fields and their respective callback function signatures and data objects:
Callback Function Signature: function(){}
Data objects: N/A
Callback Function Signature: function(adObj){}
Data objects:
adObj = {
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$',
adType : 'banner', // could also be 'video' or 'native'
auctionId : '123456',
buyerMemberId : 999, creativeId : 53122972,
source : 'rtb', // could also be 'csm'
tagId : 6051399,
banner : {
// will match adType above; based on source // SEE BELOW
}
}
Ad Type can be a banner, video, or native. See the adType object section below for more examples.
When source is real-time bidding (rtb), the Ad Object includes the ad; when source is client-side mediation (csm), it includes just the creative ID.
Callback Function Signature: adLoaded
Data objects: Ad Object is the same as for adAvailable
.
Callback Function Signature: function(adObj) {}
Data objects: Ad Object is the same as for adAvailable
.
Callback Function Signature: function(adObj){}
Data objects:
adObj = {
auctionId : '123456',
nobid : true,
tagId : 6051399,
}
Note
When using Mediation, normally a mediated bid would return alongside an RTB bid for the same placement/slot. There is a chance the auction request may only return a mediated bid. In a normal response, if the mediated bid does not return with a creative it would attempt to fall back to the RTB bid's creative. In the case when there is no RTB bid present, the Mediation script would load the adNoBid event to signify the lack of an available RTB bid. In this case, the adObj will not be populated and the object will be undefined since there is no fallback RTB bid object present.
Callback Function Signature: function(adError){}
Data objects:
adError = {
code : 0
errMessage : 'error message';,
exception : e,
targetId : 'apn_ad_slot_1'
}
Callback Function Signature: function(adError, adObj){}
Data objects: adError
is the same as for adRequestFailure
.
Ad Object is the same as for adAvailable
.
Callback Function Signature: function(adError){}
Data objects: The tag called a placement that doesn't exist. This could indicate an error from the Impression Bus.
adError = {
code : 0
errMessage : 'error message';,
exception : e,
targetId : 'apn_ad_slot_1'
}
Callback Function Signature: function(){}
Data objects: N/A
Callback Function Signature: function(adObj)
Data objects:
adObj = {
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: "$"
creativeId : 12345678,
contentSource : 'csm',
targetId : 7654321,
width: 728
height: 90
banner : {
width: 728,
height: 90,
content: "<!-- Creative 26299226 served by Member 12345 via Xandr --><a href=\"http://lax1.ib.adnxs.com/click?AAAAAAAA6D8AAAAAAADoPwAAAAAAAPA_AAAAAAAA6D8A…"
}
}
Callback Function Signature: function(adObj)
Data objects:
adObj = {
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$'
creativeId : 12345678,
contentSource : 'csm',
targetId : 7654321,
width: 728
height: 90
banner : {
width: 728,
height: 90,
content: "<!-- Creative 26299226 served by Member 12345 via AppNexus --><a href=\"http://lax1.ib.adnxs.com/click?AAAAAAAA6D8AAAAAAADoPwAAAAAAAPA_AAAAAAAA6D8A…"
}
}
The adType object specifies the type of ad (banner, native, or video) and the source of the ad, either real-time bidding (rtb) or client-side mediation (csm).
The following section describes examples for the various adType objects:
adObj = {
adType: "banner",
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$',
isExclusive: false,
isRoadblock: false,
source: "rtb",
creativeId: 26299226,
targetId : "target_id_123",
banner: {
width: 728,
height: 90,
content: "<!-- Creative 26299226 served by Member 12345 via AppNexus --><a href=\"http://lax1.ib.adnxs.com/click?AAAAAAAA6D8AAAAAAADoPwAAAAAAAPA_AAAAAAAA6D8A…",
trackers: [{
impression_urls: ["http://lax1.ib.adnxs.com/it?e=wqT_3QK2BMAtAgAAAgDWAAUIo4aftQUQhaGP-8eK89JxG…S4xMy4xMzKoBO6QCbIEBwgAEAAY2AU.&s=7674360f6a0ea8c3ba7018acd3467ba291de4ad0"]
}]
},
// other data in adObj omitted for brevity
}
adObj = {
adType: "banner",
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$',
source: "csm",
creativeId: 47259021,
targetId : "target_id_123",
// other data in adObj omitted for brevity
}
adObj = {
adType: "video",
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$',
source: "rtb",
creativeId: 47259021,
targetId : "target_id_123",
video: {
duration: 20000,
playbackMethods: ["auto_play_sound_on"],
frameworks: [],
content: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><VAST version=\"2.0\">...."
},
// other data in adObj omitted for brevity
}
adObj = {
adType: "video",
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: '$',
source: "csm",
creativeId: 47211028,
targetId : "target_id_123",
// other data in adObj omitted for brevity
}
adObj = {
adType": "native",
cpm: 10,
cpm_publisher_currency: 10,
publisher_currency_code: "$",
source": "rtb",
targetId: "target_id_123",
renderer_id: 123,
renderer_url: "https://renderer.url.com/here",
native: {
title: "Native Creative Title",
body: "Native creative body.",
icon: {
width: 0,
height: 0,
url: "http://cdn.adnxs.com/p/5d/f0/53/fb/5df053fbcb7...png"
},
image: {
width: 2352,
height: 1516,
url: "http://cdn.adnxs.com/p/d9/d9/c7/3f/d9d9c73fb6aed0ba9...jpg"
},
cta: "Click Here",
sponsoredBy: "AppNexus",
impressionTrackers: [
"http://lax1-ib.adnxs.com/it?e=wqT_3QKqBqgqAwAAAwDWAAUBC..."
],
clickTrackers: [
"http://lax1-ib.adnxs.com/click?AAAAAAAA8D8AAAAAAADwPwA..."
],
javascriptTrackers: "",
clickUrl: "https://www.appnexus.com",
clickFallbackUrl: ""
}
}