Skip to content

Bid Request objects and parameters

The BidRequest object is the root of an OpenRTB request. It contains all the attributes required to describe the ad opportunity, the environment, the user, and any additional context needed for bidding.

AttributeTypeRequiredDescription
idstringRequiredID of the bid request, assigned by the exchange, and unique for the exchange’s subsequent tracking of the responses. The exchange may use different values for different recipients.
impobject arrayRequiredArray of Imp objects representing the impressions offered. At least 1 Imp object is required.
siteobjectRequiredDetails via Site object about the publisher’s website. Only applicable and required for websites.
appobjectRequiredDetails via App object about the publisher’s app (i.e., non-browser applications). Only applicable and required for apps.
deviceobjectRequiredDetails via a Device object about the user’s device to which the impression will be delivered.
userobjectRequiredDetails via a User object about the human user of the device; the advertising audience.
testinteger;
default 0
OptionalIndicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode.
atinteger;
default 2
OptionalAuction type, where 1 = First Price, 2 = Second Price. We only support 2 = Second Price (other values are overridden before broadcasting to demand partners).
tmaxintegerRecommendedMaximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. This value supersedes any a priori guidance from the exchange. tmax > 470 ms is recommended for optimal monetization.
curstring arrayOptionalArray of allowed currencies for bids on this bid request (refer to supported-currencies.md). If no currency is specified, default is USD.
acatstring arrayOptionalAllowed advertiser categories using the specified category taxonomy.
The taxonomy to be used is defined by the cattax field. If no cattax field is supplied IAB Content Taxonomy 1.0 is assumed. Only one of acat or bcat should be present.
bcatstring arrayOptionalBlocked advertiser categories using the specified category taxonomy.
The taxonomy to be used is defined by the cattax field. If no cattax field is supplied IAB Content Taxonomy 1.0 is assumed. Only one of acat or bcat should be present.
cattaxinteger;
default 1
OptionalThe taxonomy in use for bcat. Refer to the AdCOM 1.0 list List: Category Taxonomies for values. Values other than 1 are strongly discouraged, please contact your CSM if you use them.
badvstring arrayOptionalBlock list of advertisers by their domains (e.g., “ford.com”). A maximum of 50 domains can be blocked.
bappstring arrayOptional (App only)Block list of applications by their app store IDs. For mobile apps in Google Play Store, these should be bundle or package names (e.g. com.foo.mygame). For apps in Apple App Store, these should be a numeric ID.
sourceobjectRecommendedA source object that provides data about the inventory source and which entity makes the final decision.
regsobjectRequired, if applicableA regs object that specifies any industry, legal, or governmental regulations in force for this request.
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
ext.placementtypestringOptionalIndicates whether the user receives a reward for viewing the ad, when set to "rewarded". Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
FieldTypeReqDescription
fdintegerRecommendedDenotes who makes the final sell decision: 0 = exchange, 1 = upstream platform (e.g., header bidding). Usually this should be set to 1.
tidstringRecommendedTransaction ID shared across all participants in the bid request.
schainobjectRecommendedIAB SupplyChain object outlining the full supply path and completeness. Refer to official documentation for more information
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
ext.omidpnstringRecommendedIdentifier of the OM SDK integration. This is the same as the “name” parameter of the OMID Partner object.
ext.omidpvstringRecommendedVersion of the OM SDK integration. This is the same as the “versionString” parameter of the OMID Partner object.
FieldTypeReqDescription
coppaintegerRequired, if applicable1 if COPPA applies (for children under 13), 0 otherwise. Refer to section 7.5 in official documentation.
gdpr or ext.gdprintegerRequired, if applicable1 if GDPR applies (EU/UK user), 0 if not. If 1, do fill user.consent (refer to #id-15.-user-object).
us_privacy or ext.us_privacystringRequired, if applicableCCPA/US-privacy consent string. See IAB US Privacy String specifications.
gppstringRequired, if applicableContains the Global Privacy Platform’s consent string. See the Global Privacy Platform specification for more details.
gpp_sidinteger arrayOptionalArray of the section(s) of the string which should be applied for this transaction. Generally will contain one and only one value, but there are edge cases where more than one may apply. See the GPP Section Information for more details.
FieldTypeRequiredDescription
idstringRequiredA unique identifier for this impression within the content of the bid request (typically, starts with 1 and increments).
tagidstringRequiredIdentifier for specific ad placement or ad tag that was used to initiate the auction. Refer to tagid-limits-and-guidelines.md for constraints.
metricobject arrayRecommendedAn array of Metric object. These metrics can offer insight into the impression to assist with decisioning such as average recent viewability, click-through rate, etc. Refer to official documentation for more information
bannerobjectRequired
if banner ad
A banner object is required if this impression is offered as a banner ad opportunity.
videoobjectRequired
if video ad
A video object is required if this impression is offered as a video ad opportunity.
nativeobjectRequired
if native ad
A native object is required if this impression is offered as a native ad opportunity.
displaymanagerstringRecommendedName of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner.
Recommended for video and/or apps.
displaymanagerverstringRecommendedVersion of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner.
Recommended for video and/or apps.
instlinteger;
default 0
Recommended 1 = the ad is interstitial or full screen, 0 = not interstitial. For video mediatype, if instl = 1, plcmt should be equal to 3
bidfloorfloat;
default 0
OptionalMinimum bid for this impression expressed in CPM.
bidfloorcurstring;
default "USD"
OptionalCurrency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange. This currency sets the default for all floors specified in the Imp object. Refer to supported-currencies.md.
clickbrowserintegerOptionalIndicates the type of browser opened upon clicking the creative in an app, where 0 = embedded, 1 = native. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this attribute.
secureintegerOptionalFlag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed.
rwddinteger;
default 0
OptionalIndicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
ssaiinteger;
default 0
OptionalIndicates if server-side ad insertion (e.g., stitching an ad into an audio or video stream) is in use and the impact of this on asset and tracker retrieval, where 0 = status unknown, 1 = all client-side (i.e., not server-side), 2 = assets stitched server-side but tracking pixels fired client-side, 3 = all server-side.
expintegerRecommendedAdvisory as to the number of seconds that may elapse between the auction and the actual impression.
dtfloatOptionalTimestamp when the item is estimated to be fulfilled (e.g. when a DOOH impression will be displayed) in Unix format (i.e., milliseconds since the epoch).
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
ext.gpidstringRecommendedGlobal Placement ID (cf. The TradeDesk's doc).
ext.rewardedintegerOptionalIndicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
ext.is_rewarded_inventoryintegerOptionalIndicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Refer to rewarded-ads.md for all means to signal rewarded inventory.
ext.skadnobjectRecommended
(for iOS App only)
If a DSP has at least one SKAdNetworkItem in the publisher app’s Info.plist we would include a new object in the bid request that provides the necessary information to create a signature. Object would only be present if the OS version (iOS 14.0+) supports SKAdNetwork. Refer to IAB Community Extensions docs for more information and our section below.
FieldTypeRequiredDescription
formatobject arrayRecommendedArray of format objects representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended.
wintegerRecommended if no formatExact width in device-independent pixels (DIPS); recommended if no Format objects are specified.
hintegerRecommended if no formatExact height in device-independent pixels (DIPS); recommended if no Format objects are specified.
btypeinteger arrayOptionalBlocked banner ad types.
Values:
1 = XHTML Text Ad,
2 = XHTML Banner Ad,
3 = JavaScript Ad,
4 = iframe.
battrinteger arrayOptionalBlocked creative attributes. Refer to List: Creative Attributes in AdCOM 1.0. A maximum of 50 attributes can be specified.
posintegerOptionalAd position on screen. Refer to List: Placement Positions in AdCOM 1.0.
mimesstring arrayOptionalContent MIME types supported. Popular MIME types may include “image/jpeg” and “image/gif”.
topframeintegerOptionalIndicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes.
expdirinteger arrayOptionalDirections in which the banner may expand. Refer to List: Expandable Directions in AdCOM 1.0.
apiinteger arrayRecommendedList of supported API frameworks for this impression. Refer to List: API Frameworks in AdCOM 1.0. If an API is not explicitly listed, it is assumed not to be supported. Defaults to [1.0] unless both imp.ext.omidpn and imp.ext.omidpv are missing, in which case api is removed (cf. open-measurement-omid.md)
idstringRecommended
if used with video as companion
Unique identifier for this banner object. Recommended when Banner objects are used with a Video object (Section #id-6.-video-object) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression.
vcmintegerOptionalRelevant only for Banner objects used with a Video object (Section #id-6.-video-object) in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card.
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
AttributeTypeRequiredDescription
mimesstring arrayRequiredContent MIME types supported (e.g., "video/mp4"). When omitted, Adagio will fallback to ["video/mp4","video/webm"].
mindurationinteger;
default 1
RecommendedMinimum video ad duration in seconds. This field is mutually exclusive with rqddurs; only one of minduration and rqddurs may be in a bid request.
maxdurationinteger; default 100RecommendedMaximum video ad duration in seconds. This field is mutually exclusive with rqddurs; only one of maxduration and rqddurs may be in a bid request.
startdelayinteger; default 0RecommendedIndicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List: Start Delay Modes in AdCOM 1.0.
protocolsinteger arrayRecommendedArray of supported video protocols. Refer to List: Creative Substypes - Audio/Video in AdCOM 1.0.
wintegerRecommendedWidth of the video player in device-independent pixels (DIPS).
hintegerRecommendedHeight of the video player in device-independent pixels (DIPS).
placementinteger; DEPRECATEDDeprecatedVideo placement type for the impression. Refer to Section 5.9 of oRTB 2.5 specs. Deprecated as of OpenRTB 2.6-202303. Use plcmt instead.
plcmtintegerRecommendedVideo placement type for the impression. Refer to List: Plcmt Subtypes - Video in AdCOM 1.0.
linearityintegerOptional (Recommended if plcmt = 1)Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to List: Linearity Modes in AdCOM 1.0. Note that this field describes the expected VAST response and not whether a placement is in-stream, out-stream, etc. For that, see plcmt.
skipintegerOptionalIndicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.
If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List: Creative Attributes in AdCOM 1.0.
skipmininteger;
default 0
OptionalVideos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable.
skipafterinteger;
default 0
OptionalNumber of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.
sequenceinteger;
default 0
DEPRECATED
DeprecatedDeprecated as of OpenRTB 2.6. Use slotinpod
battrinteger arrayOptionalBlocked creative attributes. Refer to List: Creative Attributes in AdCOM 1.0.
maxextendedintegerOptionalMaximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.
minbitrateintegerOptionalMinimum bit rate in Kbps (kilobits per second). Default is 10 if not defined in the request.
maxbitrateintegerOptionalMaximum bit rate in Kbps (kilobits per second). Default is 3000 is not defined in the request
boxingallowedinteger;
default 1
OptionalIndicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0=no, 1=yes.
playbackmethodinteger arrayOptionalPlayback methods that may be in use. If none are specified, any method may be used. Refer to List: Playback Methods in AdCOM 1.0. Only one method is typically used in practice. As a result, this array may be converted to an integer in a future version of the specification. It is strongly advised to use only the first element of this array in preparation for this change.
playbackendintegerOptionalThe event that causes playback to end. Refer to List: Playback Cessation Modes in AdCOM 1.0.
deliveryinteger arrayOptionalSupported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List: Delivery Methods in AdCOM 1.0.
posintegerOptionalAd position on screen. Refer to List: Placement Positions in AdCOM 1.0.
companionadobject arrayOptionalArray of banner objects if companion ads are available.
apiinteger arrayRecommendedList of supported API frameworks for this impression. Refer to List: API Frameworks in AdCOM 1.0. If an API is not explicitly listed, it is assumed not to be supported. Defaults to [1.0] unless both imp.ext.omidpn and imp.ext.omidpv are missing, in which case api is removed (cf. open-measurement-omid.md)
companiontypeinteger arrayRecommended
if companionad not empty
Supported VAST companion ad types. Refer to List: Companion Types in AdCOM 1.0. Recommended if companion Banner objects are included via the companionad array. If one of these banners will be rendered as an end-card, this can be specified using the vcm attribute with the particular banner (Section 3.2.6).
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
ext.rewardedintegerOptionalIndicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
ext.is_rewardedintegerOptionalIndicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
ext.videotypestringOptionalIndicates whether the user receives a reward for viewing the ad, when set to "rewarded". Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
ext.placementtypestringOptionalIndicates whether the user receives a reward for viewing the ad, when set to "rewarded". Refer to rewarded-ads.mdfor all means to signal rewarded inventory.
FIeldTypeRequiredDescription
requeststringRequiredRequest payload complying with the Native Ad Specification. The root node of the payload, "native", was dropped in the Native Ads Specification 1.1.
For Native 1.0, this is a JSON-encoded string consisting of a unnamed root object, with a single subordinate object named 'native', which is the Native Markup Request object, section 4.1 of OpenRTB Native 1.0 specification.
For Native 1.1 and higher, this is a JSON-encoded string consisting of an unnamed root object which is itself the Native Markup Request Object, section 4.1 of OpenRTB Native 1.1+ .
verstringRecommendedVersion of the Dynamic Native Ads API to which request complies; highly recommended for efficient parsing.
apiinteger arrayRecommendedList of supported API frameworks for this impression. Refer to List: API Frameworks in AdCOM. If an API is not explicitly listed, it is assumed not to be supported. Defaults to [1.0] unless both imp.ext.omidpn and imp.ext.omidpv are missing, in which case api is removed (cf. open-measurement-omid.md).
battrinteger arrayOptionalBlocked creative attributes. Refer to List: Creative Attributes in AdCOM.
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
FieldTypeRequiredDescription
wintegerRecommendedWidth in device-independent pixels (DIPS).
hintegerRecommendedHeight in device-independent pixels (DIPS).
wratiointegerRecommendedRelative width when expressing size as a ratio.
hratiointegerRecommendedRelative height when expressing size as a ratio.
wminintegerRecommendedThe minimum width in device-independent pixels (DIPS) at which the ad will be displayed the size is expressed as a ratio.
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.

This object should be included if the ad supported content is a website.

AttributeTypeRequiredDescription
idstringRecommendedExchange-specific site ID
namestringOptionalSite name (may be aliased at the publisher's request).
domainstringRequiredDomain of the site (e.g., "mysite.foo.com").
catstring arrayRecommendedArray of IAB Tech Lab content categories of the site. The taxonomy to be used is defined by the cattax field.
sectioncatstring arrayOptionalArray of IAB Tech Lab content categories that describe the current section of the site. The taxonomy to be used is defined by the cattax field.
pagecatstring arrayOptionalArray of IAB Tech Lab content categories that describe the current page or view of the site. The taxonomy to be used is definied by the cattax field.
pagestringRecommendedURL of the page where the impression will be shown.
refstringOptionalReferrer URL that caused navigation to the current page.
searchstringOptionalSearch string that caused navigation to the current page.
mobileintegerOptionalIndicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0=no, 1=yes.
privacypolicyintegerRecommended

Indicates if the site has a privacy policy, where 0 = no, 1 = yes.


publisherobjectRequiredDetails about the Publisher of the site. See publisher object.
contentobjectOptionalDetails about the Content within the site. See content object.
keywordsstringOptional

Comma separated list of keywords about the site. Only one of keywords or kwarray may be present.


kwarraystring arrayOptionalArray of keywords about the site. Only one of keywords or kwarray may be present.
inventorypartnerdomainstringOptionalA domain to be used for inventory authorization in the case of inventory sharing arrangements between a site owner and content owner. This field is typically used by authorization crawlers to establish the domain of the content owner, who has the right to monetize some portion of ad inventory within the site. The content owner's domain should be listed in the site owner's ads.txt file as an inventorypartnerdomain. Authorization for supply from the inventorypartnerdomain will be published in the ads.txt file on the root of that domain. Refer to the ads.txt 1.1 spec for more details.
site.ext.pagetypestringRecommendedDescribes what kind of content will be present in the page. - max length: 30 - max distinctive values: 50
site.ext.categorystringRecommendedCategory of the content displayed in the page. - max length: 30 - max distinctive values: 50
extobjectRecommended
cf. above pagetype and category

Placeholder for exchange-specific extensions to OpenRTB


This object should be included if the ad supported content is a non-browser application

AttributeTypeRequiredDescription
idstringRecommendedExchange-specific app ID.
namestringOptionalApp name.
bundlestringRequiredThe store ID of the app in an app store. For mobile apps in Google Play Store, these should be bundle or package names (e.g. com.foo.mygame). For apps in Apple App Store, these should be a numeric ID (e.g. 324684580).
domainstringRecommendedDomain of the app developer (e.g., "mygame.foo.com") on which the app-ads.txt can be found.
storeurlstringRecommendedApp store URL for an installed app; for IQG 2.1 compliance.
content.urlstringRecommendedSpecific web URL corresponding to viewed content (not a deep link or app store URL), accessible by AmazonAdBot (even for paywalled content).

Check amazon-dsp-contenturl-and-amazonadbot.md for more information
cattaxinteger;
default 1
OptionalThe taxonomy in use. Refer to the AdCOM List: Category Taxonomies for values. Values other than 1 are strongly discouraged, please contact your CSM if you use them.
catstring arrayRecommendedArray of IAB Tech Lab content categories of the app. The taxonomy to be used is defined by the cattax field. If no cattax field is supplied Content Category Taxonomy 1.0 is assumed.
sectioncatstring arrayOptionalArray of IAB Tech Lab content categories that describe the current section of the app. The taxonomy to be used is defined by the cattax field.
pagecatstring arrayOptionalArray of IAB Tech Lab content categories that describe the current page or view of the app. The taxonomy to be used is defined by the cattax field.
verstringRecommendedApplication version.
privacypolicyintegerRecommendedIndicates if the app has a privacy policy, where 0 = no, 1 = yes.
paidintegerRecommended0 = app is free, 1 = the app is a paid version.
publisherobjectRequiredDetails about the Publisher of the app. See publisher object.
contentobjectOptionalDetails about the Content within the app. See content object.
keywordsstringOptionalComma separated list of keywords about the app. Only one of keywords or kwarray may be present.
kwarraystring arrayOptionalArray of keywords about the app. Only one of keywords or kwarray may be present.
inventorypartnerdomainstringOptionalA domain to be used for inventory authorization in the case of inventory sharing arrangements between an app owner and content owner. This field is typically used by authorization crawlers to establish the domain of the content owner, who has the right to monetize some portion of ad inventory within the app. The content owner's domain should be listed in the app owner's app-ads.txt file as an inventorypartnerdomain. Authorization for supply from the inventorypartnerdomain will be published in the ads.txt file on the root of that domain. Refer to the ads.txt 1.1 spec for more details.
extobjectRecommendedPlaceholder for exchange-specific extensions to OpenRTB.
ext.categorystringRecommendedCategory of the content displayed in the page.
ext.pagetypestringRecommendedDescribes what kind of content will be present in the page.
FIeldTypeRequiredDescription
idstringRecommendedExchange-specific seller ID. Every ID must map to only a single entity that is paid for inventory transacted via that ID. Corresponds to a seller_id of a seller in the exchange’s sellers.json file.
namestringOptionalSeller name
cattaxinteger;
default 1
OptionalThe taxonomy in use. Refer to the AdCOM List: Category Taxonomies for values.
catstring arrayOptionalArray of IAB Tech Lab content categories of the publisher. The taxonomy to be used is defined by the cattax field. If no cattax field is supplied Content Category Taxonomy 1.0 is assumed.
domainstringOptionalHighest level domain of the seller (e.g., "seller.com").
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
fieldTypeDescription
idstringPublisher-provided ID uniquely identifying the content.
episodeintegerEpisode number.
titlestringContent title.
Video Examples: “Search Committee” (television), “A New Hope” (movie), or “Endgame” (made for web).
Non-Video Example: “Why an Antarctic Glacier Is Melting So Quickly” (Time magazine article).
seriesstringContent series.
Video Examples: “The Office” (television), “Star Wars” (movie), or “Arby ‘N’ The Chief” (made for web).
Non-Video Example: “Ecocentric” (Time Magazine blog).
seasonstringContent season (e.g., “Season 3”).
artiststringArtist credited with the content.
genrestringGenre that best describes the content (e.g., rock, pop, etc).
gtaxint;
default 9
The taxonomy in use. Refer to list List: Category Taxonomies in AdCOM 1.0 for values.

If no gtax field is supplied rows listed, Content Category Taxonomy 3.1 is assumed
genresstring arrayUnique ID(s) for the genre of the content as listed in the taxonomy defined by the gtax field. If no gtax field is supplied, subset of rows listed in CTV Genre Mapping of Content Category Taxonomy 3.1 are assumed.

See Section 7.13 of Implementation Guidance for additional detail.
albumstringAlbum to which the content belongs; typically for audio.
isrcstringInternational Standard Recording Code conforming to ISO- 3901.
producerobjectRefer to official documentation for more information
urlstringURL of the content, for buy-side contextualization or review.
cattaxinteger;
default 1
The taxonomy in use. Refer to list List: Category Taxonomies in AdCOM 1.0 for values.
catstring arrayArray of IAB Tech Lab content categories that describe the content. The taxonomy to be used is defined by the cattax field. If no cattax field is supplied Content Category Taxonomy 1.0 is assumed.
prodqintegerProduction quality. Refer to List: Production Qualities in AdCOM 1.0.
contextintegerType of content (game, video, text, etc.). Refer to List: Content Contexts in AdCOM 1.0.
contentratingstringContent rating (e.g., MPAA).
userratingstringUser rating of the content (e.g., number of stars, likes, etc.).
qagmediaratingintegerMedia rating per IQG guidelines. Refer to List: Media Ratings in AdCOM 1.0.
keywordsstringComma separated list of keywords describing the content. Only one of keywords or kwarray may be present.
kwarraystring arrayArray of keywords about the content. Only one of keywords or kwarray may be present.
livestreaminteger0 = not live, 1 = content is live (e.g., stream, live blog).
sourcerelationshipinteger0 = indirect, 1 = direct.
lenintegerLength of content in seconds; appropriate for video or audio.
languagestringContent language using ISO-639-1-alpha-2. Only one of language or langb should be present.
langbstringContent language using IETF BCP 47. Only one of language or langb should be present.
embeddableintegerIndicator of whether the content is embeddable (e.g., an embeddable video player), where 0 = no, 1 = yes.
dataobject arrayAdditional content data. Each Data object (refer to IAB Section 3.2.21) represents a different data source.
networkobjectDetails about the network (refer to IAB Section 3.2.23) the content is on.
channelobjectDetails about the channel (refer to IAB Section 3.2.24) the content is on.
extobjectPlaceholder for exchange-specific extensions to OpenRTB.
FieldTypeRequiredDescription
geoobjectRecommendedLocation of the device assumed to be the user’s current location defined by a Geo object
dntintegerRecommendedStandard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track.
lmtintegerRecommended“Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines.
uastringRecommendedBrowser user agent string. This field represents a raw user agent string from the browser. If present, sua will be preferred by bidders.
suaobjectRecommendedStructured user agent information defined by a UserAgent object. If both ua and sua are present in the bid request, sua should be considered the more accurate representation of the device attributes. Refer to official documentation for more information.
ipstringRecommendedIPv4 address closest to device.
ipv6stringIPv6 address closest to device.
devicetypeintegerRecommendedThe general type of device. Refer to List: Device Types in AdCOM 1.0.
makestringRecommendedDevice make (e.g., “Apple”).
modelstringRecommendedDevice model (e.g., “iPhone”).
osstringRecommendedDevice operating system (e.g., “iOS”).
osvstringRecommendedDevice operating system version (e.g., “3.1.2”).
hwvstringRecommendedHardware version of the device (e.g., “5S” for iPhone 5S).
hintegerRecommendedPhysical height of the screen in pixels.
wintegerRecommendedPhysical width of the screen in pixels.
ppiintegerScreen size as pixels per linear inch.
pxratiofloatRecommendedThe ratio of physical pixels to device-independent pixels (DIPS).
jsintegerRecommendedSupport for JavaScript, where 0 = no, 1 = yes.
geofetchintegerOptionalIndicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes.
flashverstringOptionalVersion of Flash supported by the browser.
languagestringRecommendedBrowser language using ISO-639-1-alpha-2. Only one of language or langb should be present.
langbstringRecommendedBrowser language using IETF BCP 47. Only one of language or langb should be present.
carrierstringRecommendedCarrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders a priori.
mccmncstringOptionalMobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA). Refer to https://en.wikipedia.org/wiki/Mobile_country_code for further examples. Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity. The MCC-MNC values represent the SIM installed on the device and do not change when a device is roaming. Roaming may be inferred by a combination of the MCC-MNC, geo, IP and other data signals.
connectiontypeintegerRecommendedNetwork connection type. Refer to List: Connection Types in AdCOM 1.0.
ifastringRecommendedID sanctioned for advertiser use in the clear (i.e., not hashed) and must never be (or be based on) a hardware-specific ID but rather obtained from a call to an advertising API provided by the device's OS.
extobjectRequired
See ext.ifa_type
Placeholder for exchange-specific extensions to OpenRTB.
ext.ifa_typestringRequired
if ifa present
Identify the source of the IFA (cf. oRTB docs for possible values)
AttributeTypeRequiredDescription
latfloatRecommendedLatitude from -90.0 to +90.0, where negative is south.
lonfloatRecommendedLongitude from -180.0 to +180.0, where negative is west.
typeintegerRecommended
if lat/long present
Source of location data; recommended when passing lat/lon. Refer to List: Location Types in AdCOM 1.0. When type = 2, it's highly recommended to also set ipservice.
accuracyintegerRecommended
if lat/long present and type = 1
Estimated location accuracy in meters. Note that this is the accuracy as reported from the device. Consult OS specific documentation (e.g., Android, iOS) for exact interpretation.
lastfixintegerOptionalNumber of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken.
ipserviceintegerRecommended
if lat/long present and type = 2
Service or provider used to determine geolocation from IP address if applicable (i.e., type = 2). Refer to List: IP Location Services in AdCOM 1.0.
countrystringRecommended
if lat/long omitted
Country code using ISO-3166-1-alpha-3.
regionstringRecommended
if lat/long omitted
Region code using ISO-3166-2; 2-letter state code if USA.
regionfips104stringOptionalRegion of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it was withdrawn by NIST in 2008.
metrostringOptionalGoogle metro code; similar to but not exactly Nielsen DMAs.
citystringRecommended
if lat/long omitted
City using United Nations Code for Trade & Transport Locations. Refer to UNECE documentation.
zipstringOptionalZIP or postal code.
utcoffsetintegerOptionalLocal time as the number +/- of minutes from UTC.
extobjectOptionalPlaceholder for exchange-specific extensions to OpenRTB.
FieldTypeRequiredDescription
buyeruidstringOptionalBuyer-specific ID for the user as mapped by the exchange for the buyer.
Shouldn't be applicable to App traffic given the absence of cookie based userID syncs.
keywordsstringOptionalComma separated list of keywords, interests, or intent. Only one of keywords or kwarray may be present.
kwarraystring arrayOptionalArray of keywords about the user. Only one of keywords or kwarray may be present.
customdatastringOptionalOptional feature to pass bidder data that was set in the exchange’s cookie. Shouldn't be applicable to App traffic given the absence of cookie based userID syncs.
geoobjectOptionalLocation of the user’s home base defined by a Geo object (Section 3.2.19). This is not necessarily their current location.
dataobject arrayOptionalAdditional user data. Each Data object (Refer to IAB Section 3.2.21) represents a different data source.
consent or ext.consentstringRequired
if regs.gdpr or regs.ext.gdpr = 1
When GDPR regulations are in effect this attribute contains the Transparency and Consent Framework’s Consent String data structure.
eids or ext.eidsobject arrayRecommendedStandardized way to carry external identity signals across the ad ecosystem. Refer to external-ids-eids.md
extobjectcf. above consent and eidsPlaceholder for exchange-specific extensions to OpenRTB.