Platform Integration: Publishers
This document explains how to integrate with the Ozone Platform by modifying your current prebid.js client-side integration.
No change to existing demand partner configuration:
The changes outlined here are to add and configure the Ozone Prebid Adapter to your Prebid.js build. There is no direct impact or modifications to your current demand partner setup and configurations.
New ids will be sourced from SSP Partners and these will configured in Prebid Server.
Integration Pre-requisites
In order to implement the Ozone Prebid Adaptor – the following pre-requisites are assumed:
- A Lotame integration using the Lotame Extraction API is present on your site
- Prebid.js is installed on your site. You are implementing Prebid.js as part of this process
Summary of changes
Create Ozone Placements
Add the Ozone Adaptor to your Prebid.js build
Include Ozone in your ad unit configuration
Add Ozone IDs to your CMP and Ads.txt file
Create DFP Line Items for ozone bidder.
Prebid.js Version
Note: If your current version of prebid.js is older than v.1.0 you’ll need to amend your code because some methods have been deprecated and this integration requires you to be on a version of prebid 1.0 or higher. See Appendix A for more details.
1. Create Ozone Placements
Ozone creates placement IDs to mirror your site structure that we use to map your SSP configurations. Your Ozone Technical Account Manager will work with you to create these.
2. Add the Ozone Adapter to your Prebid.js build
Ozone uses a custom Prebid.js adapter to transmit your ad requests to the Ozone Service. Ozone can provide a Prebid.js build if the adaptor is not available for you to download on Prebid.org
For custom builds of prebid the Ozone Adapter code can be found here:
https://github.com/prebid/Prebid.js/blob/master/modules/ozoneBidAdapter.js
Include Ozone in your ad unit configuration
To ensure that the Ozone Adapter is configured correctly your site ad unit configuration will need to be modified to map your Ozone placement IDs to the correct ad units.
Below is an example of a sample ad unit configuration for the Ozone Adaptor which you will replicate with your existing adUnit configuration.
var adUnits = [{ code: 'div-gpt-ad-1460505748561-0', mediaTypes: { banner: { sizes: [ [300, 250], [300, 600] ] } }, bids: [{ bidder: 'appnexus', params: { placementId: '10433394' }, bidder: 'ozone', params: { publisherId: 'OZONETEST001' siteId: '4204204201', placementId: '0420420421' customData: {"key1": "value1", "key2": "value2}, ozoneData: {"key1": "value1", "key2": "value2"}, lotameData: {"Profile": {"tpid":"4e5c21fc7c181c2b1eb3a73d543a27f6","pid":"3a45fd4872fa01f35c49586d8dcb7c60","Audiences": {"Audience":[{"id":"439847","abbr":"all"},{"id":"446197","abbr":"Arts, Culture & Literature"},{"id":"446198","abbr":"Business"}]}}} } }] } }];
The Ozone Adaptor has 6 attributes that you will need to add:
- Publisher ID – your ozone rep will provide this to you once your placement structure has been agreed with them.
- Site ID – your ozone rep will provide this to you once your placement structure has been agreed with them.
- Placement ID – your ozone rep will provide this to you once your placement structure has been agreed with them.
- lotameData - a JSON object that allows you to send the lotame Profile and Audience objects their extraction API returns on page.
- ozoneData - a placeholder to send a JSON object that allows you to pass key-value pairs for sending targeting data that Ozone have requested. (Optional)
- customData - a JSON object that allows you to pass key-value pairs for any targeting data you typically send to SSPs.
3. Add Ozone to Ads.txt
Please add to Ozone to your Ads.txt file:
#Ozone appnexus.com, 9979, DIRECT
4. Add Ozone to your CMP vendor list
Please add Ozone to your CMP: Ozone Vendor 524
{ "id": 524, "name": "The Ozone Project Limited", "policyUrl": "https://ozoneproject.com/privacy-policy", "purposeIds": [ 1, 2, 3 ], "legIntPurposeIds": [], "featureIds": [ 2, 3 ] }
5. Create DFP line items
Ensure you have a DFP order for your Prebid line items for each price increment you are using targeting the following KVP:
hb_bidder=ozone
- style