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:

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:
  • 0 (default value) for live mode
  • 1 for test mode
at Recommended Integer The auction type. Here's what you need to know about this property:
  • This value must be the same as the auction type being executed by the ad server or mediation partner. For example, you must not conduct a second-price auction in your exchange and then submit a first-price bid to the final auction.
  • To define exchange-specific auction types, use values greater than 500.
Possible values include the following:
  • 1 (First Price)
  • 2 (Second Price Plus) This is the default value.
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:
  • 0 (no or unknown) This is the default value
  • 1 (yes)
The impressions offered represent all that are available.
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:
  • 1 (interstitial) This is the default value
  • 0 (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:
  • If you cannot provide an ID that is consistent from impression to impression for a given tag or placement, do not supply this.
  • If publishers attempt to send unique or near-unique values for this property, strip those.
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:
  • 1 (required)
  • 0 (not required)
NOTE: If this field is omitted, the bidder should interpret that the secure state is unknown and assume HTTP is supported.
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:
  • This is where you express per-impression transaction IDs.
  • This is our preferred approach for specifying transaction IDs (over source.tid), because it allows for a separate ID per impression opportunity or dynamic ad pod.
  • For long-form video, each tid value must correspond to one logical ad break and must be consistent across all demand paths for that break. If multiple requests are emitted for the same ad break, all of those requests must specify the same transaction ID.
IMPORTANT: A transaction ID is required for podded bid requests.
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:
  • Intermediaries downstream of the publisher must propagate the publisher‑provided tid field in the bid request without modification.
  • If a bid request is received without a transaction ID, the intermediary may generate one and forward the request with the new ID and the tidt field.
Supported values include the following:
  • 1 (publisher-generated, globally unique)
  • 2 (non-unique; generated or set differently per demand source)
IMPORTANT: If you have generated a bidder-specific transaction ID, this field is required.

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:
  • 1 (XHTML Text Ad)
  • 2 (XHTML Banner Ad)
  • 3 (JavaScript Ad)
  • 4 (iframe)
If blank, we assume that all are allowed.
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:
  • 0 (top frame)
  • 1 (iframe)
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.
  • If the start delay value is greater than 0, then the position is mid-roll and the value represents the number of seconds into the content that the ad is displayed.
  • If the start delay time is not available, the exchange can report the position of the ad in general terms using 0 for pre-roll, -1 for generic mid-roll, and -2 for generic post-roll.
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:
  • 0 (Any)
  • 1 (Linear in stream)
  • 2 (Non-linear overlay)
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:
  • 1 (allowed)
  • 0 (not allowed)
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.
  • If blank or 0, extension is not allowed.
  • If -1, extension is allowed and there is no time limit imposed.
  • If greater than 0, the value represents the number of seconds of extended play supported beyond the maxduration value.
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 value
1 (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 value
1 (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.
  • If the start delay value is greater than 0, then the position is mid-roll, and the value represents the number of seconds into the content that the ad is displayed.
  • If the start delay time is not available, the exchange can report the position of the ad in general terms using 0 for pre-roll, -1 for generic mid-roll, and -2 for generic post-roll.
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.
  • If blank or 0, extension is not allowed.
  • If -1, extension is allowed and there is no time limit imposed.
  • If greater than 0, the value represents the number of seconds of extended play supported beyond the maxduration value.
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:
  • 0 (no)
  • 1 (yes)
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:
  • 0 (no)
  • 1 (yes)
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:

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:
  • 3 (News Feed)
  • 6 (Content Stream)
adunit Optional Integer The ad unit ID of the native ad unit. Supported values include the following:
  • 2 (Recommendation Widget)
  • 5 (Custom)
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:
  • 1 (Icon)
  • 2 (Logo)
  • 3 (Main)
  • DJS (currently optional in The Trade Desk specification)
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:
  • 1 (Sponsored)
  • 2 (Description)
  • 3 (Rating)
  • 12 (Call to Action)
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:
  • video/x-ms wmv (Windows Media)
  • video/mp4
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:
  • 2 (VAST 2.0)
  • 3 (VAST 3.0)
  • 5 (VAST 2.0 Wrapper)
  • 6 (VAST 3.0 Wrapper)
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:
  • 0 (all bids are accepted)
  • 1 (bids are restricted to the deals specified and the terms thereof)
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:
  • 1 (First Price)
  • 2 (Second Price Plus)
  • 3 (the value passed in bidfloor is the agreed upon deal price)
NOTE: Additional auction types can be defined by the exchange.
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:
  • 1 (yes)
  • 0 (no)
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:
  • 1 (yes)
  • 0 (no)
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.
  • For Apple, set the field to the iTunes numeric ID of the app.
  • For Android, set this field to the app's package name. For example, com.foo.mygame.
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:
  • 1 (yes)
  • 0 (no)
paid Optional Integer Indicates if the app is a free or paid version:
  • 1 (paid)
  • 0 (free)
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:
  • To meet the requirements of third-party pre-bid providers with regard to contextual targeting, brand safety, or viewability.
  • To use contextual custom categories from The Trade Desk.
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:
  • 0 (no)
  • 1 (yes)
sourcerelationship Optional Integer Indicates the source relationship. Possible values include the following:
  • 0 (indirect)
  • 1 (direct)
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:
  • 0 (no)
  • 1 (yes)
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:
  • 0 (tracking is unrestricted)
  • 1 (do not track)
lmt Recommended Integer The commercially endorsed "Limit Ad Tracking" signal (for example, iOS, Android):
  • 0 (tracking is unrestricted)
  • 1 (tracking must be limited per commercial guidelines)
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:
  • For possible values, see List: Device Types in the AdCOM 1.0 specification.
  • For CTV and OTT inventory, set this value to either 3 or 7.
  • For DOOH inventory, set this value to 8.
  • Campaigns often are optimized for specific devices.
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:
  • 0 (no)
  • 1 (yes)
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:
  • dpid (generic device-provided ID)
  • rida (Roku ID)
  • aaid (Android ID)
  • idfa (Apple ID)
  • afai (Amazon Fire ID)
  • msai (Microsoft ID)
  • ppid (publisher-provided ID)
  • sspid (SSP-provided ID)
  • sessionid (session ID or synthetic ID)
IMPORTANT: This field must accompany the 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:
  • For sellers and intermediaries, this must be the same value as the one in the ads.txt file that identifies them.
  • For publishers, this is the domain value in the site or app object.
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:
  • 0 (no)
  • 1 (yes)
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:
  • 0 (Not required)
  • 1 (Supported, bid responses with or without the DSA object are accepted)
  • 2 (Required, bid responses without the DSA object are not accepted)
  • 3 (Required, bid responses without the DSA object are not accepted, publisher is an online platform")
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:
  • 0 (Publisher cannot render)
  • 1 ( Publisher could render depending on adrender)
  • 2 ( Publisher will render)
datatopub Optional Integer Transparency data for the publisher. The value is independent of pubrender. Possible values include the following:
  • 0 (do not send transparency data)
  • 1 (optional to send transparency data)
  • 2 (send transparency data)

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:
  • 0 (exchange)
  • 1 (upstream source)
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:
  • Intermediaries downstream of the publisher must propagate the publisher‑provided tid field in the bid request without modification.
  • If a bid request is received without a transaction ID, the intermediary may generate one and forward the request with the new ID and the tidt field.
Supported values include the following:
  • 1 (publisher-generated, globally unique)
  • 2 (non-unique; generated or set differently per demand source)
IMPORTANT: If you have generated a bidder-specific transaction ID, this field is required.

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, an schain object 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:
  • 0 (no)
  • 1 (yes)
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:
  • 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)
  • 0 (the node is not involved in the flow of payment for the inventory)
For version 1.0 of the 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:

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:
  • 1 (Banner)
  • 2 (Video)
  • 3 (Audio)
  • 4 (Native)
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.