The Trade Desk Standard Adapter
The standard adapter integration allows publishers to integrate with The Trade Desk platform—for example, via OpenPath. The Standard Adapter has been set up and tested, and is ready to go live with no customization development work required.
Standard Adapter reference overview
The object model reference for The Trade Desk Standard Adapter consists of two parts—bid request and bid response—and is based on the IAB OpenRTB (Real-Time Bidding) API Specification (version 2.6). To find specific values of certain fields, you can either use the provided links to the specifications or look up the enum values included in the downloadable Standard Adapter protobuf file.
Here's what you need to know about The Trade Desk Standard Adapter reference:
- The reference uses the same terms and conventions as the OpenRTB specification.
- The Trade Desk Standard Adapter does not use all objects and parameters included in the OpenRTB specification.
- Parameter usage, default values, and other relevant information are provided in the Description column.
- Only the USD currency is supported.
- Only specific genres are supported. For details, see Content signal taxonomy reference.
- If you send a podded bid request, a transaction ID is required. For details, see Impression Extensions object and Source Object.
- For troubleshooting bid request codes, see Loss reason codes and No-Bid reason codes.
Field designations and enforcement
The following designations define how The Trade Desk uses the fields and processes bid requests when those fields are present or absent.
| Designation | Definition |
|---|---|
| Required | The field must be present in the bid request. If a required field is missing, The Trade Desk will drop the bid request or make it ineligible for certain buying workflows. |
| Recommended | The field is strongly encouraged. Missing or null values can result in reduced bid eligibility or impression devaluation. |
| Optional | The field provides additional context. Omission does not affect bid request processing. |
| Not used | The field is not consumed by The Trade Desk and has no impact on bid evaluation. |
The following sections outline the ads.txt and app-ads.txt requirements, illustrate the bid request and bid response object models, and provide respective field-level object references.
Ads.txt and app-ads.txt requirements
ads.txt and app-ads.txt are text files introduced by the IAB that participating publishers attach to their websites. Having these files helps prevent ad fraud and provides buyers with transparency. For details, see Inventory policies.
The following table lists ads.txt parameters and subordinate objects.
| Field | Required? | Data type | Description |
|---|---|---|---|
managerdomain |
Required if the company is the ad inventory manager, not the owner | String | Identifies the company responsible for managing ad inventory for a website. |
inventorypartnerdomain |
Required if the inventory is owned by and shared with another partner | String | When a site or app includes ad inventory that is owned by another partner, the site or app should have the domain listed for that partner through this directive. The partner’s ads.txt or app-ads.txt file is hosted at this location. |
ownerdomain |
Required | String | Indicates the business domain of a website or app owner. |
Bid request object model
The following is The Trade Desk bid request object model. To jump to specific object references, use the navigation on this page.
For an overview of the OpenRTB object model, see the IAB tech lab specification.
TIP: For end-to-end bid request examples, see Dynamic podded bid response example, DOOH bid request example, and Banner bid response example.
Bid Request object
The top-level bid request object contains a globally unique bid request or auction ID. The following table lists its parameters and subordinate objects.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Required | String | The unique ID of the bid request, provided by the exchange. |
imp |
Required | Object array | An array of Impression objects representing the impressions offered. At least one imp object is required. |
site |
Required for web impressions | Object | A Site object with details about the publisher's website. Only applicable and recommended for websites. |
app |
Required for in-app impressions | Object | An App object with details about the publisher's app (for example, non-browser applications). Only applicable and recommended for apps. |
device |
Recommended | Object | A Device object with details about the user's device for impression delivery. |
user |
Required for web impressions | Object | A User object with details about the human user of the device, as part of the advertising audience. |
test |
Optional | Integer | Indicator of the test mode where auctions are not billable. Possible values include the following:
|
at |
Recommended | Integer | The auction type. Here's what you need to know about this property:
|
tmax |
Optional | Integer | The maximum time in milliseconds to bid before timeout. This value is commonly communicated offline. |
wseat |
Optional | String array | A list of buyer seats allowed to bid on the impression. Seat IDs must be communicated between bidders and the exchange in advance. Omission implies no seat restrictions. |
allimps |
Optional | Integer | A flag indicating if the exchange can verify that all offered impressions represent every available impression in context (for example, all on the web page, all video spots such as pre-roll, mid-roll, or post-roll) to support road-blocking. Possible values include the following:
|
cur |
Optional | String array | An array of allowed currencies for bids using ISO-4217 alpha codes. Recommended only if the exchange accepts multiple currencies. |
bcat |
Optional | String array | Blocked advertiser categories using the IAB 2.2 content categories. If you are using IAB 1.0, see IAB Content Taxonomy Mapping: Version 1.0 to 2.2. |
cattax |
Optional | Integer | The category taxonomy in use for the bcat property. IMPORTANT: For IAB Category Taxonomy 2.2, always set the value to 6. |
badv |
Optional | String array | Block list of advertisers by their domains (for example, ford.com). |
source |
Recommended | Object | A Source object that provides information about the inventory source, including the entity that makes the final sale decision for the impression. |
regs |
Recommended | Object | A Regs object that specifies any industry, legal, or governmental regulations in force for this request. |
ext |
Optional | Object | A placeholder object for bid request-specific extensions. |
Impression object
The imp object is a container for the description of a specific impression. At least one is required per request. The following table lists the impression object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Required | String | A unique identifier for this impression within the context of the bid request (typically, the value starts with 1 and increments up to n for n number of impressions). |
banner |
Required for banner impressions | Object | A reference to a Banner object. A banner, video, native, or audio object must be included in an impression object, or multiple if more than one type can meet the request. |
video |
Required for video impressions | Object | A reference to a Video object. A banner, video, native, or audio object must be included in an impression object, or multiple if more than one type can meet the request. |
native |
Required for native impressions | Object | A Native object. A banner, video, native, or audio object must be included in an impression object, or multiple if more than one type can meet the request. |
audio |
Required for audio impressions | Object | An Audio object. A banner, video, native, or audio object must be included in an impression object, or multiple if more than one type can meet the request. |
displaymanager |
Optional | String | The name of the ad mediation partner, SDK technology, or native player responsible for rendering the ad (typically video or mobile). Used by some ad servers to customize ad code by partner. |
displaymanagerver |
Optional | String | The version of the ad mediation partner, SDK technology, or native player responsible for rendering the ad (typically video or mobile). Used by some ad servers to customize ad code by partner. |
instl |
Optional | Integer | Indicates whether the ad is interstitial or full screen:
|
tagid |
Recommended | String | The ID for the specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging issues or optimizing processes by the buyer. IMPORTANT: Accurate tag IDs ensure that The Trade Desk optimization technologies for certain types of inventory are more precise. Here's what you need to know:
|
bidfloor |
Optional | Float | The bid floor for this impression (in CPM of bidfloorcur). The default value is 0.IMPORTANT: Sending a bid floor can result in fewer bids being submitted. |
bidfloorcur |
Optional | String | If the bid floor is specified and multiple currencies are supported per bid request, then the currency should be specified here using ISO-4217 alphabetic codes. The only supported value is USD.NOTE: This may be different from the bid currency returned by the bidder, if this is allowed on an exchange. |
secure |
Optional | Integer | The flag to indicate whether the impression requires secure HTTPS URL creative assets and markup. Possible values include the following:
|
iframebuster |
Optional | String array | An array of names for supported iframe busters. Exchange-specific. |
pmp |
Optional | Object | A reference to the PMP object containing deals eligible for the impression object. |
exp |
Optional | Integer | The bid expiration in seconds. Necessary for on-render billing. |
rwdd |
Required if rewarded ad units are involved | Integer | If set to 1, the user receives a reward for viewing the ad.For example, in video ad implementations, users can receive rewards such as being able to read an additional news article for free, get an extra life in a game, or get a sponsored ad-free music session. The user usually receives the reward after the video ad is complete. |
qty |
Optional | Object | A Qty object that specifies a multiplier representing the total quantity of impressions for ads that display to more than one person. Primarily used for DOOH placements. |
refresh |
Optional | Object | A Refresh object with details about the automatic refresh of this ad slot. |
ext |
Recommended | Object | For details, see ImpressionExtensions object. |
Impression Extensions object
The following table lists the Impression ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
viewabilityvendors |
Optional | String array | The viewability provider tags to be appended to the bid response. |
gpid |
Recommended | String | The global placement ID, a distinct and persistent ID for each ad unit on a page. |
tid |
Recommended | String | Transaction ID. Must be common across all participants in the bid request (potentially multiple exchanges). Here's what you need to know:
|
tidt |
Recommended | Integer | The transaction ID type that determines whether the transaction ID is from the publisher or intermediary. Here's what you need to know:
|
For an implementation example, see Banner bid request example.
Banner object
The banner object details for a banner impression (including in-banner video) or video companion ad. The following table lists the banner object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
w |
Required for banner impressions | Integer | The width of the impression in pixels. |
h |
Required for banner impressions | Integer | The height of the impression in pixels. |
wmax |
Optional | Integer | The maximum width of the impression in pixels. If included, it indicates that a range of sizes is allowed with this maximum width and w is taken as recommended. |
hmax |
Optional | Integer | The maximum height of the impression in pixels. If included, it indicates that a range of sizes is allowed with this maximum height and h is taken as recommended. |
wmin |
Optional | Integer | The minimum width of the impression in pixels. |
hmin |
Optional | Integer | The minimum height of the impression in pixels. |
format |
Optional | Object array | An array of Format objects representing the banner sizes permitted. |
id |
Recommended when subordinate to a Video object | String | The unique identifier for this banner object. Useful for tracking multiple banner objects (for example, in a companion banner array). Usually starts with 1, increasing with each object.IMPORTANT: The combination of impression ID banner objects must be unique. |
pos |
Recommended | Integer | The ad position. For possible values, see List: Placement Positions in the AdCOM 1.0 specification. NOTE: Some buyers require this to be set. IMPORTANT: Being untruthful with this value results in filtering and blocklisting the publisher or site. |
btype |
Optional | Integer array | Blocked creative types. Possible values include the following:
|
battr |
Optional | Integer array | Blocked creative attributes. For possible values, see List: Placement Positions in the AdCOM 1.0 specification. If blank, assume all attributes are allowed. NOTE: The Trade Desk does not support all battr values. Certain battr values may be ignored. |
mimes |
Optional | String array | An allowlist of supported content MIME types. The popular MIME types include but are not limited to image/png and image/gif. |
topframe |
Optional | Integer | Specifies if the banner is delivered in the top frame or in an iframe. Possible values include the following:
|
expdir |
Optional | Integer array | Specifies properties for an expandable ad. For possible values, see List: Expandable Directions in the AdCOM 1.0 specification. |
api |
Recommended | Integer array | A list of supported API frameworks for this banner. For possible values, see List: API Frameworks in the AdCOM 1.0 specification. If an API is not explicitly listed, it is assumed not to be supported. |
ext |
Optional | Object | For details, see BannerExtensions object. |
Banner Extensions object
The following table lists the banner ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
bidfloor |
Optional | Float | The minimum CPM bid for the impression. The default value for the property is 0. |
Format object
The format object specifies the allowed size of a banner. The following table lists the available format object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
w |
Required for banner impressions | Integer | The width in device independent pixels (DIPS). |
h |
Required for banner impressions | Integer | The height in DIPS. |
wratio |
Optional | Integer | The relative width when expressing size as a ratio. |
hratio |
Optional | Integer | The relative height when expressing size as a ratio. |
wmin |
Optional | Integer | The minimum width in DIPS when expressing size as a ratio. |
ext |
Optional | Object | A placeholder object for format-specific extensions. |
Video object
The video object contains video impression details. For policy guidelines and requirements, see inventory policies. The following table lists the available video object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
mimes |
Required for video impressions | String array | Content MIME types that are supported (for example, video/mp4). |
minduration |
Required for video impressions | Integer | The minimum video ad duration in seconds. NOTE: If the rqddurs values are specified in the request, they take precedence. |
maxduration |
Required for video impressions | Integer | The maximum video ad duration in seconds. NOTE: If the rqddurs values are specified in the request, they take precedence. |
rqddurs |
Recommended | Integer array | An array of precise, acceptable durations (in seconds) for video creatives. This field specifically targets the live TV use case where non-exact ad durations would result in undesirable 'dead air.' If specified, this field takes precedence if the minduration and maxduration values are also present in the request. |
startdelay |
Recommended | Integer | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placement.
|
plcmt |
Required | Integer (Enum) | The video placement type for the impression. For possible values, see List: Plcmt Subtypes - Video in the AdCOM 1.0 specification. |
placement |
Deprecated | Integer | The property is deprecated. Use plcmt instead. |
linearity |
Recommended | Integer | Indicates whether the ad impression is linear or non-linear. Possible values include the following:
|
pos |
Optional | Integer | The ad position. For possible values, see List: Placement Positions in the AdCOM 1.0 specification. NOTE: Some buyers require this to be set. |
playbackmethod |
Optional | Integer array | The list of allowed video playback methods. An empty value indicates that the video can use all methods to play. For possible values, see List: Playback Methods in the AdCOM 1.0 specification. |
w |
Recommended | Integer | The width of the player in pixels. This field is not required, but it's highly recommended that the information be included. IMPORTANT: Being untruthful with this value results in filtering and blocklisting the publisher or site. |
h |
Recommended | Integer | The height of the player in pixels. This field is not required, but it's highly recommended that the information be included. IMPORTANT: Being untruthful with this value results in filtering and blocklisting the publisher or site. |
protocols |
Recommended | Integer array | An array of supported video bid response protocols. The Trade Desk currently supports VAST 2.0, VAST 2.0 wrapper, VAST 3.0 and VAST 3.0 wrapper. At least one supported protocol should be specified. |
protocol |
Deprecated | Integer | The property is deprecated. |
api |
Recommended | Integer array | A list of supported API frameworks for this impression. For possible values, see List: API Frameworks in the AdCOM 1.0 specification. IMPORTANT: The Trade Desk does not bid on impressions that are missing the property. |
delivery |
Optional | Integer array | A list of supported delivery methods (for example, streaming, progressive). If blank, assume all are supported. For possible values, see List: Delivery Methods in the AdCOM 1.0 specification. |
minbitrate |
Optional | Integer | The minimum bit rate in Kbps. The exchange may set this dynamically or universally across their set of publishers. The Trade Desk uses this parameter to select a video creative that contains at least one media file that falls within the bit rate range. |
maxbitrate |
Optional | Integer | The maximum bit rate in Kbps. The exchange may set this dynamically or universally across their set of publishers. The Trade Desk uses this parameter to select a video creative that contains at least one media file that falls within the bit rate range. |
boxingallowed |
Optional | Integer | If the exchange publisher has rules preventing letter boxing of 4x3 content to play in a 16x9 window, set the property to false. The default setting is true, which assumes that the boxing of content to fit into a window is allowed. Possible values include the following:
|
skip |
Optional | Integer | If set to 0, the user cannot skip the video ad.If set to 1, the user can skip the video ad. |
skipmin |
Optional | Integer | The duration, in seconds, that a video ad must exceed before the user can skip it. NOTE: You can include this value only if the ad is skippable. |
skipafter |
Optional | Integer | The number of seconds a video must play before skipping is enabled. NOTE: You can include this value only if the ad is skippable. |
battr |
Optional | Integer array | Blocked creative attributes. For possible values, see List: Creative Attributes in the AdCOM 1.0 specification. If blank, assume all types are allowed. |
maxextended |
Optional | Integer | The maximum extended video ad duration, if extension is allowed.
|
sequence |
Optional | Integer | If multiple ad impressions are offered in the same bid request, the sequence number allows for the coordinated delivery of multiple creatives. The default value is 1. |
companionad |
Optional | Object array | If companion ads are available, they can be listed as an array of Banner objects. |
companiontype |
Optional | Integer array | Recommended if companion objects are included. For possible values, see List: Companion Types in the AdCOM 1.0 specification. |
maxseq |
Required | Integer | The maximum number of ads that may be served into a dynamic or hybrid video ad pod where the seller does not predetermine the precise number of ads. |
poddur |
Required for dynamic and hybrid ad pods |
Integer | The pod duration that indicates the amount of time (in seconds) that advertisers may fill for an ad pod, or the dynamic portion of a hybrid ad pod. NOTE: This field also indicates the duration of the entire ad break, whereas the minduration, maxduration, and rqddurs fields are constraints that relate to the slots in the pod. |
podid |
Required | String | A unique identifier per ad pod that remains unchanged from the ad server throughout the auction. It must be uniquely scoped to the bid request. When a request solicits demand for multiple pods, the identifier ensures it's clear which items in the imp array belong to each pod. |
podseq |
Recommended | Integer | The pod sequence number that indicates the position of the video ad pod in a content stream. Possible values include the following:-1 (last)0 (any) default value1 (first)For details, see AdCOM 1.0. |
slotinpod |
Recommended | Integer | The slot position number in a pod against which the seller can guarantee delivery. Possible values include the following:-1 (last)0 (any) default value1 (first)2 (first or last)For details, see AdCOM 1.0. |
mincpmpersec |
Recommended | Float | The minimum CPM per second. This is a price floor for the dynamic portion of an ad pod, relative to the duration of bids an advertiser may submit. |
poddedupe |
Recommended | Integer Enum Array | Indicates pod deduplication settings that will be applied to bid responses. For possible values, see List: Pod Deduplication Settings in the AdCOM 1.0 specification. NOTE: This field is provisional which means that IAB is monitoring the adoption of the field. If there is no adoption, this field might be removed in the future. |
ext |
Optional | Object | For details, see VideoExtensions object. |
TIP: For an end-to-end bid request example for CTV apps, see Dynamic podded bid request example.
Video Extensions object
The following table lists the Video ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
bidfloor |
Optional | Float | The minimum CPM bid for the impression. The default value for the property is 0. |
Audio object
The audio object contains audio impression details. The following table lists the available audio object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
mimes |
Required for audio impressions | String array | A list of supported content MIME types (for example, audio/mp4). |
minduration |
Required for audio impressions | Integer | The minimum video ad duration in seconds. |
maxduration |
Required for audio impressions | Integer | The maximum video ad duration in seconds. |
protocols |
Optional | Integer array | Allowed response protocols. For possible values, see List: Creative Subtypes - Audio/Video in the AdCOM 1.0 specification. |
startdelay |
Optional | Integer | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placement.
|
sequence |
Optional | Integer | If multiple ad impressions are offered in the same bid request, the sequence number ensures coordinated delivery of multiple creatives. |
battr |
Optional | Integer array | Blocked creative attributes. For possible values, see List: Creative Attributes in the AdCOM 1.0 specification. |
maxextended |
Optional | Integer | The maximum extended ad duration if extension is allowed.
|
minbitrate |
Optional | Integer | The minimum acceptable bitrate. |
maxbitrate |
Optional | Integer | The maximum acceptable bitrate. |
delivery |
Optional | Integer array | The supported delivery methods (for example, streaming, progressive). If none specified, assume all are supported. For possible values, see List: Delivery Methods in the AdCOM 1.0 specification. |
companionad |
Optional | Object array | If companion ads are available for this impression, they are listed as Banner objects. NOTE: If companionad is specified but companiontype is not, all companion types are considered allowed. |
companiontype |
Optional | Integer array | Describes companion resource types supported by the placement as defined by the IAB's VAST standard. |
api |
Optional | Integer array | A list of supported API frameworks for this impression. For possible values, see List: API Frameworks in the AdCOM 1.0 specification. |
maxseq |
Optional | Integer | The maximum number of ads that can be played in an ad pod. |
feed |
Recommended | Integer | The type of audio feed. For possible values, see List: Feed Types in the AdCOM 1.0 specification. |
stitched |
Optional | Integer | Indicates if the audio is stitched:
|
nvol |
Optional | Integer | The volume normalization mode. For possible values, see List: Volume Normalization Modes in the AdCOM 1.0 specification. |
dl |
Optional | Integer | Indicates if the audio file can be downloaded by the user:
|
ext |
Optional | Object | For details, see AudioExtensions object. |
Audio Extensions object
The following table lists the Audio ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
bidfloor |
Optional | Float | The minimum CPM bid for the impression. The default value for the property is 0. |
Native request wrapper
The following table lists the native object wrapper parameter.
| Field | Required? | Data type | Description |
|---|---|---|---|
native |
Optional | String | The top-level native request, just a wrapper for the native request object. |
See also the following subordinate native request object parameters:
- Object
- Extension
- Event
- Asset
- Title
- Image
- Data
- Video
Native Request object
This object is a container for a native impression conforming to the Dynamic Native Ads API. The following table lists the available object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
ver |
Optional | String | The version of the native markup version in use. |
layout |
Optional | Integer | The layout ID of the native ad unit. Supported values include the following:
|
adunit |
Optional | Integer | The ad unit ID of the native ad unit. Supported values include the following:
|
plcmtcnt |
Optional | Integer | The number of identical placements in the layout. |
plcmttype |
Optional | Integer | The design, format, or layout of the ad unit being offered. For possible values, see List: Display Placement Types in the AdCOM 1.0 specification. |
context |
Optional | Integer | The type of content in which the ad appears. For possible values, see List: Display Context Types in the AdCOM 1.0 specification. |
contextsubtype |
Optional | Integer | A more detailed context in which the ad appears. For possible values, see List: Display Context Types in the AdCOM 1.0 specification. |
seq |
Optional | Integer | The zero-based sequence of ads in the native request: 0 for the first ad, 1 for the second ad, and so on.IMPORTANT: This is not the sequence number of the content in the stream. |
aurlsupport |
Optional | Integer | If set to 1, the supply source supports the return of an asset URL instead of an asset object. |
durlsupport |
Optional | Integer | If set to 1, the supply sources support the return of a dynamic creative optimization (DCO) URL instead of an asset object. |
eventtrackers |
Optional | Object array | The list of supported event tracking types. For details, see Native Request Event Trackers object. |
privacy |
Optional | Integer | If set to 1, the native ad supports a buyer-specific privacy notice.If set to 0, the native ad does not support custom privacy links or the support for these URLs is unknown. |
assets |
Required for native impressions | Object array | An array of Asset objects. |
ext |
Optional | Object | For details, see native request extensions object. |
Native Request Extensions object
The following table lists the Native request ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
bidfloor |
Optional | Float | The minimum CPM bid for the impression. The default value for the property is 0. |
Native Request Event Trackers object
The following table lists the available native request event trackers object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
event |
Required | Integer (Enum) | The type of event available for tracking. |
methods |
Required | Integer array | The list of tracking types available for the given event. |
Native Request Asset object
The following table lists the available native request asset object parameters.
IMPORTANT: An asset object may contain only one of the Title, Img, Data, or Video object.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Required | Integer | The unique asset ID, typically a counter for the array. |
required |
Optional | Integer | Indicates if the asset is required (a bid is not accepted without it). |
title |
Optional | Object | The Title object for title assets. |
img |
Optional | Object | The Image object for image assets. |
video |
Optional | Object | The Video object for video assets. NOTE: In-stream video ads are not part of native ads. Native ads may contain a video as the ad creative itself. |
data |
Optional | Object | The Data object for ratings, prices etc. |
ext |
Not used | Object | A placeholder object for native request-specific extensions. |
Native Request Title object
The following table lists the available native request title object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
len |
Optional | Integer | The maximum length of the text in the title element. |
ext |
Not used | Object | A placeholder object for native request title-specific extensions. |
Native Request Image object
The following table lists the available native request image object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
type |
Optional | Integer | Type ID of the image element. Supported images type IDs include the following:
|
w |
Optional | Integer | The width of the image in pixels. |
wmin |
Optional | Integer | The minimum requested width of the image in pixels. This option should be used for any rescaling of images by the client. IMPORTANT: Either w or wmin should be transmitted. If only w is included, it is considered an exact requirement. |
h |
Optional | Integer | The height of the image in pixels. |
hmin |
Optional | Integer | The minimum requested height of the image in pixels. This option should be used for any rescaling of images by the client. IMPORTANT: Either h or hmin should be transmitted. If only h is included, it is considered an exact requirement. |
mimes |
Optional | String array | An allowlist of supported content MIME types. The popular MIME types include but are not limited to image/jpg and image/gif. |
ext |
Not used | Object | A placeholder for native request image-specific extensions. |
Native Request Data object
The following table lists the available native request data object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
type |
Required | Integer | The type ID of the element. Supported values include the following:
|
len |
Optional | Integer | The maximum length of the text in the element's response. |
ext |
Not used | Object | A placeholder object for native request data-specific extensions. |
Native Request Video object
The following table lists the available native request video object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
mimes |
Required | String array | A list of supported content MIME types. The popular MIME types include but are not limited to the following:
|
minduration |
Required | Integer | The minimum video ad duration in seconds. |
maxduration |
Required | Integer | The maximum video ad duration in seconds. |
protocols |
Required | Integer array | An array of video protocols the publisher can accept in the bid response. The Trade Desk supports the following protocols:
|
ext |
Not used | Object | A placeholder object for native request video-specific extensions. |
PMP object
This object is the private marketplace (PMP) container for direct deals between buyers and sellers that may pertain to this impression. The following table lists the available PMP object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
private_auction |
Recommended | Integer | The indicator of auction eligibility to seats named in the Deal objects. Possible values include the following:
|
deals |
Recommended | Object array | An array of deal objects that convey the specific deals applicable to this impression. |
ext |
Optional | Object | A placeholder object for PMP-specific extensions. |
Deal object
This object constitutes a specific deal that was struck between a buyer and a seller. The following table lists the available deal object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended | String | A unique identifier for the direct deal. |
bidfloor |
Optional | Float | The bid floor for this impression (in CPM of bidfloorcur). The default value is 0.IMPORTANT: Sending a bid floor can result in fewer bids being submitted. |
bidfloorcur |
Optional | String | USD is the only supported currency. |
at |
Recommended | Integer | An optional override for the overall auction type of the bid request. Possible values include the following:
|
wseat |
Optional | String array | A list of buyer seats allowed to bid on this deal. Seat IDs must be communicated between bidders and the exchange beforehand. If omitted, there are no seat restrictions. |
wadomain |
Optional | String array | An array of advertiser domains (for example, advertiser.com) allowed to bid on the deal. If omitted, there are no advertiser restrictions. |
ext |
Optional | Object | A placeholder object for deal-specific extensions. |
Refresh object
This object contains details about the automatic refresh of an ad slot. The following table lists the available refresh object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
refsettings |
Optional | Object array | An array of RefSettings objects that declare the conditions under which this ad slot may auto-refresh. |
count |
Optional | Integer | The number of times this ad slot has been refreshed since the last page load. |
ext |
Optional | Object | A placeholder object for refresh-specific extensions. |
RefSettings object
This object specifies the conditions under which an ad slot refresh is triggered. The following table lists the available refresh settings object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
reftype |
Optional | Integer | The type of the declared auto refresh. For possible values, see List: Auto Refresh Triggers in the AdCOM 1.0 specification. |
minint |
Optional | Integer | The minimum refresh interval in seconds. The ad creative will be rendered for at least this duration before refreshing to the next creative. |
ext |
Optional | Object | A placeholder object for RefSettings-specific extensions. |
Site object
This object contains the details of the website calling for the impression. The following table lists the available site object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended | String | The site ID on the exchange. |
name |
Optional | String | The site name (which may be masked at the publisher's request). |
domain |
Optional | String | The domain of the site, used for advertiser-side blocking. For example, foo.com. |
cat |
Recommended | String array | An array of IAB content categories for the overall site. The taxonomy to be used is defined by the bidrequest.cattax field. |
sectioncat |
Recommended | String array | An array of IAB content categories for the current subsection of the site. The taxonomy to be used is defined by the bidrequest.cattax field. |
pagecat |
Recommended | String array | An array of IAB content categories for the current page. The taxonomy to be used is defined by the bidrequest.cattax field. |
page |
Required for web impressions | String | The URL of the page where the impressions are shown. |
privacypolicy |
Optional | Integer | Specifies whether the site has a privacy policy:
|
ref |
Recommended | String | The referrer URL that caused navigation to the current page. |
search |
Optional | String | The search string that caused navigation to the current page. |
publisher |
Required | Object | Details about the publisher of the site. |
content |
Recommended | Object | Details about the content within the site. |
keywords |
Optional | String | A list of keywords describing the site in a comma-separated string. |
mobile |
Optional | Integer | Mobile-optimized signal:
|
inventorypartnerdomain |
Required if inventory is owned by and shared with another partner | String | When a site includes ad inventory that is owned by another partner, specify the domain of that partner here. The partner's ads.txt file is hosted at this location |
ext |
Optional | Object | A placeholder object for site-specific extensions. |
App object
The app object contains the details of the application calling for the impression. The following table lists the available app object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended | String | The exchange-specific app ID. |
name |
Recommended | String | The app name (which may be aliased at the publisher's request). |
bundle |
Required for in-app impressions | String | The application bundle or package name that is specific to the application. NOTE: Many campaigns target specific apps. This is the best identifier to use.
|
domain |
Recommended | String | The domain of the app. For example, mygame.foo.com. |
storeurl |
Required for in-app impressions | String | The app store URL for an installed app. For details, see IAB Tech Lab OTT/CTV Store Assigned App Identification Guidelines. |
cat |
Recommended | String array | An array of IAB content categories for the current page. The taxonomy to be used is defined by the bidrequest.cattax field. |
sectioncat |
Recommended | String array | An array of IAB content categories that describe the current section of the app. The taxonomy to be used is defined by the bidrequest.cattax field. |
pagecat |
Recommended | String array | An array of IAB content categories that describe the current page or view of the app. The taxonomy to be used is defined by the bidrequest.cattax field. |
ver |
Optional | String | Application version. |
privacypolicy |
Optional | Integer | Indicates if the app has a privacy policy:
|
paid |
Optional | Integer | Indicates if the app is a free or paid version:
|
publisher |
Required | Object | Details about the Publisher of the app. |
content |
Optional | Object | Details about the Content within the app. |
keywords |
Optional | String | A list of keywords describing the app in a comma-separated string. |
inventorypartnerdomain |
Required if inventory is owned by and shared with another partner | String | When an app includes ad inventory that is owned by another partner, specify the domain of that partner here. The partner's ads.txt file is hosted at this location. |
ext |
Optional | Object | A placeholder object for app-specific extensions. |
Content object
This object contains the details about the published content itself, within which the ad is displayed. For policy guidelines and requirements, see inventory policies. The following table lists the available content object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended (CTV, Audio) | String | The unique ID that identifies the content. IMPORTANT: For audio or CTV requests, the content ID is required in either of these scenarios:
|
episode |
Recommended (CTV) | Integer | The content episode number (typically applies to video content). |
title |
Recommended (CTV) | String | The content title. For example, "Search Committee" (television), "A New Hope" (movie), "Endgame" (made for web), "Why an Antarctic Glacier Is Melting So Quickly" (Time magazine article). |
series |
Recommended (CTV) | String | The content series. For example, "The Office" (television), "Star Wars" (movie), "Arby 'N' The Chief" (made for web), "Ecocentric" (Time magazine blog). |
artist |
Recommended (CTV) | String | The artist credited with the content. |
genre |
Recommended (CTV) | String | The genre that best describes the content (for example, rock, pop, and so on). |
album |
Optional | String | The album to which the content belongs. Typically applies to audio. |
isrc |
Optional | String | The International Standard Recording Code conforming to ISO3901. |
season |
Recommended (CTV) | String | The content season (typically, applies to video content). For example, "Season 3". |
prodq |
Recommended | Integer | Production quality. For possible values, see List: Production Qualities in the AdCOM 1.0 specification. |
url |
Optional | String | The original URL of the content, for buy-side contextualization or review. |
cat |
Recommended (CTV) | Array of strings | An array of IAB content categories for the content. The taxonomy to be used is defined by the bidrequest.cattax field. |
videoquality |
Optional | Integer | The video quality per the IAB's classification. For possible values, see List: Production Qualities in the AdCOM 1.0 specification. |
keywords |
Optional | String or string array | A comma-separated list of keywords describing the content. |
contentrating |
Recommended (CTV) | String | The content rating (for example, MPAA). |
userrating |
Optional | String | The user rating of the content (for example, number of stars, likes, and so on). |
context |
Recommended (CTV) | String | Specifies the type of content (game, video, text, music, application, other, and so on). For possible values, see List: Content Contexts in the AdCOM 1.0 specification. |
livestream |
Recommended (CTV) | Integer | Indicates whether the content is live (for example, live video stream, live blog). Possible values include the following:
|
sourcerelationship |
Optional | Integer | Indicates the source relationship. Possible values include the following:
|
producer |
Optional | Object | Details about the producer. |
len |
Recommended (CTV) | Integer | The length of content (appropriate for video or audio) in seconds. |
qagmediarating |
Optional | Integer | The media rating of the content according to QAG guidelines. See Table 0 QAG Media Ratings for a list of possible values. |
embeddable |
Optional | Integer | Indicates whether the content can be embedded (such as an embeddable video player) based on the QAG Video Addendum guidelines:
|
language |
Optional | String | The language of the content. Use alpha-2/ISO 639-1 codes. |
data |
Optional | Object array | The list of additional content data sources. |
network |
Recommended (CTV) | Object | The details about the network that the content is on. NOTE: For CTV and OTT inventory, be sure to include the network.name and network.domain fields. For details, see Network object. |
channel |
Recommended (CTV) | Object | The details about the channel that the content is on. NOTE: For CTV and OTT inventory, be sure to include the channel.name and channel.domain fields. For details, see Channel object. |
ext |
Optional | Object | A placeholder object for content-specific extensions. |
Content Data object
The following table lists the objects in the data array of the content object.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Optional | String | The ID for the data provider in the exchange. |
name |
Optional | String | The name for the data provider in the exchange. |
segment |
Optional | Object array | The list of data segments and their values such a the ID and name. |
ext |
Optional | Object | For object properties, see Content Data Extension object. |
Content Data Extension object
The following table lists the content data object ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
cids |
Optional | String array | The list of content IDs for the video or audio content with the sources specified in the name field. |
Network object
This object describes the network that will show the ad. For example, companies that own or license a collection of content channels such as Viacom, Discovery, CBS, WarnerMedia, Turner and so on. The following table lists the available network object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Optional | string | The unique identifier assigned by the publisher. This may not be a unique identifier across all supply sources. |
name |
Required | string | The name of the network hosting the content. For example, ABC. |
domain |
Optional | string | The primary domain of the network. For example, abc.com (in the case of the network ABC). It is recommended to include the top private domain (PSL+1) for DSP targeting normalization purposes. |
ext |
Optional | object | This object is a placeholder that may contain custom JSON agreed to by the parties in an OpenRTB transaction to support flexibility beyond the standard defined in the OpenRTB specification. |
Channel object
This object describes the channel, which is the entity that curates a content library, or stream within a brand name for viewers. For example, MTV, HGTV, CNN, BBC One, and so on. A channel can also be a specific stream of audio content commonly called stations. The following table lists the available channel object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Optional | string | The unique identifier assigned by the publisher. NOTE: This ID might not be a unique identifier across all supply sources. |
name |
Required | string | The name of the channel hosting the content. For example, WAB-TV. |
domain |
Optional | string | The primary domain of the channel. For example, abc7ny.com.TIP: IAB Tech Lab recommends including the top private domain (PSL+1) for DSP targeting normalization purposes. |
ext |
Optional | object | This object is a placeholder that may contain custom JSON agreed to by the parties in an OpenRTB transaction to support flexibility beyond the standard defined in the OpenRTB specification. |
Publisher object
This object describes the publisher of the media in which the ad is displayed. The publisher is typically the seller in an OpenRTB transaction. The following table lists the available publisher object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Required | String | The publisher ID on the exchange. IMPORTANT: The Trade Desk requires that the value is provided by the supply partner, not the publisher. |
name |
Not Used | String | The publisher name (which may be masked at the publisher's request). |
cat |
Optional | String array | An array of IAB content categories for the publisher. The taxonomy to be used is defined by the bidrequest.cattax field. |
domain |
Optional | String | The publisher's highest level domain name, for example foopub.com.If this must be blinded, contact your Account Manager. NOTE: Buying of blinded publishers is limited. |
ext |
Optional | Object | A placeholder object for publisher-specific extensions. |
Producer object
This object defines the producer of the content, which is not necessarily the publisher (for example, a syndication). The following table lists the available producer object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Optional | String | The content producer or originator ID. Useful if the content is syndicated, and may be posted on a site using embed tags. |
name |
Optinoal | String | The content producer or originator name (for example, Warner Bros). |
cat |
Optional | String array | An array of IAB content categories for the content producer. The taxonomy to be used is defined by the bidrequest.cattax field. |
domain |
Optional | String | The URL of the content producer. |
ext |
Optional | Object | A placeholder object for producer-specific extensions. |
Device object
This object contains the details of the device on which the content and impressions are displayed. The following table lists the available device object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
ua |
Recommended | String | The browser user agent string. |
sua |
Optional | Object | The structured user-agent information, which can be used when a client supports User-Agent Client Hints. NOTE: If both the ua and sua parameters are in the bid request, the sua object values should be considered the more accurate representation of the device attributes. This is because the ua value may contain a frozen or reduced user-agent string. |
geo |
Optional | Object | The location of the device, assumed to be the user's current location, as defined by a geo object. |
dnt |
Recommended | Integer | The standard "Do Not Track" flag set in the header by the browser:
|
lmt |
Recommended | Integer | The commercially endorsed "Limit Ad Tracking" signal (for example, iOS, Android):
|
ip |
Recommended | String | The IPv4 address closest to the device. |
ipv6 |
Optional | String | The IPv6 address closest to the device. |
devicetype |
Recommended | Integer | The device type. Here's what you need to know about the field:
|
make |
Recommended | String | The device make (for example, Apple). NOTE: Campaigns often are optimized for specific devices. |
model |
Recommended | String | The device model (for example, iPhone). NOTE: Campaigns often are optimized for specific devices. |
os |
Recommended | String | The device operating system (for example, iOS). NOTE: Campaigns often are optimized for specific operating systems. |
osv |
Recommended | String | The device operating system version (for example, 8.0.3).NOTE: Campaigns often are optimized for specific operating systems. |
hwv |
Optional | String | The hardware version of the device (for example, 13 for iPhone 13). |
h |
Optional | Integer | The physical height of the screen in pixels. |
w |
Optional | Integer | The physical width of the screen in pixels. |
ppi |
Optional | Integer | The screen size as pixels per linear inch. |
pxratio |
Optional | Float | The ratio of physical pixels to device-independent pixels. |
js |
Optional | Integer | Indicates support for JavaScript. Possible values include the following:
|
flashver |
Optional | String | The version of Flash supported by the browser. |
language |
Recommended | String | The browser language using the ISO-639-1-alpha-2 standard. |
carrier |
Optional | String | The carrier or ISP (for example, Verizon). WiFi is often used in mobile to indicate high bandwidth. |
connectiontype |
Optional | Integer | The network connection type. For possible values, see List: Connection Types in the AdCOM 1.0 specification. |
ifa |
Recommended | String | The Identifier for Advertising (IFA) approved for use by advertisers in an unencrypted format (namely, not hashed).For CTV and OTT, be sure to send true platform IFAs before creating a synthesized IFA. For details, see the IAB OTT IFA Guidelines. IMPORTANT: To identify the type of ID being sent, always include the ifa_type field in the device.ext object alongside this field. |
ext |
Optional | Object | For details, see Device Extensions object. |
Device Extensions object
The following table lists an additional parameter for the Device object.
| Field | Required? | Data type | Description |
|---|---|---|---|
ifa_type |
Required if ifa is provided |
String | The ID for the advertising type, which is defined in the following guidelines from the IAB. Supported values include the following:
ifa field if provided, especially for all non-web inventory types, including mobile app and CTV. |
User-Agent object
This object conatins structured user-agent information, which can be used when a client supports User-Agent Client Hints.
| Field | Required? | Data type | Description | Notes |
|---|---|---|---|---|
browsers |
Recommended | Object array | A list of Brand version objects that identify a browser or similar software component. | Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header. For details, see OpenRTB specification. |
platform |
Recommended | Object array | A list of Brand version objects that identify the user agent's execution platform or OS. | Implementers should send a brand derived from the Sec-CH-UA-Platform header, and version derived from the Sec-CH-UA-Platform-Version header. |
mobile |
Optional | Integer | If set to 1, the agent prefers a mobile version of the content, if available. For example, if the device is optimized for small screens or touch input.If set to 0, the agent prefers the desktop or full content. |
Implementers should Retrieve this value from the Sec-CH-UA-Mobile header. |
architecture |
Optional | String | The device's major binary architecture. For example, x86 or arm. |
Implementers should retrieve this value from the Sec-CH-UA-Arch header. |
bitness |
Optional | String | The device's bitness. For example, 64 for a 64-bit architecture. |
Implementers should retrieve this value from the Sec-CH-UA-Bitness header. |
model |
Optional | String | The model of the device. | Implementers should retrieve this value from the Sec-CH-UA-Model header. |
source |
Optional | Integer | The source of data used to create this object. Possible values include the following:0 Default value (unspecified or unknown)1 (only low-entropy headers were available)2 (with high-entropy headers available)3 (the same string carried by the ua field) List: User-Agent Source in AdCOM 1.0 |
N/A |
ext |
Optional | Object | A placeholder for vendor-specific extensions. | N/A |
Brand Version object
This object contains brand version deatils that identify a device's browser or a similar software component, and the user-agent's execution platform or operating system.
| Field | Required? | Data type | Description |
|---|---|---|---|
brand |
Required | string | A brand identifier. For example, Chrome or Windows. This value may be sourced from the User-Agent Client Hints headers that represents either the user-agent brand (from the Sec-CH-UA-Full-Version header) or the platform brand (from the Sec-CH-UA-Platform header). |
version |
Optional | string array | A sequence of version components in descending hierarchical order (major, minor, micro, and so on.). |
ext |
Optional | object | A placeholder for vendor-specific extensions. |
Geo object
This object encapsulates various methods for specifying a geographic location. The following table lists the available geo object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
lat |
Required only for DOOH | Float | Latitude from -90 (south) to 90. IMPORTANT: This should be passed only if known to be accurate (for example, not the centroid of a postal code). |
lon |
Required only for DOOH | Float | Longitude from -180 (west) to 180. IMPORTANT: This should be passed only if known to be accurate. |
country |
Optional | String | The ISO-3166-1 Alpha-3 standard country code. |
region |
Optional | String | The ISO 3166-2 standard region code. |
regionfips104 |
Optional | String | The FIPS 10-4 notation (alternative to ISO 3166-2) country region. |
NielsenDMA* |
Optional | String | The Nielsen Company’s code for a designated market area (DMA). |
city |
Optional | String | The UN/LOCODE city name. For possible cities, see United Nations Code for Trade and Transport Locations (UN/LOCODE). |
zip |
Optional | String | The zip code or postal code. |
type |
Optional | Integer | The source of the geo data (for example, GPS, IP address, use-provided). For possible values, see List: Location Types in the AdCOM 1.0 specification. NOTE: The type should be provided when the lat or lon value is provided. |
ext |
Optional | Object | A placeholder object for geo-specific extensions. |
* © 2026, The Nielsen Company (US), LLC. The DMA® data is used pursuant to a license from The Nielsen Company (US), LLC. Any use and/or reproduction of these materials without the express written consent of The Nielsen Company (US), LLC, is strictly prohibited. DMA® data is valid for the period 2025 - 2026. DMA® is a registered service mark of The Nielsen Company (US), LLC and is used pursuant to license.
User object
This object contains information known or derived about the human user of the device (namely, the audience for advertising). The following table lists the available user object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Optional | String | The exchange-specific ID for the user. NOTE: For the mapped userId property, use the buyeruid value. |
buyeruid |
Recommended | String | The buyer-specific ID for the user as mapped by the exchange for the buyer. TIP: Provide the mapped userId value or Null if no mapped user is stored. |
keywords |
Optional | String | Comma-separated list of keywords, interests, or intent. |
consent |
Optional | String | When GDPR regulations are in effect, this attribute contains the Transparency and Consent Framework's Consent String data structure. |
customdata |
Optional | String | A feature to pass bidder data stored in the exchange's cookie. The string must use base85 cookie-safe characters and can follow any format. Proper JSON encoding must be used to include escaped quotation marks. |
geo |
Optional | Object | The location of the user's home base, as defined by a Geo object. This is not necessarily their current location. |
data |
Optional | Object array | Additional user data. Each Data object represents a different data source. |
eids |
Recommended | Object array | The details for the support of a standard protocol for multiple third-party identity providers. For possible values, see Extended identifier (EID) object. |
ext |
Optional | Object | A placeholder for user-specific extensions. |
TIP: For examples and implementation guidance for Unified IDs (UIDs), see Implementing UIDs in bid requests.
Extended identifier (EID) object
The following table lists the eid object parameters from the user object.
| Field | Required? | Data type | Description |
|---|---|---|---|
source |
Recommended | String | The source or technology provider responsible for the set of included IDs. This is expressed as a top-level domain. |
inserter |
Recommended | String | The canonical domain name of the party (publisher, publisher monetization company, SSP, exchange, header wrapper, and so on) that attached the ID to the bid request. This can be the operational domain of the system, if that is different from the parent corporate domain. Here's what you need to know:
|
matcher |
Recommended | String | The ID provider that performed ID resolution using the match method specified in the mm field. In some cases, this can be the same value as inserter. When blank, we assume that the matcher value is equal to the source value. When the mm value is 0, 1, or 2, you can omit this field. |
mm |
Recommended | Integer | The match method used by the ID provider specified in the matcher field. For possible values, see List: ID Match Methods in the AdCOM 1.0 specification. |
uids |
Recommended | Object array | The list of UID objects from the given source. |
ext |
Optional | Object | A placeholder object for EID-specific extensions. |
UID object
The following table lists the object parameters in the uids array of the EID object.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended | String | The cookie or platform-native ID. |
atype |
Recommended | Integer | The type of user agent the match is from. For possible values, see List: Agent Types in the AdCOM 1.0 specification. |
ext |
Recommended | Object | For details, see UID Extension object. |
UID Extension object
The following table lists the UID object ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
rtiPartner |
Recommended | String | The name of the identity provider. For example, we currently recognize the TDID and COREID values (not case-sensitive). For other types of IDs, including UID2 and EUID, we rely on the eids.source value. |
Regs object
This object contains any legal, governmental, or industry regulations that apply to the request. The following table lists the available regs object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
coppa |
Recommended | Integer | Indicates whether this request is subject to the United States Children's Online Privacy Protection Act (COPPA) Regulations established by the USA FTC. Possible values include the following:
|
gdpr |
Optional | Integer | If set to 1, the request is subject to GDPR regulations. |
us_privacy |
Optional | String | Communicates signals regarding consumer privacy under US privacy regulation. For details, see US Privacy String Format in the IAB documentation. |
gpp |
Optional | String | A GPP (Global Privacy Platform) string's primary purpose is to encapsulate and encode all the information disclosed to a user and the expression of their choices for all applicable regions. For details, see Global Privacy Platform String in the IAB documentation. |
gpp_sid |
Optional | Integer | The list of sections of the string for this transaction. For details, see Section IDs in the IAB documentation. |
gpc |
Optional | Integer | The Sec-GPC (Global Privacy Control) HTTP header value from the user agent where the ad is shown.NOTE: This field is specific to The Trade Desk adapter and is not part of the OpenRTB specification. |
ext |
Optional | Object | A placeholder object for regs-specific extensions. |
Regs Extensions object
The following table lists the Regs ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
gpc |
Optional | Integer | The Sec-GPC HTTP header value from the user agent where the ad is shown. |
dsa |
Optional | Object | The extension for DSA transparency information. For details, see Regs Extensions DSA object. |
Regs Extensions DSA object
The following table lists the dsa object properties from the RegsExtensions object.
| Field | Required? | Data type | Description |
|---|---|---|---|
dsainfo |
Optional | Integer | The flag that indicates if DSA information should be made available. This signals if the bid request belongs to an online platform or very large online platform (VLOP), such that a buyer should respond with DSA Transparency information based on the pubrender value. Possible values include the following:
|
pubrender |
Optional | Integer | The flag that indicates if the publisher will render the DSA Transparency info. This signals if the publisher is able to and intends to render the icon and display the DSA transparency info to the end user. Possible values include the following:
|
datatopub |
Optional | Integer | Transparency data for the publisher. The value is independent of pubrender. Possible values include the following:
NOTE: The publisher may need the transparency data for audit purposes. |
transparency |
Optional | Object array | The list of entities that applied user-parameters and their values. For details, see DSA Transparency object. |
DSA Transparency object
The following table lists the object properties from the transparency object array in the Regs Extensions DSA object.
| Field | Required? | Data type | Description |
|---|---|---|---|
domain |
Optional | String | The domain of the entity that applied user parameters. |
params |
Optional | Integer array | The array for platform or sell-side user parameters. NOTE: Be sure to use the user parameter list provided by the DSA Transparency Taskforce and apply them consistently in both the bid request and bid response. |
Source object
This object provides information about the inventory source for a bid request, including the entity that makes the final sale decision for the impression. The following table lists the parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
fd |
Optional | Integer | The entity responsible for the final decision on the sale of the impression. Possible values include the following:
|
tid |
Recommended | String | Transaction ID. Must be common across all participants in this bid request (potentially multiple exchanges). IMPORTANT: Use this field only when the imp object array contains a single item, or when all items in the imp array correspond to the same logical ad break. If the imp array has more than one item representing different ad breaks, set the transaction ID in the imp.ext.tid field instead, because the Impression Extensions object allows a distinct ID per impression opportunity. IMPORTANT: A transaction ID is required for podded bid requests. NOTE: If you are expressing transaction ID in the source.tid field, you can specify the transaction ID type the source.ext.tidt field. |
pchain |
Optional | String | Payment ID chain string containing embedded syntax, as described in TAG Payment ID Protocol v1.0 (see Section 4.5). |
schain |
Required | Object | A SupplyChain object that represents the links in the supply chain and indicates whether the supply chain is complete. |
ext |
Recommended | Object | For details, see Source Extensions object. |
Source Extensions object
The following table lists the Source ext object property.
| Field | Required? | Data type | Description |
|---|---|---|---|
tidt |
Recommended | Integer | The transaction ID type that determines whether the transaction ID is from the publisher or intermediary. Here's what you need to know:
|
Supply Chain object (schain)
NOTE: The supply chain object (
schain) is intended to disclose financial intermediaries involved in the sale of an impression. For Direct‑to‑Publisher OpenPath connections, no intermediaries exist and the publisher is the sole payee; therefore, anschainobject is not applicable.
In the SupplyChain object, each node represents a specific entity that participates in the transacting of inventory. The complete chain of nodes, from beginning to end, represents all the entities involved in the direct flow of payment for a specific bid request.
| Field | Required? | Data type | Description |
|---|---|---|---|
complete |
Required | Integer | A flag indicating whether the chain contains all the nodes involved in the transaction, leading back to the owner of the site, app, or other medium. Possible values include the following:
|
nodes |
Required | Object array | An array of one or more 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—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 the bid request. |
ver |
Recommended | String | The version of the supply chain specification in use, in the format major.minor. For example, for version 1.0 of the specification, the value for the ver property is 1.0. |
ext |
Recommended | Object array | A placeholder object for supply chain-specific extensions. |
Supply Chain Node object (node)
An array of nodes within the SupplyChain object. For a specific bid request, each node defines the identity of an entity participating in the supply chain. For detailed implementation examples, see Valid, complete SupplyChain objects.
The SupplyChainNode object includes the following properties.
| Field | Required? | Data type | Description |
|---|---|---|---|
asi |
Required | String | The canonical domain name of the SSP, exchange, header wrapper, or other system that bidders connect to. If there is an ads.txt file, The value in the asi property should be the same as the value used to identify sellers in the ads.txt file.If the operational domain of the system is not the same as the parent domain, the value might be the operational domain, to facilitate WHOIS and reverse IP lookups in order to establish clear ownership of the delegate system. |
pid |
Required | String | The seller ID within the ASI for this node. |
sid |
Required | Object array | The identifier associated with the seller or reseller account. The value must match the value used in transactions (OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, sid is the same as publisher.id. No more than 64 characters in length. |
rid |
Recommended | String | The OpenRTB RequestId of the request, as issued by this seller. |
name |
Recommended | String | The name of the company (legal entity) that receives payment for inventory transacted under the specified seller_id. If this optional value already exists in the advertising system's sellers.json file, do not include it in the SupplyChainNode object. |
domain |
Recommended | String | The business domain name of the entity that the node represents. |
hp |
Recommended | Integer | A flag indicating whether this node is involved in the flow of payment for the inventory. Possible values include the following:
SupplyChainNode object, the property should always be 1. |
ext |
Optional | Object | The object is a placeholder for advertising-system specific extensions to the SupplyChainNode object. |
Qty object
This object contains the impression quantity details, including an impression multiplier, and describes the source of the multiplier value. The following table lists the available Qty object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
multiplier |
Required | Float | The quantity of billable events deemed to have occurred if this impression is purchased. For example, a DOOH opportunity may be considered to represent 14.2 impressions. The Trade Desk uses this field as the default impression multiplier for DOOH and other non–1:1 impression models. |
sourcetype |
Recommended | Integer | The source type of the quantity measurement. For possible values, see List: DOOH Multiplier Measurement Source Types in the AdCOM 1.0 specification. |
vendor |
Required when the sourcetype value is 1 (Measurement Vendor) |
String | The top-level business domain name of the measurement vendor providing the quantity measurement. |
ext |
Optional | Object | A placeholder object for impression quantity-specific extensions. |
DOOH object
Include this object if the ad-supported content is a digital digital out-of-home (DOOH) screen.
Here's what you need to know about using this object:
- A bid request with a
doohobject must not contain asiteorappobject. - For DOOH and other non–1:1 impression models, you must define the
qty.multiplierfield. For details, see Qty.
The following table lists the available DOOH object parameters.
| Field | Required? | Data type | Description |
|---|---|---|---|
id |
Recommended | String | The screen ID; the exchange-specific ID for the DOOH placement or logical grouping of placements. |
name |
Optional | String | The name of the DOOH placement. |
venuetypeid |
Recommended | String | The type of out-of-home venue as defined by the venuetax field. If this field is not provided, the default taxonomy used is the OpenOOH Venue Taxonomy with Digital Out-of-Home Screen Venue Types (venuetax is set to 1). |
venuetax |
Optional | Integer | The venue taxonomy in use. For details, see List: DOOH Venue Taxonomies. The default value is 1 (the OpenOOH Venue Taxonomy). |
publisher |
Required | Object | The details about the publisher of the DOOH placement, including the requied publisher ID. |
domain |
Optional | String | The domain of the inventory owner. |
keywords |
Optional | String | A comma-separated list of keywords about the DOOH placement. |
content |
Optional | Object | The details about the content within the DOOH placement. |
ext |
Optional | Object | A placeholder object for DOOH-specific extensions. |
TIP: For an end-to-end bid request example for DOOH, see DOOH bid request example.
Bid Response object model
The following is The Trade Desk bid response object model. To jump to specific object references, use the navigation on this page.
TIP: For end-to-end bid request examples, see Dynamic podded bid response example, DOOH bid request example, and Banner bid response example.
The following sections define the bid response objects from The Trade Desk. The signals labeled as "Always sent and repeated" are always sent, but their frequency can vary depending on the specific integration. Also, the signals labeled as "Standard or optional win notification" indicate how The Trade Desk has set up the integration to handle win notifications. The billing notification is sent using the adm value, while the win notification is sent using the nurl value. These settings depend on the supply partner's preferences. For details, see Impression win notifications.
Bid Response object
This object is the top-level bid response returned by The Trade Desk. At least one seatbid object is required if a bid is to be made. The following table lists the available BidResponse object parameters.
| Field | Scope | Data type | Description |
|---|---|---|---|
id |
Always sent | String | The ID of the bid request for logging. |
seatbid |
Always sent | Object array | The array of seat bid objects. |
bidid |
Always sent | String | The ID for the bid object chosen by the bidder for tracking and debugging. It can be used to identify bids when multiple ones are submitted for a single impression for a given seat. |
cur |
Optional | String | The bid currency. Only the USD currency is supported. |
customdata |
Optional | String | Optional feature to allow a bidder to set data in the exchange's cookie. |
nbr |
Optional | Integer | Reason for not bidding. For possible values, see No-Bid Reason Codes. |
ext |
Optional | Object | A placeholder object for bid response-specific extensions. |
Seat Bid object
This object represents a collection of bids made by a specific buyer seat. Each SeatBid object must contain at least one Bid object. The following table lists the available SeatBid object parameters.
| Field | Scope | Data type | Description |
|---|---|---|---|
bid |
Always sent | Object array | The array of one or more Bid objects, each related to a specific impression. |
seat |
Optional | String | The ID of the bidder seat making the bid. |
group |
Optional | Integer | Indicates if impressions must be won as a group (1) or individually (0). The default value is 0. |
ext |
Optional | Object | A placeholder object for seat bid-specific extensions. |
Bid object
This object contains a specific offer to buy an impression, including the bid price and ad markup. The following table lists the available Bid object parameters.
| Field | Scope | Data type | Description |
|---|---|---|---|
id |
Always sent | String | The ID for the bid object chosen by the bidder for tracking and debugging. It can be used to identify bids when multiple ones are submitted for a single impression for a given seat. |
impid |
Always sent | String | The ID of the impression object associated with this bid. |
price |
Always sent | Float | The bid price in USD CPM. |
adid |
Optional | String | The ID of a pre-loaded ad to be served if the bid wins. |
nurl |
Standard or optional win notification | String | The provisional win notice URL called by the exchange if the bid wins. This is not necessarily indicative of a delivered, viewed, or billable ad. When specified, the URL can be used to retrieve the ad markup. |
burl |
Optional billing notification | String | The billing notice URL called by the exchange when a winning bid becomes billable. The Trade Desk recommends using the adm property as the billing notification. |
lurl |
Optional | String | The loss notice URL called by the exchange when a bid is known to have been lost. |
adm |
Standard or optional win notification | String | Ad markup in case the bid wins. We expect the billable win notification URL in this field. The response format depends on the object type: XHTML for banners, or VAST XML for videos. |
adomain |
Always sent and repeated | Array of Strings | The advertiser's primary or top-level domains for advertiser verification. If there is a rotating creative, the domains can be in a list. |
bundle |
Optional | String | The bundle or package name (for example, com.foo.mygame) of the app being advertised, if applicable. |
iurl |
Optional | String | A non-cache-busted URL to an image representative of the content of the campaign for ad quality or safety checking. |
cid |
Always sent | String | The Trade Desk campaign ID or something similar from the ad markup. |
crid |
Always sent | String | The Trade Desk creative ID for reporting content issues or defects. |
tactic |
Optional | String | The tactic ID enables buyers to label bids for reporting to the exchange, indicating the tactic through which their bid was submitted. |
cat |
Always sent and repeated | Array of Strings | The IAB industry category assigned to the advertiser. |
cattax |
Optional | Integer | The category taxonomy that applies to the cat field. For possible values, see List: Category Taxonomies in the AdCOM 1.0 specification. The default value is 2 (IAB Content Category Taxonomy 2.0). |
attr |
Optional | Array of Integers | Set of attributes describing the creative. For possible values, see List: Creative Attributes in the AdCOM 1.0 specification. |
api |
Optional | Integer | API framework required by the markup if applicable. For possible values, see List: API Frameworks in the AdCOM 1.0 specification. |
protocol |
Optional | Integer | Video response protocol of the markup if applicable. For possible values, see List: Creative Subtypes - Audio/Video in the AdCOM 1.0 specification. |
qagmediarating |
Optional | Integer | Media rating per IQG guidelines. For possible values, see List: Media Ratings in the AdCOM 1.0 specification. |
language |
Optional, if the langb value is sent |
String | Language of the creative using ISO-639-1-alpha-2. |
langb |
Optional, if the language value is sent |
String | Language of the creative using IETF BCP 47. |
dealid |
Always sent if bidding with a deal | String | The deal ID in the bid request for a private-marketplace direct deal. |
wmin |
Optional | Integer | Advisory as to the minimum width of the creative within the ad unit. |
wmax |
Optional | Integer | Advisory as to the maximum width of the creative within the ad unit. |
hmin |
Optional | Integer | Advisory as to the minimum height of the creative within the ad unit. |
hmax |
Optional | Integer | Advisory as to the maximum height of the creative within the ad unit. |
w |
Optional | Integer | Width of the creative in device independent pixels (DIPS). |
h |
Optional | Integer | Height of the creative in device independent pixels (DIPS). |
exp |
Optional | Integer | Advisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression. IMPORTANT: All win notifications must be sent immediately, within seconds of the bid. If a significant portion of your feedback is more than a minute late, we'll stop buying your inventory. For details, see Impression win notifications. |
dur |
Optional | Integer | Duration of the video or audio creative in seconds. |
mtype |
Optional | Integer | The type of ad markup the bidder is providing. Possible values include the follwoing:
|
slotinpod |
Optional | Integer | The slot position in the pod to which the bid applies in a video or audio pod auction. |
ext |
Optional | Object | A placeholder object for bid-specific extensions. |
No-Bid reason codes
The following table lists the no-bid reasons with the corresponding IDs. For troubleshooting, the table includes links with more details on specific bid requirements. If you have questions, contact your Technical Account Manager.
| ID | NBR | Policy Reference |
|---|---|---|
12 |
AdsTxtAuthViolation |
app-ads.txt and ads.txt |
16 |
IncompleteSupplyChain |
Supply chain object |
17 |
BlockedSupplyChainNode |
N/A |
500 |
TTDBlockedPublisher |
N/A |
501 |
TTDBlockedSite |
N/A |
502 |
TTDNoMatchingDeal |
N/A |
504 |
TTDSiteNotApprovedForSeller |
N/A |
505 |
TTDInventoryRestriction |
N/A |
0 |
No Reason Given | N/A |
Loss Reason Codes
Accurate and timely loss reason codes help The Trade Desk to diagnose why bids are not winning and helps both parties identify and resolve demand filtering issues quickly.
The following table lists the loss reason codes used by an exchange to inform a bidder as to the reason why they did not win an item. This follows the OpenRTB V3 Specification on GitHub.
| Value | Definition |
|---|---|
0 |
Bid Won |
1 |
Internal Error |
2 |
Impression Opportunity Expired |
3 |
Invalid Bid Response |
4 |
Invalid Deal ID |
5 |
Invalid Auction ID |
6 |
Invalid Advertiser Domain |
7 |
Missing Markup |
8 |
Missing Creative ID |
9 |
Missing Bid Price |
10 |
Missing Minimum Creative Approval Data |
100 |
Bid was Below Auction Floor |
101 |
Bid was Below Deal Floor |
102 |
Lost to Higher Bid |
103 |
Lost to a Bid for a Deal |
104 |
Buyer Seat Blocked |
200 |
Creative Filtered - General; Reason Unknown |
201 |
Creative Filtered - Pending Processing by Exchange (for example, approval or transcoding) |
202 |
Creative Filtered - Disapproved by Exchange |
203 |
Creative Filtered - Size Not Allowed |
204 |
Creative Filtered - Incorrect Creative Format |
205 |
Creative Filtered - Advertiser Exclusions |
206 |
Creative Filtered - App Store ID Exclusions |
207 |
Creative Filtered - Not Secure |
208 |
Creative Filtered - Language Exclusions |
209 |
Creative Filtered - Category Exclusions |
210 |
Creative Filtered - Creative Attribute Exclusions |
211 |
Creative Filtered - Ad Type Exclusions |
212 |
Creative Filtered - Animation Too Long |
213 |
Creative Filtered - Not Allowed in Deal |
214 |
Creative Filtered - Invalid SKAdNetwork |
215 |
Creative Filtered - App Bundle Exclusions |
500 |
Exchange-specific values; communicate these to buyers beforehand. |
TIP: The Trade Desk supports custom loss reasons, which can be mapped to more values above 500.