DT Exchange OpenRTB 2.5 Specs

OpenRTB (Real-Time Bidding) was initially built to standardize communication between parties for blocking inventory. It has since evolved into a standardized API protocol designed to automate the real-time trading of digital media across a range of platforms, devices and advertising solutions.

DT supports OpenRTB versions 2.2, 2.3 and 2.5; older versions are not compatible. It is encouraged that buyers upgrade their integration to DT's latest OpenRTB 2.5 specification to benefit from all supported parameters.  

Important

All references in the tables below to the OpenRTB Specification version 2.5 can be found in the attached document at the end of this article.

Screen_Shot_2021-10-13_at_8.54.16.png

The tables below detail the parameters supported by Digital Turbine and the values you can expect to see. 

Terminology Used in this Article

Term Definition
RTB Real Time Bidding: Bidding for individual impressions in real-time (i.e. while a consumer is waiting)
Exchange A service conducting an auction among bidders for an ad impression
Bidder An entity competing in real-time auctions to acquire impressions
Seat An advertising entity (e.g., advertiser, agency) wanting to obtain impressions and uses bidders to act on their behalf; a customer of a bidder and usually the owner of the advertising budget
Publisher An entity operating one or more apps
App Details of the application calling for the impression
Deal A pre-arranged agreement between two entities to purchase impressions under certain terms

Bid Request

Object: Model

Attribute Status Description Display Video

bidRequest

Supported 3.2.1 Top Level Object

source

Supported 3.2.2 Request source details on post-auction decisioning (e.g., header bidding)

regs

Supported 3.2.3 Regulatory conditions in effect for all impressions in this bid request

imp

Supported 3.2.4 Container for the description of a specific impression; at least 1 per request

metric

Not Supported 3.2.5: A quantifiable often historical data point about an impression

banner

Supported 3.2.6 Details for a banner impression including in-banner video (MRAID Video) and video companion ad (end card)

video

Supported 3.2.7 Details for a video impression.

audio

Not Supported 3.2.8: Container for an audio impression

native

Supported 3.2.9 Container for a native impression conforming to the Dynamic Native Ads API

format

Not Supported 3.2.10: An allowed size of a banner

pmp

Supported 3.2.11 Collection of private marketplace (PMP) deals applicable to this impression

deal

Supported 3.2.12 Deal terms pertaining to this impression between a seller and buyer

site

Supported 3.2.14 Details of the website calling for the impression

app

Supported 3.2.14 Details of the application calling for the impression

publisher

Supported 3.2.15 Entity that controls the content of and distributes the site or app

content

Not Supported 3.2.16 Details about the published content itself, within which the ad will be shown

producer

Not Supported 3.2.17: Producer of the content; not necessarily the publisher (e.g., syndication)

device

Supported 3.2.18 Details of the device on which the content and impressions are displayed

geo

Supported 3.2.19 Location of the device or user’s home base depending on the parent object

user

Supported 3.2.20 Human user of the device; audience for advertising

data

Not Supported 3.2.21: Collection of additional user targeting data from a specific data source

segment

Not Supported 3.2.22: Specific data point about a user from a specific data source

bidResponse

Supported 4.2.1 Top-level object. DT does not support mutl-bid response, as signaled in our bid request.

RTB responses contain bids that reference specific impressions within a bid request. Bids are in essence an offer to buy. The bid response consists of the top-level bid response object and optional objects that depict the specific bids.

An empty HTTP response constitutes a no-bid. Partners are encouraged to pass an HTTP 204 code to indicate a no-bid. Conversely, an HTTP 200 code indicates a ok code i.e., a bid. A malformed response or a response that contains no actual bids will also be interpreted as no-bid.

seatBid

Supported 4.2.2 Collection of bids made by the bidder on behalf of a specific seat

bid

Supported 4.2.3 An offer to buy a specific impression under certain business terms

Object: BidRequest

Attribute Status Description Display Video

id

Supported Unique ID of the bid request, provided by the exchange. Always passed. Example: id:5474530178147203492

imp

Supported Array of Imp objects (Section 3.2.4) representing the impressions offered. At least 1 Imp object is required. Always passed

site

Supported Details via a Site object (Section 3.2.13) about the publisher’s website. Only applicable and recommended for websites. Always Passed

app

Supported Details via an App object (Section 3.2.14) about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. Always Passed

device

Supported Details via a Device object (Section 3.2.18) about the user’s device to which the impression will be delivered Always Passed

user

Supported Details via a User object (Section 3.2.20) about the human user of the device; the advertising audience Always Passed

test

Not Supported Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode

at

Supported Auction type, where 1 = First Price, 2 = Second Price Always Passed

tmax

Supported Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. This value supersedes any a priori guidance from the exchange. 350ms. Always Passed

wseat

Not Supported White list of buyer seats (e.g., advertisers, agencies) allowed to bid on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions.

bseat

Supported Block list of buyer seats (e.g., advertisers, agencies) restricted from bidding on this impression.

IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange priority.

At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions.
Passed when applicable

allimps

Not Supported Flag to indicate if Exchange can verify that the impressions offered represent all of the impressions available in context (e.g., all on the web page, all video spots such as pre/mid/post roll) to support road-blocking. 0 = no or unknown, 1 = yes, the impressions offered represent all that are available.

cur

Supported Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes. Recommended only if the exchange accepts multiple currencies. Always passed. DT only supports USD.

wlang

Not Supported White list of languages for creatives using ISO-639-1-alpha-2. Omission implies no specific restrictions, but buyers would be advised to consider language attribute in the Device and/or Content objects if available.

