General Format Guidelines¶
Background¶
This page aims to describe the protocol for passing seller defined context and audience cohorts to The MediaGrid. We are following the IAB and Prebid protocol around Taxonomy and Data transparency standards outlined in this document. The MediaGrid is looking forward to see more partners adopting the notion of segtax introduced by IAB in order to allow the sellers to communicate the specific taxonomy that the data passed belongs to.
Supported Protocol¶
The MediaGrid supports 3 main bid request object nodes for sellers defined data:
User.data for audience taxonomy data
Site.content.data for contextual taxonomy data in a web environment
App.content.data for contextual taxonomy data in an app environment
User.data Format Example¶
{
...,
"user": {
"data": [
{
"name": "a-data-provider.com",
"ext": {
"segtax": 3
},
"segment": [
{ "id": "1001" },
{ "id": "1002" }
]
}
}
}
}
Site.content.data Format Example¶
{
...,
"site": {
"content": {
"data": [
{
"name": "b-data-provider.com",
"ext": {
"segtax": 3
},
"segment": [
{ "id": "1001" },
{ "id": "1002" }
]
}
}
}
}
}
App.content.data Format Example¶
{
...,
"app": {
"content": {
"data": [
{
"name": "c-data-provider.com",
"ext": {
"segtax": 3
},
"segment": [
{ "id": "1001" },
{ "id": "1002" }
]
}
}
}
}
}
Prebid Compliance¶
In order to pass the custom cohorts data using one of the oRTB2.5 objects mentioned above please use the pbjs.setConfig() method as follows:
pbjs.setConfig({
ortb2: {
user: {
data: [
{
name: 'a-data-provider.com',
segment: [
{name: 'msg', id: '2163'}
]
}
]
}
}
});
In order to comply with the method for passing real-time data with ortb2.user.data using pbjs.setConfig, please make sure your Prebid versions are:
For client-side integrations: Prebid.js 6.10+
For Prebid-Server integrations:
Prebid Server Go (Xandr hosted) - 0.205+, PBJS 5.0+
Prebid Server Java (Magnite hosted) - 0.190, PBJS 5.0+
Also, please pay attention to the following conditions:
The field segment.name is optional and can be omitted. The MediaGrid Prebid adapter will fetch the segment.name if present in the configuration. It is useful to differentiate between segment types by using segment.name when the data provider may have multiple various signals passed through the same configuration, e.g. topic and sentiment.
For app.content.data and site.content.data please use
pbjs.setConfig(ortb2: {app: {content: {data: {[]}}}})
andpbjs.setConfig(ortb2: {site: {content: {data: {[]}}}})
respectively.Please follow the Prebid specification for more details.
Checking the page request¶
Once you’ve deployed the configuration for passing real-time data to The MediaGrid you can check whether the data is being properly passed in the header bid request. Below are provided the steps for web prebid.js integration.
Open Dev Tools in your browser
Go to the Network tab
Make sure “All” is selected as the request type option
Paste “grid.bidswitch.net/hbjson?” in the filter tab
If there is a request found, click on it and go to Payload tab
Go to the user.data / site.content.data sections of the bid request payload and search for the real-time data
If you’re experiencing any issues with the above, please contact your Technical Account Manager directly or the support team using pubsupport@themediagrid.com.
Prebid RTD Modules¶
The MediaGrid is by default integrated with any real-time data (RTD) Prebid module that is utilizing the ortb2 object to store and pass the audience and context information. Below we’re calling out several modules specifically in order to show how they can be deployed as part of the Prebid wrapper and then leveraged as part of The MediaGrid Curate product.