Xandr Monetize: Passing Contextual Data

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.

Prebid.js Integration (Client Side)

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 bids.params.keywords field
  • iris_id: pass in the content.id field 

See this example:

<script> 

      var div_1_sizes = [ 

        [300, 250], 

        [300, 600] 

      ]; 

      var adUnits = [ 

        { 

          code: '/19968336/header-bid-tag-0', 

          bids: [{ 

            bidder: 'appnexus', 

            params: { 

              placementId: 13144370 

               keywords: { iris_context: ['ic_8930368', 'ic_3753543']  

            } 

          }] 

        } 

 

  

    pbjs.setConfig({ 

                    "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" 

                     }, 

                }) 

Prebid Server Integration (Server Side)

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 bids.params.keywords field
  • iris_id: pass in the content.id field 

See this example:

var adUnits = [ 



    code: 'test-div',  

    sizes: [ 

        [300, 250], 

        [728, 90] 

    ],   

    bids: [{ 

      bidder: 'Xandr', 

      params: { 

        publisherId: '123456',             

        placement_id: 'Xandr_test2',          

        keywords: { iris_context: ['ic_8930368', 'ic_3753543'] 



      } 

    }] 

}]; 

  

    pbjs.setConfig({ 

                    "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" 

                     }, 

                }) 

 

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

It is strongly recommended you 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.

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":"iris_context=ic_8930368,ic_3753543,ic_6902683,ic_3274730 

        } 

    }, 

"content": { 

     "id": "iris_5acf886d06f05102", 

     }, 

 } 

app.keywords (CTV and Mobile Apps)

"app": {  

"keywords":"iris_context=ic_8930368,ic_3753543,ic_6902683,ic_3274730"  

       }  

   }, 

"content": { 

     "id": "iris_5acf886d06f05102", 

     }, 

}

Tag-Based Integration

  • iris_context: pass information as key values. Pass the values in the "kw_iris_context" key
  • iris_id: pass the ID using parameter content_id

See this example: 

https://secure.adnxs.com/ptv?id=24008834&appid=&ifa=&ifa_type=idfa&vwidth=&vheight=&skippable=&vmaxduration=&kw_iris_context=ic_8930368,ic_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.