bcat

Supported Blocked advertiser categories using the IAB content categories.
Refer to List 5.1.
DT default values:
  • IAB7-28
    (Incest/Abuse Support)
  • IAB7-42
    (Substance Abuse)
  • IAB17-18 (Hunting/Shooting)
  • IAB24 (Uncategorized)
  • IAB25-1 (Unmoderated User Generated Content)
  • IAB25-2 (Extreme Graphic/Explicit Violence)
  • IAB25-3 (Pornography)
  • IAB25-4 (Profane Content)
  • IAB25-5 (Hate Content)
  • IAB25-7 (Incentivized)
  • IAB26-1 (Illegal Content)
  • IAB26-2 (Warez)
  • IAB26-3 (Spyware/Malware)
  • IAB26-4
    (Copyright Infringement)
  • See Digital Turbine's Demand Content Policy for more information

badv

Supported Blocked list of advertisers by their domains (e.g."ford.com") Always passed based on publishers's list of blocked advertiser domains

bapp

Supported Block list of applications by their platform-specific exchange independent application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame). On iOS, these are numeric IDs.

source

Supported A Source object (Section 3.2.2) that provides data about the inventory source and which entity makes the final decision. Please note that the source object is only supported in OpenRTB 2.5+, for all OpenRTB 2.3 requests, the source object is passed as an extension, BidRequest.ext.source.ext.schain. Always Passed

regs

Supported A Regs object (Section 3.2.3) that specifies any industry, legal, or governmental regulations in force for this request. Always Passed
 

Object: Source

Attribute Status Description Display Video

fd

Supported

Entity responsible for the final impression sale decision, where "0"=exchange and "1"=upstream source.  

When FairBid SDK is used, DT will pass "0".
When DT is running an SDK Bidding auction, DT will pass "1", as the final decision is taken by the mediation platform.

tid

Supported Transaction ID that must be common across all participants in this bid request (e.g., potentially multiple exchanges). DT always passes the session ID

pchain

Not Supported Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0

ext.schain

Supported The SupplyChain object is composed primarily of a set of nodes where each node represents a specific entity that participates in the transacting of inventory. The entire chain of nodes from beginning to end represents all entities who are involved in the direct flow of payment for inventory.

Object: Source.ext

Attribute Status Description Display Video

ext.schain.ver

Supported The version of the supply chain specification in use

ext.schain.complete

Supported Flag indicating whether the chain contains all nodes involved in the transaction leading back to the owner of the site, app or other medium of the inventory, where 0 = no, 1 = yes

ext.schain.nodes

Supported Array of SupplyChainNode objects in the order of the chain. In a complete supply chain, the first node represents the initial advertising system and seller ID involved in the transaction. DT is always node 1

ext.schain.asi

Supported Canonical domain name of the SSP

ext.schain.sid

Supported Publisher ID

ext.schain.hp

Supported Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1

ext.schain.rid

Supported The OpenRTB requestId of the request as issued by this seller

omidpn

Supported Identifier of the Open Measurement SDK integration. The default value is "DT".

omidpv

Supported Version of the Open Measurement SDK integration. This is the same as the "VersionString" parameter of the OMID partner object.  The default value is "1".

Object: Regs

Attribute Status Description Display Video

coppa

Supported Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. Refer to Section 7.5 for more information. When a request coppa = yes (1), DT does the following:
Device Object
  • Suppress didmd5 and didsha1 device ID fields
  • Truncate IP Filed - removes lowest 8 bits
  • Truncate ipv6 field - removes lowest 32 bits

Geo Object
  • Suppress lat and long fields
  • Supress metro, city and zip fields

User Object
  • Suppress id, buyeruid,yob and gender fields
  • Remove Device ID

ext.gdpr

Supported Extension to signal whether or not the request is subject to GDPR regulations Always passed.
The GDPR regulation parameter is passed to indicate if the request is subject to GDPR regulation, where
  • 0 = No, request is not subject to GDPR, and
  • 1 = Yes, request is subject to GDPR

Please refer to DT's GDPR FAQ for more information.

ext.us_privacy

Supported Extension to pass the US Privacy String

Always passed when available from publisher. Please follow the IAB US Privacy String Format.

DT will not change, delete, or obfuscate any data in the bid request when the user opts-out. DT will pass the U.S Privacy string to demand partners. It is the demand partner's responsibility to determine which data can be used for ad targeting purposes.

For CCPA, please refer to DT's Resource Page.

 

Object: Imp

Attribute Status Description Display Video

id

Supported A unique identifier for this impression within the context of the bid request (typically, starts with 1 and increments) Value will always be 1 because DT does not support multi-bid response Value will always be 1 because DT does not support multi-bid response

metric

Not Supported An array of Metric object (section 3.2.5)

banner

Supported A Banner object (Section 3.2.6): required if this impression is offered as a banner ad opportunity Always Passed An array of banner objects is only used on a Video bid request to signal information about the companion ad (i.e., end card). A companion ad can only be served on Video inventory.

video

Supported A Video object (Section 3.2.7); required if this impression is offered as a video ad opportunity Never Passed Always Passed

audio

Not Supported An Audio object (Section 3.2.8); required if this impression is offered as an audio ad opportunity

native

Supported A Native object (Section 3.2.9); required if this impression is offered as a native ad opportunity  

pmp

Supported A PMP object (Section 3.2.11) containing any private marketplace deals in effect for this impression Only passed when there is an associated PMP deal

displaymanager

Supported 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. Will pass "DT" when the DT SDK is present

displaymanagerver

