| layout | title | description | biddercode | tcfeu_supported | dsa_supported | gvl_id | usp_supported | coppa_supported | gpp_sids | schain_supported | dchain_support | userIds | media_types | safeframes_ok | deals_supported | floors_supported | fpd_supported | pbjs | pbs | prebid_member | multiformat_supported | ortb_blocking_supported | privacy_sandbox | sidebarType |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bidder |
Equativ |
Prebid Equativ Bidder Adapter |
equativ |
true |
true |
45 |
true |
true |
tcfca, tcfeu, usnat, usstate_all, usp |
true |
false |
all |
banner, video, native |
true |
false |
true |
true |
true |
false |
false |
will-bid-on-any |
true |
false |
1 |
The Equativ bidder adapter requires setup and approval from the Equativ service team. Please reach out to your account manager for more information to start using it.
{: .table .table-bordered .table-striped }
| Name | Scope | Description | Example | Type |
|---|---|---|---|---|
networkId |
required | The network identifier you have been provided with. Normally required, but there are certain conditions under which this may be omitted. See Bid Parameter Usage notes below for more information. | 1234 |
integer |
siteId |
optional | The placement site ID. See Bid Parameter Usage notes below for more information. | 1234 |
integer |
pageId |
optional | The placement page ID. See Bid Parameter Usage notes below for more information. | 1234 |
integer |
formatId |
optional | The placement format ID. See Bid Parameter Usage notes below for more information. | 1234 |
integer |
Different combinations of parameters are required depending upon which ones you choose to use.
There are two options for passing Equativ-specific bidder parameters: through bidder params, or through ortb2.
Publishers can specify required and/or optional parameters through the bidder params object hierarchy like this:
var adUnits = [
{
/// ... mediaType and other stuff here
bids: [
{
bidder: 'equativ',
params: {
networkId: 42, // REQUIRED
siteId: 142, // optional
pageId: 242, // optional
formatId: 342, // optional
},
},
],
},
];A second way to specify Equativ-specific bidder parameters is through the ortb2 object. The example below references a ortb2.site.publisher.id hierarchy, but publishers can also use ortb2.app.publisher.id or ortb2.dooh.publisher.id as their needs dictate.
pbjs.setBidderConfig({
bidders: ['equativ'],
config: {
ortb2: {
site: {
publisher: {
id: 42,
},
},
},
},
});{: .table .table-bordered .table-striped }
| Type | Support |
|---|---|
banner |
Supported |
video |
Supported |
native |
Supported |
To enable cookie syncing, make sure the configuration setup is properly invoked.
This involves adding an entry for setConfig() that allows user syncing for iframes with 'equativ' included as a bidder:
pbjs.setConfig({
userSync: {
filterSettings: {
iframe: {
bidders: ['equativ'],
},
},
},
});And also making sure that storage is enabled for equativ.
{% include dev-docs/storageAllowed.md %}
pbjs.bidderSettings = {
equativ: {
storageAllowed: true,
},
};As mentioned in the Bid Params > Usage section, when including 'equativ' as one of the available bidders in an adunit setup, there are two approaches to how publishers can specify parameters. The below example uses the approach using the params object.
var bannerAdUnits = [
{
code: 'div-123',
mediaTypes: {
banner: {
sizes: [
[600, 500],
[300, 600],
],
},
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42, // REQUIRED
siteId: 142, // optional
pageId: 242, // optional
formatId: 342, // optional
},
},
],
},
];
pbjs.que.push(function () {
pbjs.addAdUnits(bannerAdUnits);
});As mentioned in the Bid Params > Usage section, when including 'equativ' as one of the available bidders in an adunit setup, there are two approaches to how publishers can specify parameters. The below example uses the approach using the params object.
Note that the optional, recommended and REQUIRED comments apply to the property itself, and not necessarily the values used in this example (i.e. skip is a recommended property to include, but it is up to publishers to decide what particular value it should have).
var videoAdUnits = [
{
code: 'div-123',
mediaTypes: {
video: {
context: 'instream',
mimes: ['video/mp4'], // REQUIRED
linearity: 1, // optional
minduration: 10, // recommended
maxduration: 30, // recommended
placement: 1, // REQUIRED
skip: 1, // recommended
startdelay: 1, // recommended
pos: 1, // optional
playbackmethod: 1, // optional
battr: [10, 11], // optional
api: [1, 2], // optional
playerSize: [640, 480], // recommended
},
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42, // REQUIRED
siteId: 142, // optional
pageId: 242, // optional
formatId: 342, // optional
},
},
],
},
];
pbjs.que.push(function () {
pbjs.addAdUnits(videoAdUnits);
});Following the setup described here, this adapter supports scenarios where the publisher does not provide a custom renderer. In such cases, the configuration shown below will work, and the outstream ad will be rendered using Equativ's default player.
var adUnits = [
{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [
[300, 250]
]
},
video: {
context: 'outstream',
mimes: ['video/mp4'],
placement: 3,
playerSize: [300, 250]
}
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42
}
}
]
}
];As mentioned in the Bid Params > Usage section, when including 'equativ' as one of the available bidders in an adunit setup, there are two approaches to how publishers can specify parameters. The below example uses the approach using the params object.
var nativeAdUnits = [
{
code: 'native-div',
mediaTypes: {
native: {
adTemplate: `<div class="sponsored-post">
<div class="thumbnail" style="background-image: url(##hb_native_asset_id_2##);"></div>
<div class="content">
<h1>
<a href="%%CLICK_URL_UNESC%%##hb_native_linkurl##" target="_blank" class="pb-click" hb_native_asset_id="1">##hb_native_asset_id_1##</a>
</h1>
<p>##hb_native_asset_id_9##</p>
<div class="attribution">##hb_native_asset_id_6##</div>
</div>
</div>`,
ortb: {
context: 1,
plcmttype: 1,
assets: [
{
id: 1,
required: 1,
title: {
len: 80, // Title (corresponds with id 1 from ad markup)
},
},
{
id: 2,
required: 1,
img: {
type: 3, // Main Image (corresponds with id 2 from ad markup)
w: 300,
h: 180,
},
},
{
id: 6,
required: 1,
img: {
type: 1, // Additional image (corresponds with id 6 from ad markup)
w: 100,
h: 100,
},
},
{
id: 9,
required: 1,
data: {
type: 2, // Additional text (description) (dodatkowy )corresponds with id 9 from ad markup)
},
},
],
eventtrackers: [
{
event: 1,
methods: [1],
},
],
ver: '1.2',
privacy: 1,
},
},
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 73,
formatId: 142,
pageId: 242,
siteId: 342,
},
},
],
},
];
pbjs.que.push(function () {
pbjs.addAdUnits(nativeAdUnits);
});It is possible to specify audio inventory through the Equativ adapter. To do so, publishers can define a video-formatted ad unit and specify audio information through the ortb2Imp property, like the example shown below.
Note that the optional, recommended and REQUIRED comments apply to the property itself, and not necessarily the values used in this example (i.e. minduration is a recommended property to include, but it is up to publishers to decide what particular value it should have).
var audioAdUnits = [
{
code: '/19968336/header-bid-tag-1',
mediaTypes: {
video: {
context: 'instream',
playerSize: [640, 480],
},
},
ortb2Imp: {
audio: {
mimes: ['audio/mpeg', 'audio/mp4'], // REQUIRED
api: [7], // optional
delivery: [2, 4], // optional
minbitrate: 128, // optional
maxbitrate: 192, // optional
minduration: 10, // recommended
maxduration: 30, // recommended
maxextended: -1, // optional
protocols: [1, 3, 4, 7], // recommended
startdelay: 5, // recommended
},
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 1234,
},
},
],
},
];
pbjs.que.push(function () {
pbjs.addAdUnits(audioAdUnits);
});{: .alert.alert-warning :} Note: If a demand partner of Equativ is not capable of reading an audio object, the audio object will be converted into a video object with audio mime types. There is, as of this writing, no built-in/default support for serving audio assets in Prebid, so publishers that wish to do so will need to ensure their ad server setups can process whatever hand-offs are necessary.
var adUnits = [
{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [
[300, 250],
[300, 600]
]
},
video: {
context: 'outstream',
mimes: ['video/mp4'],
placement: 3,
playerSize: [300, 250]
},
native: {
title: {
len: 80,
required: true
},
image: {
required: true,
sizes: [300, 150]
}
}
},
floors: {
currency: 'USD',
schema: {
fields: ['mediaType']
},
values: {
'banner': 1.04,
'video': 1.87,
'native': 1.35
}
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42
}
}
]
}
];var adUnits = [
{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [
[300, 250],
[300, 600]
]
},
video: {
context: 'outstream',
mimes: ['video/mp4'],
placement: 3,
playerSize: [300, 250]
},
native: {
title: {
len: 80,
required: true
},
image: {
required: true,
sizes: [300, 150]
}
}
},
floors: {
currency: 'USD',
schema: {
fields: ['mediaType']
},
values: {
'*': 1.48
}
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42
}
}
]
}
];var adUnits = [
{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [
[300, 160],
[300, 250],
[300, 600]
]
}
},
floors: {
currency: 'USD',
schema: {
delimiter: '|',
fields: ['mediaType', 'size']
},
values: {
'banner|300x250': 1.37,
'banner|300x600': 1.52,
'banner|*': 1.23
}
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42
}
}
]
}
];var adUnits = [
{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [
[300, 160],
[300, 250],
[300, 600]
]
}
},
floors: {
currency: 'USD',
schema: {
delimiter: '|',
fields: ['mediaType', 'size']
},
values: {
'banner|*': 1.19
}
},
bids: [
{
bidder: 'equativ',
params: {
networkId: 42
}
}
]
}
];Publishers should use the ortb2 method of setting First Party Data.
Keyword targeting capabilities are supported. To pass keywords, the following fields can be used: ortb2.site.keywords, ortb2.app.keywords, or ortb2.dooh.keywords.
pbjs.setConfig({
ortb2: {
site: {
keywords: 'kw_1,kw_2'
}
}
});Information about how Equativ supports the oRTB specification, along with additional examples, can be found on our OpenRTB API support site.