This details how to format the iris_id KVP in the Xandr tag, Prebid, and OpenRTB integrations.
Note: IRIS.TV requires Xandr publishers to have the keywords feature enabled on your account, as the keywords field is not available by default. Please contact your Xandr representative to have this feature enabled.
OpenRTB Integration
- iris_context: pass in either the site.keywords or app.keywords field depending on your inventory
- iris_id: pass in the content object id attribute
You must pass this data to Xandr using the same object (either app or site) you are already using for existing Xandr Monetize OpenRTB integrations. This is because the bid object must not include both a site object and an app object. Only one is allowed, not both.
For OpenRTB integrations specifically, each iris_context KVP MUST be prefixed with the "perid" key.
site.keywords (Desktop and Mobile Web)
Here is an example for how Xandr requires publishers to format OpenRTB requests made using the site object:
"site": {
"keywords":"perid=ic_8930368,perid=ic_3753543,perid=ic_6902683,perid=ic_3274730"
}
},
"content": {
"id": "iris_5acf886d06f05102",
},
}
app.keywords (CTV and Mobile Apps)
"app": {
"keywords":"perid=ic_8930368,perid=ic_3753543,perid=ic_6902683,perid=ic_3274730"
}
},
"content": {
"id": "iris_5acf886d06f05102",
},
}
Prebid.js Integration
Prebid integration leverages the custom KVP object to pass in the iris_context and iris_id KVPs. Here's the documentation from Xandr on how to format custom KVPs in the Prebid: https://docs.prebid.org/dev-docs/bidders/appnexus.html
- iris_context: pass in the appnexusAuctionKeywords.perid field
- iris_id: pass in the content.id field
See this example:
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
pbjs.que.push(function() {pbjs.setConfig({
appnexusAuctionKeywords: {
perid: ['ic_8930368', 'ic_3753543']
},
"content": {
"id": "iris_5acf886d06f05102",
"title": "[title]",
"series": "[series]",
"cat": "[category]",
"contentrating": "TV - PG",
"context": 1,
"producer": "[producer]",
"id": "[network]",
"name": "[network_name]"
"len": "[seconds]",
"genre": "Comedy"
},
})
Tag-Based Integration
- iris_context: pass information as key values. Pass the values in the "kw_perid" key
- iris_id: General Users - pass the ID using parameter content_id
SpringServe Users - You can use &iris_id=
See this example:
https://secure.adnxs.com/ptv?id=24008834&appid=&ifa=&ifa_type=idfa&vwidth=&vheight=&skippable=&vmaxduration=&kw_perid=ic_8930368%2Cic_3753543&content_id=iris_5acf886d06f05102
Xandr: Passing the iris_id
The below describes how Xandr passed the iris_id into the bidstream.
Xandr passes the iris_id to DSPs via the content.id field. See the following example for where to locate the iris_id on Xandr ad requests.
Example of the iris_id in the content.id field in the content object:
"site": {
"page": "https://irisXandr.com",
"ref": "",
"publisher": {
"id": "123456"
},
"domain": "irisXandr.com",
"content": {
"title": "How to pass Content IDs",
"url": "https://irisXandr.com/video/upload/sp_hd/v123456/landscapead.m3u9",
"keywords": [],
"id": "iris_5acf886d06f05102",
"len": 40
}
},
Additional Xandr Resources
For additional details, please refer to these relevant resources from Xandr's Community Portal.
- Tag Query Parameters
- Xandr OpenRTB Specification
- Getting Started with Key Value Pairs
- Pre-Defining Key Values