Supported 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. DT SDK Version passed when the DT SDK is present.
If the DT SDK is not present, this parameter will be omitted.

instl

Supported 1 = the ad is interstitial or full screen, 0 = not interstitial. DT will pass 1 when the request is interstitial. Playable ads are always interstitial = 1 All video on DT is Instl = 1

tagid

Supported 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. Always passed. This is called Ad Unit ID by DT publishers.

bidfloor

Supported Minimum bid for this impression expressed in CPM Always passed. The value represents the minimum bid value accepted by DT.

bidfloorcur

Supported Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange. DT always passes USD. Only USD is supported.

clickbrowser

Supported Indicates the type of browser opened upon clicking the creative in an app, where 0 = embedded, 1 = native. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this attribute. DT will always pass 0 for embedded browser.

secure

Supported Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed. Always passed, DT recommends running secure creatives to maximize scale.

iframebuster

Not Supported Array of exchange-specific names of supported iframe busters.

exp

Supported

Advisory as to the number of seconds that may elapse between the auction and the actual impression.

DT's default cache times are dependent on placement times and the values are as follows.  

  • Rewarded: 60 min
  • Interstitial: 60 min
  • Banner: 30 min

Publishers can also set up custom cache times, contact your Account Manager for details.

ext.brsrclk

Supported A custom extension used to force open the device's browser DT passes 1 when the bid request supports opening the device's external (native) browser. Please click here for complete implementation instructions.
 

Object: BidRequest.imp.ext.skadn

Attribute Status Description
version Supported

Version of skadnetwork supported. Always "2.0" or higher. Dependent on both the OS version and the SDK version.

Note: With the release of SKAdNetwork 2.1, this field is deprecated in favor of the BidRequest.imp.ext.skadn.versions to support an array of version numbers

versions Supported Array of strings containing the supported skadnetwork versions. Always "2.0" or higher. Dependent on both the OS version and the SDK version.
sourceapp Supported ID of publisher app in Apple's App Store.  Should match app.bundle in OpenRTB 2.x and app.storeid in AdCom 1.x
skadnetids Supported A subset of SDKdNetworkItem entries in the publisher app's info.plist, expressed as lowercase strings, that are relevant to the bid request. Recommended that this list not exceed 10.
skadnetlist Not Supported Object containing the IABTL list definition
skoverlay Supported List of attributes (array) that should be provided on the bid response 
Read more about SKOverlay.
ext Not Supported Placeholder for exchange-specific extensions to OpenRTB

Object: BidRequest.imp.ext.skadn.skadnetlist

Attribute Status Description
max Not Supported IABTL list containing the max entry ID of SKAdNetwork ID.  Format will be" "max entity ID" where the 306 in the example will be all SKAdNetwork IDs entry number 306 and below.
excl Not Supported Comma separated list of integer IABTL registration IDs to be excluded from IABTL shared list.
addl Not Supported Comma separated list of string SKAdNEtwork IDs, expressed as lowercase strings, not included in the IABTL shared list.  The intention of addl is to be the permanent home for raw SKAdNetwork IDs, migrating away from BidRequest.imp.ext.dkadn.skadnetids.  Recommended that this list not exceed 10.
ext None Placeholder for exchange-specific extensions to OpenRTB.

Object: BidRequest.device.ext

Attribute Status Description
atts Supported from iOS 14

(iOS Only) An integer passed to represent the app's app tracking authorization status, where
0 = not determined

1 = restricted

2 = denied

3 = authorized

ifv Supported from iOS 14 IDFV of the device in that publisher.  Listed as ifv to match ifa field format.

Object: Banner

Attribute Status Description Display Video

format

Supported Array of format objects (Section 3.2.10) representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended.

w

Supported Exact width in device independent pixels (DIPS); recommended if no format objects are specified Always Passed

h

Supported Exact height in device independent pixels (DIPS); recommended if no format objects are specified Always Passed

btype

Supported Blocked banner ad types. Refer to List 5.2. DT always passes 4 (iFrame) -

battr

Supported Blocked creative attributes. Refer to List 5.3. DT passes 3,6,7,9,10,13,14,17. DT will not pass 13 (User Interactive, embedded games) for playables. -

pos

Supported   Always passed as 7 = fullscreen -

topframe

Supported Indicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes. DT always passes 1 -

mimes

Supported Content MIME types supported DT supports HTML, HTML5, Javascript, PNG, JPG/JPEG, GIF, and Animated GIFs. DT does not support application/x-shockwave-flash -

expdir

Not Supported Directions in which the banner may expand. Refer to List 5.5.

api

Supported

List of supported API frameworks for this impression. Refer to List 5.6. If an API is not explicitly listed, it is assumed not to be supported.

DT will pass api = 5 when MRAID 2.0 is supported

We have added the value of "7" which represents OMID-1.

-

id

Supported Unique identifier for this banner object. Recommended when Banner objects are used with a Video object (Section 3.2.7) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression. Always 1. DT only supports one companion ad per bid request. -

vcm

Supported Relevant only for Banner objects used with a Video object (Section 3.2.7) in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card. DT will pass 1 when end-card is supported -

ext.rewarded

Supported Placeholder for exchange-specific extensions to OpenRTB DT will use the custom extension, ”rewarded” where 1 = Rewarded Playables are supported -
 

Object: Video

Attribute Status Description Display Video

mimes

Supported Content MIME types supported - Wrapper Mimes by Device OS:
  • Android- mp4, webm, 3gpp
  • iOS - mp4, m4v, quicktime, 3gp2, 3gpp2, 3gp4, 3gpp4


Flash is not supported.

minduration

