Display and Video 360 supports the following OpenRTB versions:
Ensure you have the OpenRTB 2.5 Specification Guide available while consulting this page.
Display and Video 360 does not support every field in the OpenRTB specification, and nuances can apply. Sections of this document contain information and recommendations specific to the Display and Video 360 implementation. You should also follow the guidelines presented in the OpenRTB specification unless instructed otherwise.
Some fields are not supported, but are still parsed. These fields must be formatted correctly but will not affect the bidding outcome.
Bid request specification
A bid request is an HTTP Post request with a content type of application/json
and a body of a bid request object.
The corresponding response is either an HTTP 204 with no body for a no-bid, or an HTTP 200 with a json body of a bid response.
If a bid request is malformed, an HTTP 200 with a json body of a
bid response with the nbr
field populated may
be returned.
Bid request object
Field | Type | Details |
---|---|---|
id |
String | Required. Unique ID of the bid request. This can be used to identify individual requests for a very limited time after they are served. |
imp |
Imp array | At least 1 imp object is required.
Accept for pods, only the first |
site |
Site | Required for website requests.site and app are mutally exclusive. |
app |
App | Required for app requests.app and site are mutally exclusive. |
device |
Device | Required. |
user |
User | Required. |
test |
Integer | Not supported. |
at |
Integer |
1 : First price auction where the advertiser is charged their
bid amount.2 (default): Second price auction where the advertiser is
charged just above the second highest bidder.3 : The floor price is in the request, and has nothing to do
with competing bids.
|
tmax |
Integer | Optional, default is custom per integration. |
wseat |
String array | List of allowed buyer seats. Recommended unless all advertisers are allowed to bid. Unset implies no restrictions. |
bseat |
String array | Not supported. |
allimps |
Integer | Not supported. |
cur |
String array | Optional, but highly recommended. Default is per integration. Currency in the bid request must match one of the currencies registered during integration. It is highly recommended to support single currency per exchange. |
wlang |
String array | Not supported. |
bcat |
String array | Blocked advertiser categories using the IAB content categories. Unset is no blocked categories. |
badv |
String array | Specify the blocked advertiser based on the domain provided by the
advertiser. Unset is no blocked advertisers. |
bapp |
String array | Not supported. |
source |
Source | Semi-required for schain . |
regs |
Regs | Optional. |
ext |
Bid request extensions | Semi-required for schain . |
Bid request extensions object
Field | Type | Details |
---|---|---|
schain |
Supply chain |
An alternative way to provide schain , new integrations should
use the field BidRequest.source.ext.schain in
Source Extensions instead.
|
purch |
Integer |
The Purchased Traffic parameter is the traffic that is redirected from
properties other than owned, acquired, or otherwise incentivized
activity. This is per the new MRC IVT 2.0 Spec.
This will be called Publisher Traffic Source in buyer facing
reporting and will have one of the following values : |
gdemsignals |
String | A SCAR API signal blob from the GMA SDK. Recommended if GMA SDK traffic, forbidden otherwise. |
disable_gma_format |
int |
Optional if gdemsignals is provided, forbidden otherwise.0 (default): When gdemsignals is populated the
bid response adm is a json blob.1 : An ad tag will also be provided instead of the json
blob. |
Source object
Field | Type | Details |
---|---|---|
fd |
Integer | Entity responsible for the final impression sale decision0 (Default): Exchange decides.1 : An upstream source decides.
|
tid |
String | Not supported. |
pchain |
String | Not supported. |
ext |
Source extensions | Semi-required for schain . |
Source extensions object
This extension is highly recommended since it impacts how viewability measurements are reported in DV3 to the customer. If the OMID partner name is NOT on the IAB certification list, we are required by MRC to report the viewability metrics separately from the MRC certified metrics. Learn more.
Field | Type | Details |
---|---|---|
omidpn |
String | Identifier of the OM SDK integration. This is the same as the "name" parameter of the OMID Partner object. |
omidpv |
String | Version of the OM SDK integration. This is the same as the "versionString" parameter of the OMID Partner object. |
schain |
Supply chain |
Required in almost all cases.
This field is preferred over providing |
Regs object
Field | Type | Details | |
---|---|---|---|
coppa |
Integer | 0 (default): COPPA is not applicable to this request.1 : This request is COPPA applicable. |
|
ext |
Regs extensions | Optional. |
Regs extensions object
Field | Type | Details |
---|---|---|
gdpr |
Integer | Indicate whether the bid request is from EEA region.0 (default): Non-EEA region.1 : EEA region,See Consented Provider Solution for GDPR for more detail. |
us_privacy |
String | Please follow the technical
specification provided by the IAB Tech Lab to implement the
us_privacy string.
When we receive the |
Imp object
Field | Type | Details |
---|---|---|
id |
String | A unique identifier for this impression within the context of the bid request (typically, value starts with 1, and increments up to n for n impressions). |
metric |
Object | Not supported. |
banner |
Banner | Required for banner ad opportunities. |
video |
Video | Required for video ad opportunities. |
audio |
Audio | Required for audio ad opportunities. |
native |
Native | Required for native ad opportunities. |
pmp |
Pmp | Private marketplace deals in effect for this impression. |
displaymanager |
String | Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. |
displaymanagerver |
String | Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. |
instl |
Integer |
0 (default): not interstitial.1 : the ad is interstitial or full screen.
|
tagid |
String | Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging of any issues, or for optimization by the buyer. |
bidfloor |
Float | Minimum bid for this impression expressed in CPM. |
bidfloorcur |
String |
Currency specified using ISO-4217 alpha codes. |
clickbrowser |
Integer |
Indicates the type of browser opened upon clicking the creative in an app. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this field. |
secure |
Integer |
If this impression requires a secure HTTPS URL, or an insecure HTTP URL.0 (default):insecure1 : secure
|
iframebuster |
String array | |
exp |
Integer | Regardless of what a partner may send in this field, DV360 bids always expire after 1 hour. Impression events received after one hour are discarded as stale and are not considered billable by DV360. |
Banner object
Field | Type | Details |
---|---|---|
format |
Format array | A list of supported formats. |
w |
Integer |
format instead.
|
h |
Integer |
format instead.
|
wmax |
Integer | Not supported. |
hmax |
Integer | Not supported. |
wmin |
Integer | Not supported. |
hmin |
Integer | Not supported. |
btype |
Integer array |
A list of blocklisted Banner ad types:
|
battr |
Integer array | Support following values:
|
pos |
Integer |
The position of the ad:
|
mimes |
String array |
Not supported.
DV360 will use text/html for all banner creatives. |
topframe |
Integer |
0 (default): The banner is delivered in an iframe.1 : Not supported: The banner is delivered in the top frame.
|
expdir |
Integer array |
1 : Left2 : Right3 : Up4 : Down5 : Expandable Fullscreen
|
api |
Integer array |
Supported API Frameworks
|
id |
String |
An identifier for the banner object and should be unique in the impression.
Recommended when |
vcm |
Integer |
Only relevant for a 0 : The banner is concurrently visible with the video creative.1 : The banner is an end card after the video.
|
Format object
Field | Type | Details |
---|---|---|
w |
Integer | Width in device independent pixels (DIPS). |
h |
Integer | Height in device independent pixels (DIPS). |
wratio |
Integer | Not supported. |
hratio |
Integer | Not supported. |
wmin |
Integer | Not supported. |
Video object
We strongly recommend specifying video placement in the bid request. A missing placement field is classified as an unknown placement. See the article on position targeting for more detail.
Field | Type | Details |
---|---|---|
mimes |
String array |
At least one mime type is required.
|
minduration |
Integer | The minimum duration of the video in seconds, default is no minimum. |
maxduration |
Integer | The maximum duration of a video in seconds, default is no maximum. |
protocols |
Integer array |
At least one supported protocol is required.
|
w |
Integer | Width of the video player in device independent pixels (DIPS). |
h |
Integer | Height of the video player in device independent pixels (DIPS). |
startdelay |
Integer | Start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. |
placement |
Integer | Strongly recommended to specify placement of video in the bid request.
Missing placement field will be classified as an unknown placement.
|
linearity |
Integer | Indicates if the impression must be linear, nonlinear, etc.
|
skip |
Integer |
If the video player will allow the ad to be skipped.
|
skipmin |
Integer | Not supported. |
skipafter |
Integer | Not supported. |
sequence |
Integer | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives. |
battr |
Integer array | Blocked creative attributes. |
maxextended |
Integer |
Maximum extended video ad duration, if extension is allowed.
|
minbitrate |
Integer | Minimum bit rate in Kbps. |
maxbitrate |
Integer | Maximum bit rate in Kbps. |
boxingallowed |
Integer |
Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed
|
playbackmethod |
Integer array |
Playback methods that may be in use. If none are specified, any method may be used.
|
playbackend |
Integer |
The event that causes playback to end.
|
delivery |
Integer array | Supported delivery methods. If none specified, assume all are supported.
|
pos |
Intever |
Ad position on screen.
|
companionad |
Banner array | Companion ads, if available. |
api |
Integer array |
|
companiontype |
Integer array | Not supported. |
Supported extension for video object
Field | Type | Details |
---|---|---|
rewarded |
Integer | This field is to signal if the requests are rewarded or not. This should
be sent as an integer.
|
Audio object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
mimes |
2.4 2.5 |
Required. | |
minduration |
2.4 2.5 |
Required for creative decisioning. | |
maxduration |
2.4 2.5 |
Required for creative decisioning. | |
protocols |
2.4 2.5 |
Required. | |
startdelay |
2.4 2.5 |
Required. This field helps target the position of the creative within the UI. | |
sequence |
|||
battr |
2.4 2.5 |
||
maxextended |
|||
minbitrate |
2.4 2.5 |
||
maxbitrate |
2.4 2.5 |
||
delivery |
2.4 2.5 |
Recommended. | |
companionad |
2.4 2.5 |
Recommended for creative decisioning. | |
api |
2.4 2.5 |
Use api=7 to indicate OMID-capable inventory. | |
companiontype |
2.4 2.5 |
Required for creative decisioning. | |
maxseq |
|||
feed |
2.4 2.5 |
Required. This field is used to help target different types of content (podcast vs music service, etc.). | |
stitched |
2.4 2.5 |
Recommended. | |
nvol |
Native object
See the DV360 native ads specifications for more detail.
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
request |
2.3 2.4 2.5 |
||
ver |
2.3 2.4 2.5 |
We only support 1.2.
1.0 and 1.1 are deprecated. |
|
api |
|||
battr |
PMP object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
private_auction |
2.3 2.4 2.5 |
Assume value is 0 if the field is omitted. | |
deals |
2.3 2.4 2.5 |
Deal object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
PMP object cannot contain more than one deal object per ID. | |
bidfloor |
2.3 2.4 2.5 |
Required if at=3. | |
bidfloorcur |
2.3 2.4 2.5 |
Defaults to the bid request currency if unspecified. | |
at |
2.3 2.4 2.5 |
Default matches bid_request.at if unspecified. | |
wseat |
2.3 2.4 2.5 |
||
wadomain |
Supported extension for deal object
Attribute | Implementation details |
---|---|
guaranteed |
This field is to signal if the deal is a guaranteed deal. This should
be sent as an integer. An exchange must be allowlisted for DV360 to accept guaranteed deals; reach out to request this. If your exchange currently uses a different mechanism to signal guaranteed deals with DV360, reach out to discuss moving to this preferred extension.
0 = default - not guaranteed |
Site object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
||
name |
|||
domain |
2.3 2.4 2.5 |
It is recommended to send a full URL in site.page rather than only populating site.domain. | |
cat |
|||
sectioncat |
|||
pagecat |
|||
page |
2.3 2.4 2.5 |
It is recommended to send the full URL for targeting purposes. | |
ref |
2.3 2.4 2.5 |
||
search |
|||
mobile |
|||
privacypolicy |
|||
publisher |
2.3 2.4 2.5 |
||
content |
2.3 2.4 2.5 |
||
keywords |
App object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
||
name |
2.3 2.4 2.5 |
||
bundle |
2.3 2.4 2.5 |
Required. For iOS, it is required to be the numeric app store ID. We do not accept the reverse DNS style bundle ID. For CTV app, we recommend passing the store-defined app identifier. Please adhere to the recently published IAB OTT/CTV Store Assigned ID guidelines. | |
domain |
2.3 2.4 2.5 |
||
storeurl |
2.3 2.4 2.5 |
Required for app-ads.txt verification and Connected TV app store validation. | |
cat |
|||
sectioncat |
|||
pagecat |
|||
ver |
|||
privacypolicy |
|||
paid |
|||
publisher |
2.3 2.4 2.5 |
||
content |
2.3 2.4 2.5 |
||
keywords |
Content object
We recommend passing these attributes where available.
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
||
episode |
2.3 2.4 2.5 |
||
title |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV. | |
series |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV. | |
season |
2.3 2.4 2.5 |
||
artist |
2.3 2.4 2.5 |
||
genre |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV, as we will start decisioning on this
attribute.
DV360 supports a few taxonomies of video genre values for this field today, and will be updating more supported lists over time as we see demand: |
|
album |
2.3 2.4 2.5 |
||
isrc |
2.3 2.4 2.5 |
||
producer |
2.3 2.4 2.5 |
||
url |
2.3 2.4 2.5 |
||
cat |
2.3 2.4 2.5 |
||
prodq |
2.3 2.4 2.5 |
||
videoquality |
2.3 2.4 2.5 |
||
context |
2.3 2.4 2.5 |
||
contentrating |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV, as we will start decisioning on this attribute. | |
userrating |
2.3 2.4 2.5 |
||
qagmediarating |
2.3 2.4 2.5 |
||
keywords |
2.3 2.4 2.5 |
||
livestream |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV, as we will start decisioning on this attribute. | |
sourcerelationship |
2.3 2.4 2.5 |
||
len |
2.3 2.4 2.5 |
Recommended for Audio & Video/CTV, as we will start decisioning on this attribute. | |
language |
2.3 2.4 2.5 |
||
embeddable |
2.3 2.4 2.5 |
||
data |
2.3 2.4 2.5 |
||
ext |
2.3 2.4 2.5 |
Publisher object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
Required. | |
name |
|||
cat |
|||
domain |
Device object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
ua |
2.3 2.4 2.5 |
Required. | |
geo |
2.3 2.4 2.5 |
||
dnt |
2.3 2.4 2.5 |
||
lmt |
2.3 2.4 2.5 |
||
ip |
2.3 2.4 2.5 |
Required if IPv4. If IP address is truncated, it must be declared in the device.ext.truncated_ip. | |
ipv6 |
2.3 2.4 2.5 |
Required if IPv6. If IP address is truncated, it must be declared in the device.ext.truncated_ip. | |
devicetype |
2.3 2.4 2.5 |
Highly recommended for all inventory types. Used to enhance device type recognition. | |
make |
2.3 2.4 2.5 |
||
model |
2.3 2.4 2.5 |
||
os |
2.3 2.4 2.5 |
||
osv |
|||
hwv |
2.3 2.4 2.5 |
||
h |
2.3 2.4 2.5 |
||
w |
2.3 2.4 2.5 |
||
ppi |
|||
pxratio |
2.3 2.4 2.5 |
||
js |
|||
geofetch |
|||
flashver |
|||
language |
2.3 2.4 2.5 |
||
carrier |
|||
mccmnc |
|||
connectiontype |
2.3 2.4 2.5 |
||
ifa |
2.3 2.4 2.5 |
||
didsha1 |
|||
didmd5 |
|||
dpidsha1 |
|||
dpidmd5 |
|||
macsha1 |
|||
macmd5 |
Supported extension for device object
If ip
is changed or truncated, we strongly recommend sending the following
extensions to prevent traffic being declared as invalid traffic.
Attribute | Implementation details |
---|---|
truncated_ip |
Indicate whether the IP address in the device.ip field of
the bid request is truncated. 1 = truncated. 0 = not truncated. Default is
not truncated and required if the IP address is truncated.
If not declared the bid request might be classified as invalid traffic. |
ip_less |
Indicate whether device.ip field contains the actual client
IP.
1 = device.ip does not include the actual client IP. 0 = device.ip does contain the actual client IP. The assumed value is 0 which indicates that the client IP address is present. In cases of ip_less = 1 traffic, the forwarding server IP should be included in the device.ip field. |
ifa_type |
Indicate the origin of the device.ifa field, whether it was provided from the device itself or generated by publisher or SSP in the supply chain. Supported values in the table below. |
ifa_type | Device Platform |
---|---|
"aaid" | Android TV |
"rida" | Roku |
"afai" | Amazon Fire |
"idfa" | Apple tvOS |
"msai" | Xbox/Microsoft |
"dpid" | Generic device platform ID |
"ppid" | Publisher provided ID |
"sspid" | SSP provided ID |
"sessionid" | Short-lived session ID (fcapping only) |
Geo object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
lat |
2.3 2.4 2.5 |
||
lon |
2.3 2.4 2.5 |
||
type |
2.3 2.4 2.5 |
Required if lat/lon are provided. | |
accuracy |
|||
lastfix |
|||
ipservice |
|||
country |
|||
region |
|||
regionfips104 |
|||
metro |
|||
city |
|||
zip |
|||
utcoffset |
User object
Attribute | Supported | Implementation details | |
---|---|---|---|
ORTB version | by DV360 | ||
id |
2.3 2.4 2.5 |
Supported if Google hosts the id match table. | |
buyeruid |
2.3 2.4 2.5 |
Supported if the SSP host the id match table. | |
yob |
2.3 2.4 2.5 |
Recommended for demographics targeting. | |
gender |
2.3 2.4 2.5 |
Recommended for demographics targeting. | |
keywords |
|||
customdata |
|||
geo |
|||
data |
Supported extensions for user object
Attribute | Implementation details |
---|---|
consented_providers_settings.consented_providers |
Pass the vendors with consent for GDPR request. See Consented Provider Solution for GDPR for more detail. |
Supply chain object
Field | Type | Details |
---|---|---|
complete |
Integer | 0 (default): The supply chain is incomplete.1 : The supply chain is complete back to the publisher.
|
ver |
String | Required. The value is formatted "major.minor", for instance, version 1.0 is the string "1.0". |
nodes |
Supply chain node array | Required. In a complete supply chain, the first node represents the initial advertising system and seller ID involved in the transaction, i.e., the owner of the site, app, or other medium. In an incomplete supply chain, it represents the first known node. The last node represents the entity sending this bid request. |
Supply chain node object
Field | Type | Details |
---|---|---|
asi |
String | The canonical domain name of the SSP, Exchange, Header Wrapper, etc.
system that bidders connect to. This may be the operational domain
of the system, if that is different than the parent corporate domain,
to facilitate WHOIS and reverse IP lookups to establish clear
ownership of the delegate system.
This should be the same value as used to identify sellers in an ads.txt file if one exists. |
sid |
String | The identifier associated with the seller or reseller account within
the advertising system. This must contain the same value used in
transactions (i.e. OpenRTB bid requests) in the field specified by
the SSP/exchange.
Typically, in OpenRTB, this is publisher.id. For OpenDirect it is typically the publisher's organization ID. Should be limited to 64 characters in length. |
rid |
String | The OpenRTB RequestId of the request as issued by this seller. |
name |
String | The name of the company (the legal entity) that is paid for inventory
transacted under the given seller_id. This value is optional and should NOT be included if it exists in the advertising system's sellers.json file. |
domain |
String | The business domain name of the entity represented by this node.
This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file. |
hp |
Integer | Indicates whether this node will be involved in the flow of payment
for the inventory.
For version 1.0 of SupplyChain, this property should always be 1. It is explicitly required to be included as it is expected that future versions of the specification will introduce non-payment handling nodes. Implementers should ensure that they support this field and propagate it onwards when constructing SupplyChain objects in bid requests sent to a downstream advertising system. |
Bid response specification
BidResponse object
Attribute | Supported | Implementation details | Always passed |
---|---|---|---|
id | If a parse error occurs, this may be '0' instead of the bid request ID. | Yes | |
seatbid | |||
bidid | |||
cur | If a parse error occurs, this is not passed. For valid bid request traffic cur is always provided. | Yes | |
customdata | |||
nbr |
This is included only if an issue was found with the bid request, and will
always be 2 , Invalid Request, per the OpenRTB
specification.Requests that include NBR will look similar to this: { "id": "0", "nbr": 2, "ext": { "err": "Bid request body was empty.", "errHelp": "https://.../ortb-spec" } } |
||
ext | If there is a problem with the bid request ext may contain information to help diagnose the error, where supported. |
Supported extensions for BidResponse object
Attribute | Implementation details |
---|---|
err | A human readable description of the error with the bid request. Response cases include:
|
errHelp | A link to this page. |
Seatbid object
Attribute | Supported | Implementation details | Always passed |
---|---|---|---|
bid | yes | ||
seat | yes | ||
group |
Bid object
Attribute | Supported | Implementation details | Always passed |
---|---|---|---|
id | yes | ||
impid | yes | ||
price | yes | ||
nurl | |||
burl | |||
lurl | |||
adm | |||
adid | |||
adomain | |||
bundle | |||
iurl | |||
cid | yes | ||
crid | yes | ||
tactic | |||
cat | |||
attr | |||
api | |||
protocol | |||
qagmediarating | |||
language | |||
dealid | |||
w | |||
h | |||
wratio | |||
hratio | |||
exp |
Supported extensions for bid object
Attribute | Implementation details |
---|---|
apis |
DV360 will send seatbid.bid.apis if both OMID and MRAID are
supported. DV360 will set both OMID_1 and MRAID as an integer array. |
Ad serve options
In section 4.3 of the OpenRTB specification, there are two different serving options:
- Markup served on the win notice
- Markup served in the bid
DV360 supports both options.
- For Banner ad, DV360 always returns markup in the
adm
field. Markup served on win notice is optional. - For Video/Audio ad using VAST protocol, DV360 supports returning VAST XML in
the
adm
field or in the response of win notice based on requirements from exchange partners.
Refer to the OpenRTB specification to know the pros and cons of these two options.
Best practices
It is highly recommended to use the Partner ID of Display and Video 360 as the seat ID. The use of exchange-specific seat ID is not recommended.
Ensure your publishers have ads.txt files, or applications with app-ads.txt files associated, and they list you in the file as an authorized seller or reseller. Learn more.
Also ensure consistent information is passed in bid requests. For example, the
app.bundle
must be consistent with the mobile device information and
app.storeurl
.
Connected TV
Adhere to the IAB OTT IFA
guidelines
in passing device.ifa
and device.lmt
. You should also implement
device.ext.ifa_type
to be compliant with the guidelines. All of our CTV
frequency capping and audience targeting capabilities will require the presence
of an IFA.
Also adhere to the recently published IAB OTT/CTV Store Assigned ID
guidelines—this
defines how app.bundle
should be passed for CTV apps—largely using the
app store defined ID.
Active View measurement
Active View is a Google technology used to measure if an impression was viewable and for how long. Active View uses OMID for both display and video ads. To enable measurement using OMID, exchanges must add the following fields in OpenRTB requests so that DV360 knows the client's support of OMID.
- Required: Add an API Framework (
Video.api=7
forOMSDK
) to bid requests. This is mandatory for Active View to enable measurement using OMID. - Recommended: Adding
omidpn
andomidpv
toSource.Ext
is highly recommended because it will impact how viewability measurements are reported in DV360 to the customer. If the OMID partner name is not on the IAB certification list, we are required by MRC to report the viewability metrics separately from the MRC certified metrics. Learn more.
FAQ
- Does DV360 Support exchange custom extensions?
- Yes, in addition to the extensions listed in this specification, Display and Video 360 may also support custom extensions on a case-by-case basis. It is recommended to specify and test the custom extension during the integration period.
- Does DV360 support rewarded video?
- Yes, send us the rewarded video extension.
- A lot of my inventory is showing up as demographics unknown, how do I improve demographic coverage?
- Populate
user.yob
anduser.gender
in bid requests to DV360 to increase coverage. - Does DV360 have endpoints for each region?
- No, we use a single endpoint globally and we automatically route requests to the nearest data center, so there's no region-specific endpoint we can provide.
- What are the requirements for server-to-server (s2s) requests?
- Reach out to request addition to our allowlist. The client User Agent has to be forwarded, and ensure that cookies are disabled/ignored in the response to an s2s VAST fetch.
- Does DV360 support OMID?
- We are able to measure viewability using OMID as long as it is declared as OMID-enabled at bid request time. Details about this are summarized on pages 24-25.
- Which version of Native do you support? Do you have any Native requirements?
- We only support Native Ver1.2. Native specification.
- Does DV360 support SSP click tracking macros?
- DV360 does support SSP click tracking for display creatives. It needs to be set up on our side to ensure that nothing breaks with our existing click tracking setup so please reach out to request this.
- Does DV360 support bid requests sent as GZIP?
- DV360 can receive gzip compressed bid requests, and will respond with gzip compressed responses if Accept-Encoding header indicates it's supported.
- Does DV360 support DBURL?
- Not at the moment.
- Does DV360 support win loss notification?
- Not at the moment. If you think it would be useful for us to support it please reach out with more details.
- Does DV360 require App.name for targeting?
- No, DV360 using App.name for reference but it is not required for targeting,
App.bundle
is used for targeting. - Can DV360 support multiple ad sizes sent in a single bid request?
- Yes, we will consider all eligible creative sizes in banner.format.
- Does DV360 support multiple formats in the same bid request?
- We have limited support for multi-format bid requests, but are working on improving. We support display & video formats for interstitials, but do not currently support display & native. If you are sending multi-format bid requests, please reach out to request a test.
- Does DV360 support mixed impression types in the same request?
- Currently we only support video/banner interstitials. We are working on native/banner & video/banner. If there are other combinations please reach out to our team.
- Can multiple seats each send multiple bids on one or more of such impression opportunities in the same request?
- Yes.
- Does DV360 have a solution or particular need regarding capping or displaying the same advertiser for multiple such impression opportunities in the same request?
- DV360 places enforcement that one advertiser can only bid up to one imp opportunities for each request. We expect SSPs to group imp objects meaningfully; e.g., all on the same page, all in the same app, etc.
- Does DV360 support multiple impressions in the same bid request?
- DV360 currently supports video, unlimited, with any combinations of imp
objects being the same or not. However, we will need to test/enable each
exchange on this. We are working on expanding this to other formats:
{ id: "2bbdc94f-7289-4fe2-9a5f-e2a530e06b38", seatbid { bid { id: "0", impid: "234232", price: 41.373926619828261, adid: "123", adm: "...", adomain: "xxx.com", cid: "0", crid: "123", dealid: "sample-deal-id-1", language: "xx", }, bid { id: "1", impid: "234255", price: 2.34192037470726, adid: "234", adm: "...", adomain: "xyz.com", cid: "0", crid: "234", dealid: "sample-deal-id-2", language: "xx", }, seat: "123456" }, cur: "EUR" }
Contact us
If you have any questions or issues, reach out to our exchange support team.