VDO.AI
Features
| Bidder Code | vdoai | Prebid.org Member | no |
|---|---|---|---|
| Prebid.js Adapter | yes | Prebid Server Adapter | no |
| Media Types | display, video | Multi Format Support | will-bid-on-one |
| TCF-EU Support | yes | IAB GVL ID | 1561 |
| GPP Support | check with bidder | DSA Support | check with bidder |
| USP/CCPA Support | yes | COPPA Support | yes |
| Supply Chain Support | yes | Demand Chain Support | check with bidder |
| Safeframes OK | check with bidder | Supports Deals | check with bidder |
| Floors Module Support | yes | First Party Data Support | yes |
| Endpoint Compression | check with bidder | ORTB Blocking Support | yes |
| User IDs | all | Privacy Sandbox | check with bidder |
Before you begin
Your VDO.AI account manager provides your publisherId, your host, and one adUnitId per placement you want to monetize. If you don’t have these yet, ask your account manager to create your sites and ad units.
Prebid.js 11.39 or later is recommended, as it includes the VDO.AI GVL ID (1561) used for TCF enforcement. Build Prebid.js with vdoaiBidAdapter plus the consent and user ID modules you use, for example:
gulp build --modules=vdoaiBidAdapter,consentManagementTcf,consentManagementUsp,consentManagementGpp,userId
Bid Params
| Name | Scope | Description | Example | Type |
|---|---|---|---|---|
host |
required | VDO.AI RTB host, provided at onboarding | 'ortb.vdo.ai' |
string |
publisherId |
required | Your VDO.AI publisher ID | 'your-publisher-id' |
string |
adUnitId |
required | The ad unit ID for this placement, generated on the VDO.AI platform | 'au_1a2b3c4d' |
string / integer |
adUnitType |
required | Type of ad unit ('banner' or 'video') |
'banner' |
string |
bidfloor |
optional | Minimum bid floor in USD. If the Price Floors module is configured, its floor takes precedence. If no floor is set, your ad unit or account floor on VDO.AI applies | 1.5 |
float |
custom1 |
optional | Free-form passthrough value surfaced in VDO.AI reporting | 'section:sports' |
string |
custom2 |
optional | Free-form passthrough value surfaced in VDO.AI reporting | 'custom2' |
string |
custom3 |
optional | Free-form passthrough value surfaced in VDO.AI reporting | 'custom3' |
string |
custom4 |
optional | Free-form passthrough value surfaced in VDO.AI reporting | 'custom4' |
string |
custom5 |
optional | Free-form passthrough value surfaced in VDO.AI reporting | 'custom5' |
string |
Both the Prebid.js and Prebid Server adapters support only banner and video media types, and do not support audio or native.
Banner Example
var adUnits = [{
code: 'div-gpt-ad-leaderboard',
mediaTypes: {
banner: {
sizes: [[728, 90], [970, 250]]
}
},
bids: [{
bidder: 'vdoai',
params: {
host: 'ortb.vdo.ai',
publisherId: 'your-publisher-id',
adUnitId: 'au_1a2b3c4d',
adUnitType: 'banner',
custom1: 'section:sports'
}
}]
}];
Video Example
var videoAdUnits = [{
code: 'video-div',
mediaTypes: {
video: {
context: 'outstream',
playerSize: [[640, 480]],
mimes: ['video/mp4'],
protocols: [2, 3, 5, 6],
plcmt: 4
}
},
bids: [{
bidder: 'vdoai',
params: {
host: 'ortb.vdo.ai',
publisherId: 'your-publisher-id',
adUnitId: 'au_5e6f7a8b',
adUnitType: 'video'
}
}]
}];
Fields set on mediaTypes.video (such as mimes, protocols and plcmt) are forwarded to VDO.AI.
For outstream video, the publisher must provide a renderer on the ad unit (renderer or mediaTypes.video.renderer); the VDO.AI adapter does not supply one.
For instream video served through Google Ad Manager, enable Prebid Cache so the VAST XML can be stored and retrieved:
pbjs.setConfig({
cache: {
url: 'https://prebid.example.com/pbc/v1/cache'
}
});
Multi-format Ad Units
VDO.AI bids only on the media type set in adUnitType. On a multi-format ad unit, set adUnitType to the format you want VDO.AI to bid on.
User Sync
VDO.AI uses iframe and image user syncs. To allow VDO.AI iframe syncs while keeping image syncs enabled for all bidders:
pbjs.setConfig({
userSync: {
filterSettings: {
iframe: {
bidders: ['vdoai'],
filter: 'include'
},
image: {
bidders: '*',
filter: 'include'
}
}
}
});
Prebid Server
The Prebid Server adapter uses the same bid params. Requests are sent to https://{host}/{publisherId}. Cookie sync uses the standard Prebid Server /cookie_sync and /setuid flow, and identity IDs in user.eids are passed through to VDO.AI.
{
bidder: 'vdoai',
params: {
host: 'ortb.vdo.ai',
publisherId: 'your-publisher-id',
adUnitId: 'au_1a2b3c4d',
adUnitType: 'banner'
}
}
"Send All Bids" Ad Server Keys
These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.hb_pb_vdoai |
hb_bidder_vdoai |
hb_adid_vdoai |
hb_size_vdoai |
hb_source_vdoai |
hb_format_vdoai |
hb_cache_host_vdoai |
hb_cache_id_vdoai |
hb_uuid_vdoai |
hb_cache_path_vdoai |
hb_deal_vdoai |