Supported Minimum video ad duration in seconds - The minimum video duration on video is 1s

maxduration

Supported Maximum video ad duration in seconds - Always passed. For non-rewarded video, DT passes 30s. For rewarded video, DT passes 30s.

protocols

Supported Array of supported video protocols. Refer to List 5.8. At least one supported protocol must be specified in either the protocol or protocols attribute. - DT will always pass 2, 5, 3, 6, 7, 8. 

w

Supported Width of the video player in pixels - Always Passed

h

Supported Height of the video player in pixels - Always Passed

startdelay

Supported Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List 5.12 for additional generic values - DT always passes 0 for pre-roll

placement

Supported Placement type for the impression. Refer to List 5.9. - DT always passes 5 for interstitial video

linearity

Supported Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to List 5.7. - DT always passes 1 for linear video

skip

Supported Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List 5.3. - Rewarded video will always be non-skippable = 0. Videos 15s or below will be non-skippable = 0. Videos 16s or longer will be skippable = 1 after 5s

skipmin

Supported Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. - For non-rewarded video, 15s or shorter video will be non-skippable. Videos 16s or longer will be skippable after 5s and Skip min = 15. For rewarded video, skip min is not passed. Skip button appears after 5s with a countdown timer and is clickable once timer has expired.

skipafter

Supported Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. - For non-rewarded video, 15s or shorter video will be non-skippable and skip after will not be passed. Videos 16s or longer will be skippable after 5s and Skip after = 5. For rewarded video, skip after is not passed.

sequence

Not Supported If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives

battr

Supported Blocked creative attributes. Refer to List 5.3. - DT passes 3,8,9,10,13,14,17 plus publisher elected blocked attributes

maxextended

Not Supported Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.

minbitrate

Not Supported  

maxbitrate

Supported Maximum bit rate in Kbps - Max bit rate is 5000Kbps

boxingallowed

Not Supported Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes.

playbackmethod

Supported Playback methods that may be in use. If none are specified, any method may be used. Refer to List 5.10. Only one method is typically used in practice. As a result, this array may be converted to an integer in a future version of the specification. It is strongly advised to use only the first element of this array in preparation for this change. - DT always passes 5, where 5 = fullscreen video. DT will always respect the user's device settings.

playbackend

Supported The event that causes video playback to end. Refer to lIst 5.11. - DT will always pass 1. 1 - On Video Completion or when Terminated by User

delivery

Not Supported Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List 5.15.

pos

Supported Ad position on screen. Refer to List 5.4. - Always passed as 7 = fullscreen

companionad

Supported Array of Banner objects (Section 3.2.6) if companion ads are available.  

api

Supported We added the value "7" which represents OMID-1.  

id

Supported Recommended when Banner objects are used with a Video object (Section 3.2.7) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression DT will always pass 1 because we only support 1 companion ad per video.

companiontype

Supported Supported VAST companion ad types. Refer to List 5.14. Recommended if companion Banner objects are included via the companionad array. If one of these banners will be rendered as an end-card, this can be specified using the vcm attribute with the particular banner (Section 3.2.6). DT always supports 1, 2, 3 (static, HTML, iframe) when companionad is supported. -

ext.rewarded

Supported Placeholder for exchange-specific extensions to OpenRTB - DT will use the custom extension, ”rewarded” where 1 = Rewarded, 0 = Non-Rewarded. Always passed on video requests

ext.mraidendcard

Supported Placeholder for exchange-specific extensions to OpenRTB - Fyber will use the custom extension, ”mraidendcard” where 1 = MRAID end card is supported, 0 = MRAID end card is not supported. Always passed on video requests.

Important

VPAID support has been deprecated across all Digital Turbine supply, as of April 1st 2021. Serving VPAID ads is no longer allowed on DT Exchange and will result in a creative violation.

Object: PMP

Attribute Status Description Display Video

privateauction

Supported Indicator of auction eligibility to seats named in the Direct Deals object,
where
0 = all bids are accepted,
1 = bids are restricted to the deals specified and the terms thereof.
 

deals

Supported Array of Deal (Section 3.2.12) objects that convey the specific deals
applicable to this impression
 

Object: Deal

Attribute Status Description Display Video

id

Supported A unique identifier for the PMP deal Only passed when deal is present

bidfloor

Supported Minimum bid for this impression expressed in CPM Represents the bid floor of the PMP. Takes priority over the bid floor when deal is present.

bidfloorcur

Not Supported Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange.

at

Supported Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange. Always Passed

wseat

Supported Whitelist of buyer seats (e.g., advertisers, agencies) allowed to bid on this deal. IDs of seats and the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. Omission implies no seat restrictions. DT passes a string of seat IDs when the deal is limited to a whitelist of buyers. No seat ID parameter implies this is an open PMP for all seats.

wadomain

Not Supported Array of advertiser domains (e.g., advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions.

Object: App

Attribute Status Description Display Video

id

Supported Exchange-specific ID DT passes the tag id in the app id field. Always passed.

name

Supported App name (may be aliased at the publisher's request) DT uses 42Matters to populate this field. Always passed.

bundle

Supported A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is typically a numeric ID (app store ID) Always Passed

domain

Not Supported Domain of the app (e.g., "mygame.foo.com")

storeurl

Supported App Store URL for an installed app Always passed. This value is determined by the app bundle and the storeURL provided by 42Matters.

cat

Supported Array of IAB content categories of the app. Refer to List 5.1. DT uses 42Matters to populate this field. Always passed

sectioncat

Not Supported Array of IAB content categories that describe the current section of the app. Refer to List 5.1.

pagecat

Not Supported Array of IAB content categories that describe the current page or view of the app. Refer to List 5.1.

ver

Supported Application version Always Passed

privacypolicy

Supported Indicates if the app has a privacy policy, where 0 = no, 1 = yes. Always Passed

paid

Supported 0 = app is free, 1 = the app is a paid version. Always Passed

publisher

Supported Details about the Publisher (Section 3.2.15) of the app Always Passed

content

Not Supported Details about the Content (Section 3.2.16) within the app

keywords

Not Supported Comma separated list of keywords about the app

ext.devuserid

Supported A developer's own persistent unique user identifier Always Passed

ver

Supported The version of the application Always Passed

ext.storecat

Supported Google Play and Apple App Store category definitions.  For example, "games" Always Passed

ext.storesubcat

Supported Google Play and Apple App Store Sub-game category definitions.  The array is always capped at 3 strings Always Passed

ext.fmwname

Supported A string value describing if the app is using the unity or native framework, listed as "unity" or "native" Always Passed

ext.apilevel

Supported (Android only) An integer value that specifies the API level supported. Always Passed
 

Object: Publisher

Attribute Status Description Display Video

id

Supported Exchange-specific publisher ID Always Passed

name

Supported Publisher name (may be aliased at the publisher’s request). Always Passed

cat

Not Supported

Array of IAB content categories that describe the publisher.

Refer to List 5.1.

domain

Supported Highest level domain of the publisher (e.g., “publisher.com”). Always Passed

Domain

Supported The developer domain used for app-ads.txt Always Passed
 

Object: Device

Attribute Status Description Display Video

ua

Supported Browser user agent string that informs about device data For example: "ua":"Mozilla\/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Mobile\/16D57"

dnt

Supported Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track. DT passes DNT = 1 when LMT is set to 1. This parameter is used to signal when ad advertiser should not behaviorally target.

lmt

Supported Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. When Limit Ad Tracking is enabled on iOS 10 or greater, Advertising Identifier (IFA) will be replaced with a non-unique value of all zeros to prevent the serving of targeted ads. IFA will be passed in iOS versions below 10.

ip

Supported IPv4 address closest to device. Example, 86.179.150.0 Always passed. IPv4 is defined as an IP address with a 32-bit value

ipv6

Supported IP address closest to device as IPv6. Always passed. IPv4 is defined as an IP address with a 128-bit value. For example:
"2001:0db8:85a3:0000:0000:
8a2e:0370:7334"

devicetype

Supported The general type of device. Refer to List 5.2. Always Passed

make

Supported Device make (e.g., “Apple”). Always Passed

model

Supported Device model (e.g., “iPhone”) Always Passed

os

Supported Device operating system (e.g., “iOS”) Always Passed

osv

Supported Device operating system version (e.g., “3.1.2”) Always Passed

hwv

Supported Hardware version of the device Always Passed.

h

Supported Physical height of the screen in pixels Always Passed

w

Supported Physical width of the screen in pixels Always Passed

ppi

Coming Soon Screen size as pixels per linear inch Always Passed

pxratio

Coming Soon The ratio of physical pixels to device independent pixels Always Passed

js

Supported Support for JavaScript, where 0 = no, 1 = yes DT always passes 1, where 1 = yes Javascript is supported

geofetch

Not Supported Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes

flashver

Not Supported< Version of Flash supported by the browser

language

Supported Browser language using ISO-639-1-alpha-2 Always Passed

carrier

Supported Carrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders a priority Always Passed

mccmnc

Not Supported Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA)
Refer to https://en.wikipedia.org/wiki/ Mobile_country_code for further examples

Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity.

connectiontype

Supported Network connection type. Refer to List 5.22. Always Passed

ifa

Supported ID sanctioned for advertiser use in the clear (i.e., not hashed) Passed when available. Represents the IDFA or AAID DT receives from the user's device. When there is no GDPR consent or the user has opted out according to CCPA, IFA is still passed. DT omits all necessary data to comply with GDPR and CCPA.

didsha1

Deprecated Hardware device ID (e.g., IMEI); hashed via SHA1

didmd5

Deprecated Hardware device ID (e.g., IMEI); hashed via MD5

dpidsha1

Not Supported Platform device ID (e.g., Android ID); hashed via SHA1

dpidmd5

Not Supported Platform device ID (e.g., Android ID); hashed via MD5

macsha1

Not Supported MAC address of the device; hashed via SHA1.

madmd5

Not Supported MAC address of the device; hashed via MD5

ext.inputLanguage

Supported A string array containing the languages setup on the user's device keyboard DT will pass a comma separated array in the following format "xx", "xx" containing the country codes. For example, if a user has the English and Hebrew languages on their keyboard, DT will pass "en", "he"

ext.ifv

Supported (iOS only). A persistent unique identifier for each app on a device that identifies the device to the app's vendor.  The value of this property is the same for apps that come from the same vendor running on the same device.  A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor. Always Passed

ext.atts

Supported (iOS only) An integer passed to represent the app's app. tracking authorisation status, where
0 = not determined
1 = restricted
2 = denied
3 = authorized
Always Passed

ext.imputlanguage

Supported A string array containing the languages setup on the user's device keyboard.  Country codes are passed in the string array, where "en", "he" = English and Hebrew languages are enabled on the suer's device keyboard Always Passed

ext.diskspace

Supported An integer value describing the available disk space on the device in megabytes, where "18201" = device has 18201 MB of available disk space.  MB will be rounded up and passed as a whole number to align with Apple's data user and user privacy. Always Passed

ext.totaldisk

Supported An integer value describing the total disk space on the device in megabytes, where "63989" = 63989 MB of total disk space.  MB will be rounded up and passed as a whole number to align with Apple's data use and user privacy Always Passed

ext.ringmute

Supported (Android only) An integer value describing the device sound setting during time of ad request describing if sound is set to ring or mute, where "0" - mute and "1" = ring. Always Passed

ext.charging

Supported An integer value describing if the device is connected to a charger, where, "0" unplugged, "1" plugged into power outlet Always Passed

ext.bluetooth

Supported A boolean value indicating if the dice is connected to bluetooth where "1" = connected to bluetooth Always Passed

ext.headset

Supported A boolean value indicating if the device is connected to a wired headset, where "1" = device is connected to any wired headset and "0" = no wired headset is connected Always Passed

ext.batterylevel

Supported An integer passed describing percent battery remaining on the user's device, segmented into buckets, where
100-85% = 8
84-70% = 7
69-55% = 6
54-40% = 5
39-25% = 4
21-10% = 3
9-5% = 2
< 5% = 1
Always Passed

ext.batterysaver

Supported A blloean value indicating if batter saver ("Low Power Mode" on iOS) has been enabled, where "1" = batter saver, "0" = not enabled Always Passed

hwv

Supported The hardware version of the device passed as a string.  For example, "iPhone X" Always Passed

ipv6

Supported IP address with a 128-bit value Always Passed

utcoffset

Supported Local time as the number +/- of minutes from UTC Always Passed

ext.darkmode

Supported A boolean value indicating if dark mode is enabled on the device, where "1" = airplane mode enabled, "0"= not enabled Always Passed

ext.airplane

Supported (Android only) A boolean value indicating if airplane mode is enabled, where "1" = airplane mode enabled, "0" = not enabled Always Passed

ext.dnd

Supported (Android only) A boolean value indicating if do not disturb setting is enabled, where "1" = do not disturb enabled, "0" = not enabled.  
 

Object: Geo

Attribute Status Description Display Video

lat

Supported Latitude from -90.0 to +90.0, where negative is south DT passes the lat/long from the device when the app has obtained permission to collect location. When no lat/long is passed by the device, DT uses Maxmind to pass derived lat/long based on IP address.

lon

Supported Longitude from -180.0 to +180.0, where negative is west DT passes the lat/long from the device when the app has obtained permission to collect location. When no lat/long is passed by the device, DT uses Maxmind to pass derived lat/long based on IP address.

type

Supported Source of location data; recommended when passing lat/lon. Refer to List 5.20 DT always passes 1 when lat/long is directly passed from the device. DT will pass 2 when location is derived from IP address.

accuracy

Supported Estimated location accuracy in meters; recommended when lat/lon are specified and derived from a device’s location services (i.e., type = 1). Note that this is the accuracy as reported from the device. Consult OS specific documentation (e.g., Android, iOS) for exact interpretation. DT will pass the estimated horizontal accuracy of the location, radial, in meters. Value passed when received from the SDK. Example output 0.05

lastfix

Coming Soon Number of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken. The time accuracy of the location. The number of seconds since the location was retreived. Format is in total number of seconds. For example, 30.12 will be passed if the lat/long was collected 30 seconds ago

ipservice

Supported Service or provider used to determine geolocation from IP address if applicable (i.e., type = 2). Refer to List 5.23. DT always passes 3 for Maxmind

country

Supported Country code using ISO-3166-1-alpha-3. Always passed. Country is derived from Maxmind IP address mapping

region

Supported Region code using ISO-3166-2; 2-letter state code if USA. Always passed. Region is derived from Maxmind IP address mapping.

regionfips104

Not Supported Region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it has been withdrawn by NIST in 2008.

metro

Deprecated Google metro code; similar to but not exactly Nielsen DMAs. See Appendix A for a link to the codes.

city

Supported City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes. Always passed. City is derived from Maxmind IP address mapping.

zip

Supported The home zip or postal code of the user DT will pass the user's zip code when this data is passed from the app in the ad request. If zip is not passed, maxmind IP to zip mapping is used.

utcoffset

Coming Soon Local time as the number +/- of minutes from UTC DT will read the local time of the user's device and convert into UTC time. Format hh:mm

Object: User

Attribute Status Description Display Video

id

Not Supported Exchange-specific ID for the user. At least one of id or buyeruid is recommended

buyeruid

Not Supported Buyer-specific ID for the user as mapped by the exchange for the buyer. At least one of buyeruid or id is recommended.

yob

Supported Year of birth as a 4-digit integer DT will only pass the user YOB when we receive 1st party data from the publisher's SDK via the ad request

gender

Supported Gender, where “M” = male, “F” = female, “O” = known to be other (i.e., omitted is unknown) DT will only pass the user gender when we receive 1st party data from the publisher's app in the ad request

keywords

Not Supported Comma separated list of keywords, interests, or intent

customdata

Not Supported Optional feature to pass bidder data that was set in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks.

geo

Not Supported Location of the user’s home base defined by a Geo object (Section 3.2.19). This is not necessarily their current location.

data

Not Supported Additional user data. Each Data object (Section 3.2.21) represents a different data source.

ext.consent

Supported Extension to signal whether or not the user subject to GDPR regulations has given consent Always Passed.
The GDPR consent parameter is passed to indicate if the user has provided consent. DT passes the IAB consent string based on the IAB Consent & Transparency Framework. If no consent string is available, DT will fallback to boolean values (0/1) in string format:
  • 0 = No consent given by user
  • 1 = User has given consent
  • A null value indicates no consent has been given by the user

For bid requests with no consent, DT anonymizes bid request data per the below:
  • Remove GPS coordinates up to 2 decimals (0.01)
  • Remove the last octet from IP address (IPv4 & IPv6), meaning IP 98.14.137.121 will become 98.14.137.000
  • Omit zip code completely
  • IFA (AAID/IDFA) will not be removed
Please refer to DT's GDPR FAQ for more information

ext.impdepth

Supported The count of impressions for a specific placement type in a given app session.  The impression depth is reset once the session ends. Always Passed

ext.sessionduration

Supported The total duration of a time a user has spent so far in a specific app session expressed in seconds.  For example, a user has been playing Word Game for 45 seconds. Always Passed

ext.lastbundle

Supported (iOS only) The last app bundle the user saw on the previous impression in a given session per placement type. Always Passed

ext.lastadomain

Supported The last advertiser domain the user saw on the previous impression in a given session per placement type. Always Passed

ext.clickrate

Supported The percentage of clicks/impressions per user per placement type over a given number of impressions, where 5 represents a 5% CTR Always Passed

ext.lastclick

Supported VAST specific.  A boolean value indicating if the user skipped the video on the last impression in a given session, where "1" = user skipped Always Passed

ext.lastclicktype

Supported VAST Specific.  An integer value indicating what part of the video the user click on, where "0" = no click, "1" = ClickThrough, and "2" = CompanionClickThrough Always Passed

ext.completionrate

Supported The percentage of completions/impressions per user per placement type for a given number of impressions, where 70 represents 70% completion rate.  This only applies to Rewarded and Video placement types. - Always Passed
 

Object: Data

Attribute Status Description Display Video

id

Not Supported Exchange-specific ID for the data provider.

name

Not Supported Exchange-specific name for the data provider

segment

Not Supported Array of Segment (Section 3.2.22) objects that contain the actual data values.

Object: Segment

Attribute Status Description Display Video

id

Not Supported ID of the data segment specific to the data provide

name

Not Supported Name of the data segment specific to the data provider

value

Not Supported String representation of the data segment value
 

Bid Response

Object: BidResponse

Attribute Status Description Display Video

id

Supported The bid response ID must be the same as the bid request ID. They are used for tracking purposes. Required

seatbid

Supported Array of seatbid objects; 1+ required if a bid is to be made. Required. DT does not support multi-bid response. The response cannot be an array of bids because DT only passes a single bid opportunity.

bidid

Supported Bidder generated response ID to assist with logging/tracking Recommended

cur

Supported Bid currency using ISO-4217 alpha codes. USD is the only supported currency on DT

customdata

Not Supported Optional feature to allow a bidder to set data in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks.

attr

Supported Set of attributes describing the creative. Refer to List 5.3. This is a required parameter for all playable ads. The DSP should reply with a value of 13.

ext.crtype

Supported Custom extension used to identify the type of ad markup the DSP is responding with. This is a required parameter for all playable ads. MRAID playables should be passed as "Playable". Use the table below for each ad format value.

ext.apis

Supported List of supported API frameworks for this impression.   
If an API is not explicitly listed, it is assumed not to be supported.
Optional
 

bid.ext.crtype Table

Ad Format bid.ext.crtype Values on Bid Response
HTML Ads HTML
MRAID MRAID 1.0, MRAID 2.0, MRAID 3.0
VAST VAST 2.0, VAST 3.0
Playables Playable
Rewarded Playables Playable
Rewarded Video VAST 2.0, VAST 3.0
MRAID Video Null

Object: SeatBid

Attribute Status Description Display Video

bid

Supported Array of 1+ Bid objects (Section 4.2.3) each related to an impression. Multiple bids can relate to the same impression. Required. DT does not support multi-bid response. The response cannot be an array of bids because DT only passes a single bid opportunity.

seat

Supported ID of the buyer seat (e.g., advertiser, agency) on whose behalf this bid is made.  

group

Not Supported 0 = impressions can be won individually; 1 = impressions must be won or lost as a group
 

Object: Bid

Attribute Status Description Display Video

id

Supported Bidder generated bid ID to assist with logging/tracking. Required. Example: 2220113759154284354

impid

Supported ID of the Imp object in the related bid request. Required. Bid responses with no impid will be filtered out.

price

Supported Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (e.g., BigDecimal in Java). DT's system recognises two decimal places and rounds them down - for example, 2.557 becomes 2.55. Required. Bid responses with no price will be filtered out.

nurl

Supported Win notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup. Substitution macros (Section 4.4) may be included in both the URL and optionally returned markup. The nurl is fired from DT's servers when the bidder has won the auction. nurl should not be used for counting impressions. Please use an impression tracking pixel or the burl for counting impressions.

burl

Supported Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (e.g., typically delivered, viewed, etc.). Substitution macros (Section 4.4) may be included. The burl can be used for counting impressions. The burl is fired from DT's servers when DT counts an impression.

lurl

Supported Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros (Section 4.4) may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string). The lurl is fired for loss notifications

adm

Supported Optional means of conveying ad markup in case the bid wins; supersedes the win notice if markup is included in both. Substitution macros (Section 4.4) may be included. Required for all programmatic partners (except programmatic mediation networks i.e., PNMs). Bid requests with no adm will be filtered out. The adm contains the creative tag.

adomain

Supported Advertiser domain for block list checking (e.g., “ford.com”). This can be an array of for the case of rotating creatives. Exchanges can mandate that only one domain is allowed. Required on all bid responses.

bundle

Supported A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is a numeric ID. Should always be returned, when applicable

iurl

Supported URL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking Required on all bid responses.

cid

Supported Campaign ID to assist with ad quality checking; the collection of creatives for which iurl should be representative Required on all bid responses.

crid

Supported Creative ID to assist with ad quality checking Required on all bid responses.

tactic

Not Supported Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. The specific usage and meaning of the tactic ID should be communicated between buyer and exchanges a priority.

cat

Supported IAB content categories of the creative. Refer to List 5.1  

qagmediarating

Not Supported Creative media rating per IQG guidelines. Refer to List 5.19.

dealid

Supported Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal If DT does not receive the deal ID from the partner in the bid response, DT will run the auction and serve the winning bid according to open marketplace mechanics. No deal attributes will be used without deal ID in the bid response.
 

Object: BidResponse.seatbid.bid.ext.skadn

Attribute Status Description
version Supported Version of SKAdNetwork desired.  Must be 2.0 or above.
network Supported Ad network identifier used in signature.  Should match one of the items in the skadnetids array in the request
campaign Supported Campaign ID compatible with Apple's spec.  As of 2.0, should be an integer between 1 and 100, expressed as a string.
itunesitem Supported ID of advertiser's app in Apple's app store.  Should match BidResponse.seatbid.bid.bundle
fidelities Supported Supports multiple fidelity types introduced in SKAdNetwork v2.2
nonce Supported An id unique to each ad response.  Refer to Apple's documentation for the proper UUID format requirements.
Note: With the release of SKAdNetowrk v2.2, this field is deprecated in favor of the BidResponse.seatbid.bid.ext.dkadn.fidelities
.nonce
sourceapp Supported ID of publisher's app in Apple's app store.  Should match BidRequest.imp.ext.skad.sourceapp
timestamp Supported

Unix t ime in millis string used at the time of signature.

Note: With the release of SKAdNetwork 2.2, this field is deprecated in favor of BidResponse.seatbid.bid.ext.skadn.fidelities.
timestamp
to support multiple fidelity-types.

signature Supported

SKAdNetwork signature as specified by Apple.

Note: With the release of SKAdNetwork 2.2, this field is deprecated in favor of the BidResponse.seatbid.bid.ext.skadn.fidelities.
signature
to support multiple fidelity-types.

ext None Placeholder for exchange-specific extensions to Open RTB.

Object: BidResponse.seatbid.bid.ext.skadn.skoverlay

Attribute Status Description Type
present Supported Should DTX present the SKOverlay

boolean
Example: 
“present”:1

dismissible Supported Should overlay be dismissable by the user or not boolean
Example:
“dismissible”:0
delay Supported Delay in seconds before showing the overlay (0-60)

int; default 0
Example: “delay”:5

pos

Supported

Position of the overlay;
0 = bottom, 1 = bottom raised

boolean
Example: “pos”:0

endcarddelay

Supported

Delay in seconds before showing the overlay on top of the end card (0-60).
Use -1 if you do not want to show the overlay on top of the end card

int; default 0
Example: 
"endcarddelay":0

endcard

Not Supported

Show overlay on the endcard or not

boolean
Example: “endcard”:1

autoclose

Supported

Time in seconds to automatically dismiss the endcard (0-60)

int
Example: “autoclose”:0

ext

Supported

Placeholder for exchange-specific extensions to OpenRTB.

object
Example: “ext”:{}

Object: BidResponse.seatbid.bid.ext.fidelities

Attribute Status Description
fidelity Supported The fidelity-type of the attribution to track
nonce Supported An id unique to each ad response.  Refer to Apple's documentation for the proper UUID format requirements.
timestamp Supported Unix time in millis string used at the time of signature
signature Supported SKAdNetwork signature as specified by Apple
ext Supported Placeholder for exchange-specific extensions to OpenRTB

Enumerated Lists

IAB Categories

For the full list, including the sub categories, please refer to the OpenRTB 2.3 Document, Table 5.1

Value Description
IAB1 Arts & Entertainment
IAB2 Automotive
IAB3 Business
IAB4 Careers
IAB5 Education
IAB6 Family & Parenting
IAB7 Health & Fitness
IAB8 Food & Drink
IAB9 Hobbies & Interests
IAB10 Home & Garden
IAB11 Law, Government and Politics
IAB12 News
IAB13 Personal Finance
IAB14 Society
IAB15 Science
IAB16 Pets
IAB17 Sports
IAB18 Style & Fashion
IAB19 Technology & Computing
IAB20 Travel
IAB21 Real Estate
IAB22 Shopping
IAB23 Religion & Spirituality
IAB24 Uncategorized
IAB25 Non-Standard Content
IAB26 Illegal Content

Creative Attributes Table

These are from the OpenRTB 2.3 Specifications list, Table 5.3.

Value Description
1 Audio Ad (Auto Play)
2 Audio Ad (User Initiated)
3 Expandable (Automatic)
4 Expandable (User initiated - Click)
5 Expandable (User initiated - Rollover)
6 In banner video ad (Auto play)
7 In banner video ad (User initiated)
8 Pop (i.e., Over Under or Upon exit)
9 Provocative or suggestive imagery
10 Shaky, flashing, flickering, extreme animation, or smileys
11 Surveys
12 Text only
13 User Interactive (i.e. Embedded games)
14 Windows dialog or alert style
15 Has audio on/off button
16 Ad can be skipped (i.e., skip button on preroll video)

 API Frameworks Table

These are from the OpenRTB 2.5 Specifications list, Table 5.6.

Value Description
3 MRAID-1
4 ORMMA
5 MRAID-2
7 OMID-1

Back to Top ⇧