diff --git a/2.6.md b/2.6.md
index 5f91f85..4fa82fb 100644
--- a/2.6.md
+++ b/2.6.md
@@ -224,8 +224,6 @@ THE STANDARDS, THE SPECIFICATIONS, THE MEASUREMENT GUIDELINES, AND ANY OTHER MAT
- [7.13 - Using genres and gtax attributes](implementation.md#genre)
- [7.14 - Using Extended Content Identifiers](implementation.md#cids)
-
-- [7.15 - Additional Telemetry for Live Events](implementation.md#lea)
## [Appendix A. Additional Information](#appendixa)
@@ -351,40 +349,16 @@ Updates to the specification are made through the IAB Tech Lab’s [Programmatic
The following terms are used throughout this document specifically in the context of the OpenRTB Interface and this specification.
-
-
- | Object |
- Section |
- Description |
-
-
- BidRequest |
- 3.2.1 |
- Top-level object. |
-
-
- Source |
- 3.2.2 |
- Request source details on post-auction decisioning (e.g., header bidding). |
-
-
- Regs |
- 3.2.3 |
- Regulatory conditions in effect for all impressions in this bid request. |
-
-
- Imp |
- 3.2.4 |
- Container for the description of a specific impression; at least 1 per request. |
-
-
- Metric |
- 3.2.5 |
- A quanitifiable often historical data point about an impression. |
-
-
- Banner |
- 3.2.6 |
- Details for a banner impression (incl. in-banner video) or video companion ad. |
-
-
- Video |
- 3.2.7 |
- Details for a video impression. |
-
-
- Audio |
- 3.2.8 |
- Container for audio impression.. |
-
-
- Native |
- 3.2.9 |
- Container for a native impression conforming to the Dynamic Native Ads API. |
-
-
- Format |
- 3.2.10 |
- An allowed size of a banner. |
-
-
- Pmp |
- 3.2.11 |
- Collection of private marketplace (PMP) deals applicable to this impression. |
-
-
- Deal |
- 3.2.12 |
- Deal terms pertaining to this impression between a seller and buyer. |
-
-
- Site |
- 3.2.13 |
- Details of the website calling for the impression. |
-
-
- App |
- 3.2.14 |
- Details of the application calling for the impression. |
-
-
- Publisher |
- 3.2.15 |
- Entity that controls the content of and distributes the site or app. |
-
-
- Content |
- 3.2.16 |
- Details about the published content itself, within which the ad will be shown. |
-
-
- Producer |
- 3.2.17 |
- Producer of the content; not necessarily the publisher (e.g., syndication). |
-
-
- Device |
- 3.2.18 |
- Details of the device on which the content and impressions are displayed. |
-
-
- Geo |
- 3.2.19 |
- Location of the device or user's home base depending on the parent object. |
-
-
- User |
- 3.2.20 |
- Human user of the device; audience for advertising. |
-
-
- Data |
- 3.2.21 |
- Collection of additional user targeting data from a specific data source. |
-
-
- Segment |
- 3.2.22 |
- Specific data point about a user from a specific data source. |
-
-
- Network |
- 3.2.23 |
- Network on which an ad will be displayed. |
-
-
- Channel |
- 3.2.24 |
- Channel on which an ad will be displayed. |
-
-
- SupplyChain |
- 3.2.25 |
- Chain of nodes from beginning to end representing the entities involved in the direct flow of payment for inventory. |
-
-
- SupplyChainNode |
- 3.2.26 |
- Nodes defining the identity of an entity participating in the supply chain of a bid request. |
-
-
- EIDs |
- 3.2.27 |
- Extended identifiers support. |
-
-
- UIDs |
- 3.2.28 |
- Extended identifiers user id support. |
-
-
- UserAgent |
- 3.2.29 |
- Structured user agent information. |
-
-
- BrandVersion |
- 3.2.30 |
- Name and version information for a browser or similar software component. |
-
-
-
-
- Qty |
- 3.2.31 |
- A means of passing a multiplier in the bid request, representing the total quantity of impressions for adverts that display to more than one person. |
-
-
-
-
- DOOH |
- 3.2.32 |
- Details of the Digital Out of Home inventory calling for the impression. |
-
-
-
-
+| Object | Section | Description |
+| --- | --- | --- |
+| `BidRequest` | 3.2.1 | Top-level object. |
+| `Source` | 3.2.2 | Request source details on post-auction decisioning (e.g., header bidding). |
+| `Regs` | 3.2.3 | Regulatory conditions in effect for all impressions in this bid request. |
+| `Imp` | 3.2.4 | Container for the description of a specific impression; at least 1 per request. |
+| `Metric` | 3.2.5 | A quanitifiable often historical data point about an impression. |
+| `Banner` | 3.2.6 | Details for a banner impression (incl. in-banner video) or video companion ad. |
+| `Video` | 3.2.7 | Details for a video impression. |
+| `Audio` | 3.2.8 | Container for audio impression. |
+| `Native` | 3.2.9 | Container for a native impression conforming to the Dynamic Native Ads API. |
+| `Format` | 3.2.10 | An allowed size of a banner. |
+| `Pmp` | 3.2.11 | Collection of private marketplace (PMP) deals applicable to this impression. |
+| `Deal` | 3.2.12 | Deal terms pertaining to this impression between a seller and buyer. |
+| `Site` | 3.2.13 | Details of the website calling for the impression. |
+| `App` | 3.2.14 | Details of the application calling for the impression. |
+| `Publisher` | 3.2.15 | Entity that controls the content of and distributes the site or app. |
+| `Content` | 3.2.16 | Details about the published content itself, within which the ad will be shown. |
+| `Producer` | 3.2.17 | Producer of the content; not necessarily the publisher (e.g., syndication). |
+| `Device` | 3.2.18 | Details of the device on which the content and impressions are displayed. |
+| `Geo` | 3.2.19 | Location of the device or user's home base depending on the parent object. |
+| `User` | 3.2.20 | Human user of the device; audience for advertising. |
+| `Data` | 3.2.21 | Collection of additional user targeting data from a specific data source. |
+| `Segment` | 3.2.22 | Specific data point about a user from a specific data source. |
+| `Network` | 3.2.23 | Network on which an ad will be displayed. |
+| `Channel` | 3.2.24 | Channel on which an ad will be displayed. |
+| `SupplyChain` | 3.2.25 | Chain of nodes from beginning to end representing the entities involved in the direct flow of payment for inventory. |
+| `SupplyChainNode` | 3.2.26 | Nodes defining the identity of an entity participating in the supply chain of a bid request. |
+| `EIDs` | 3.2.27 | Extended identifiers support. |
+| `UIDs` | 3.2.28 | Extended identifiers user id support. |
+| `UserAgent` | 3.2.29 | Structured user agent information. |
+| `BrandVersion` | 3.2.30 | Name and version information for a browser or similar software component. |
+| `Qty` | 3.2.31 | A means of passing a multiplier in the bid request, representing the total quantity of impressions for adverts that display to more than one person. |
+| `DOOH` | 3.2.32 | Details of the Digital Out of Home inventory calling for the impression. |
+
# 3.2 - Object Specifications
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; required |
- ID 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. |
-
-
- imp |
- object array; required |
- Array of Imp objects (Section 3.2.4) representing the impressions offered. At least 1 Imp object is required. |
-
-
- site |
- object; recommended |
- Details via a Site object (Section 3.2.13) about the publisher’s website. Only applicable and recommended for websites. |
-
-
- app |
- object; recommended |
- Details via an App object (Section 3.2.14) about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. |
-
-
- dooh |
- object |
- This object should be included if the ad supported content is a Digital Out-Of-Home screen. A bid request with a DOOH object must not contain a site or app object. |
-
-
- device |
- object; recommended |
- Details via a Device object (Section 3.2.18) about the user’s device to which the impression will be delivered. |
-
-
- user |
- object; recommended |
- Details via a User object (Section 3.2.20) about the human user of the device; the advertising audience. |
-
-
- test |
- integer; default 0 |
- Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode. |
-
-
- at |
- integer; default 2 |
- Auction type, where 1 = First Price, 2 = Second Price Plus. Exchange-specific auction types can be defined using values 500 and greater. |
-
-
- tmax |
- integer |
- Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. This value supersedes any *a priori* guidance from the exchange. |
-
-
- wseat |
- string array |
- Allowed list of buyer seats (e.g., advertisers, agencies) allowed to bid on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange *a priori*. At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions. |
-
-
- bseat |
- string array |
- Block list of buyer seats (e.g., advertisers, agencies) restricted from bidding on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange *a priori*. At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions. |
-
-
- allimps |
- integer; default 0 |
- Flag to indicate if Exchange can verify that the impressions offered represent all of the impressions available in context (e.g., all on the web page, all video spots such as pre/mid/post roll) to support road-blocking. 0 = no or unknown, 1 = yes, the impressions offered represent all that are available. |
-
-
- cur |
- string array |
- Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes. Recommended only if the exchange accepts multiple currencies. |
-
-
- wlang |
- string array |
- Allowed list of languages for creatives using ISO-639-1-alpha-2. Omission implies no specific restrictions, but buyers would be advised to consider language attribute in the Device and/or Content objects if available. Only one of wlang or wlangb should be present. |
-
-
- wlangb |
- string array |
- Allowed list of languages for creatives using IETF BCP 47I. Omission implies no specific restrictions, but buyers would be advised to consider language attribute in the Device and/or Content objects if available. Only one of wlang or wlangb should be present. |
-
-
- acat |
- string array |
- Allowed 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. |
-
-
- bcat |
- string array |
- Blocked 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. |
-
-
- cattax |
- integer; default 1 |
- The taxonomy in use for bcat. Refer to the AdCOM 1.0 list List: Category Taxonomies for values. |
-
-
- badv |
- string array |
- Block list of advertisers by their domains (e.g., “ford.com”). |
-
-
- bapp |
- string array |
- Block list of applications by their app store IDs. See OTT/CTV Store Assigned App Identification Guidelines for more details about expected strings for CTV app stores. 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. |
-
-
- source |
- object |
- A Source object (Section 3.2.2) that provides data about the inventory source and which entity makes the final decision. |
-
-
- regs |
- object |
- A Regs object (Section 3.2.3) that specifies any industry, legal, or governmental regulations in force for this request. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; required | ID 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. |
+| `imp` | object array; required | Array of `Imp` objects (Section 3.2.4) representing the impressions offered. At least 1 `Imp` object is required. |
+| `site` | object; recommended | Details via a `Site` object (Section 3.2.13) about the publisher’s website. Only applicable and recommended for websites. |
+| `app` | object; recommended | Details via an `App` object (Section 3.2.14) about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. |
+| `dooh` | object | This object should be included if the ad supported content is a Digital Out-Of-Home screen. A bid request with a DOOH object must not contain a site or app object. |
+| `device` | object; recommended | Details via a `Device` object (Section 3.2.18) about the user’s device to which the impression will be delivered. |
+| `user` | object; recommended | Details via a `User` object (Section 3.2.20) about the human user of the device; the advertising audience. |
+| `test` | integer; default 0 | Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode. |
+| `at` | integer; default 2 | Auction type, where 1 = First Price, 2 = Second Price Plus. Exchange-specific auction types can be defined using values 500 and greater. |
+| `tmax` | integer | Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. This value supersedes any *a priori* guidance from the exchange. |
+| `wseat` | string array | Allowed list of buyer seats (e.g., advertisers, agencies) allowed to bid on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange *a priori*. At most, only one of `wseat` and `bseat` should be used in the same request. Omission of both implies no seat restrictions. |
+| `bseat` | string array | Block list of buyer seats (e.g., advertisers, agencies) restricted from bidding on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange *a priori*. At most, only one of `wseat` and `bseat` should be used in the same request. Omission of both implies no seat restrictions. |
+| `allimps` | integer; default 0 | Flag to indicate if Exchange can verify that the impressions offered represent all of the impressions available in context (e.g., all on the web page, all video spots such as pre/mid/post roll) to support road-blocking. 0 = no or unknown, 1 = yes, the impressions offered represent all that are available. |
+| `cur` | string array | Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes. Recommended only if the exchange accepts multiple currencies. |
+| `wlang` | string array | Allowed list of languages for creatives using ISO-639-1-alpha-2. Omission implies no specific restrictions, but buyers would be advised to consider `language` attribute in the `Device` and/or `Content` objects if available. Only one of `wlang` or `wlangb` should be present. |
+| `wlangb` | string array | Allowed list of languages for creatives using IETF BCP 47I. Omission implies no specific restrictions, but buyers would be advised to consider language attribute in the `Device` and/or `Content` objects if available. Only one of `wlang` or `wlangb` should be present. |
+| `acat` | string array | Allowed advertiser categories using the specified category taxonomy.
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; required |
- A unique identifier for this impression within the content of the bid request (typically, starts with 1 and increments). |
-
-
- metric |
- object array |
- An array of Metric object (section 3.2.5). |
-
-
- banner |
- object |
- A Banner object (section 3.2.6); required if this impression is offered as a banner ad opportunity. |
-
-
- video |
- object |
- A Video object (Section 3.2.7); required if this impression is offered as a video ad opportunity. |
-
-
- audio |
- object |
- An Audio object (Section 3.2.8); required if this impression is offered as an audio ad opportunity. |
-
-
- native |
- object |
- A Native object (Section 3.2.9); required if this impression is offered as a native ad opportunity. |
-
-
- pmp |
- object |
- A Pmp object (Section 3.2.11) containing any private marketplace deals in effect for this impression. |
-
-
- displaymanager |
- string |
- Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. |
-
-
- displaymanagerver |
- string |
- Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. |
-
-
- instl |
- integer; default 0 |
- 1 = the ad is interstitial or full screen, 0 = not interstitial. |
-
-
- tagid |
- string |
- Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging of any issues, or for optimization by the buyer. |
-
-
- bidfloor |
- float; default 0 |
- Minimum bid for this impression expressed in CPM. |
-
-
- bidfloorcur |
- string; default "USD" |
- Currency 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. |
-
-
- clickbrowser |
- integer |
- Indicates the type of browser opened upon clicking the creative in an app, where 0 = embedded, 1 = native. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this attribute. |
-
-
- secure |
- integer |
- Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed. |
-
-
- iframebuster |
- string array |
- Array of exchange-specific names of supported iframe busters. |
-
-
- rwdd |
- integer; default 0 |
- Indicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Typically video ad implementations allow users to read an additional news article for free, receive an extra life in a game, or get a sponsored ad-free music session. The reward is typically distributed after the video ad is completed. |
-
-
- ssai |
- integer; default 0 |
- Indicates 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. |
-
-
- exp |
- integer |
- Advisory as to the number of seconds that may elapse between the auction and the actual impression. |
-
-
- qty |
- object |
- A means of passing a multiplier in the bid request, representing the total quantity of impressions for adverts that display to more than one person. |
-
-
- dt |
- float |
- Timestamp 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). |
-
-
- refresh |
- object |
- Details about ad slots being refreshed automatically. (Section 3.2.33) |
-
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; required | A unique identifier for this impression within the content of the bid request (typically, starts with 1 and increments). |
+| `metric` | object array | An array of `Metric` object (section 3.2.5). |
+| `banner` | object | A `Banner` object (section 3.2.6); required if this impression is offered as a banner ad opportunity. |
+| `video` | object | A `Video` object (Section 3.2.7); required if this impression is offered as a video ad opportunity. |
+| `audio` | object | An `Audio` object (Section 3.2.8); required if this impression is offered as an audio ad opportunity. |
+| `native` | object | A `Native` object (Section 3.2.9); required if this impression is offered as a native ad opportunity. |
+| `pmp` | object | A `Pmp` object (Section 3.2.11) containing any private marketplace deals in effect for this impression. |
+| `displaymanager` | string | Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner.
-
- | Attribute |
- Type |
- Description |
-
-
- format |
- object array; recommended |
- Array of format objects (Section 3.2.10) representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended. |
-
-
- w |
- integer |
- Exact width in device-independent pixels (DIPS); recommended if no Format objects are specified. |
-
-
- h |
- integer |
- Exact height in device-independent pixels (DIPS); recommended if no Format objects are specified. |
-
-
- btype |
- integer array |
- Blocked banner ad types.
- Values:
-1 = XHTML Text Ad,
-2 = XHTML Banner Ad,
-3 = JavaScript Ad,
-4 = iframe.
|
-
-
- battr |
- integer array |
- Blocked creative attributes. Refer to List: Creative Attributes in AdCOM 1.0. |
-
-
- pos |
- integer |
- Ad position on screen. Refer to List: Placement Positions in AdCOM 1.0. |
-
-
- mimes |
- string array |
- Content MIME types supported. Popular MIME types may include, “image/jpeg” and “image/gif”. |
-
-
- topframe |
- integer |
- Indicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes. |
-
-
- expdir |
- integer array |
- Directions in which the banner may expand. Refer to List: Expandable Directions in AdCOM 1.0. |
-
-
- api |
- integer array |
- List 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. |
-
-
- id |
- string |
- Unique identifier for this banner object. Recommended when Banner objects are used with a Video object (Section 3.2.7) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression. |
-
-
- vcm |
- integer |
- Relevant only for Banner objects used with a Video object (Section 3.2.7) in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `format` | object array;
-
- | Attribute |
- Type |
- Description |
-
-
- mimes |
- string array; required |
- Content MIME types supported (e.g., “video/mp4”). |
-
-
- minduration |
- integer; default 0 recommended |
- Minimum video ad duration in seconds. This field is mutually exclusive with rqddurs; only one of minduration and rqddurs may be in a bid request. |
-
-
- maxduration |
- integer; recommended |
- Maximum video ad duration in seconds. This field is mutually exclusive with rqddurs; only one of maxduration and rqddurs may be in a bid request. |
-
-
- startdelay |
- integer; recommended |
- Indicates 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. |
-
-
- maxseq |
- integer; recommended |
- Indicates the maximum number of ads that may be served into a “dynamic” video ad pod (where the precise number of ads is not predetermined by the seller). See Section 7.6 for more details. |
-
-
- poddur |
- integer; recommended |
- Indicates the total amount of time in seconds that advertisers may fill for a “dynamic” video ad pod (See Section 7.6 for more details), or the dynamic portion of a “hybrid” ad pod. This field is required only for the dynamic portion(s) of video ad pods. This field refers to the length of the entire ad break, whereas minduration/maxduration/rqddurs are constraints relating to the slots that make up the pod. |
-
-
- protocols |
- integer array; recommended |
- Array of supported video protocols. Refer to List: Creative Substypes - Audio/Video in AdCOM 1.0. |
-
-
- w |
- integer; recommended |
- Width of the video player in device-independent pixels (DIPS). |
-
-
- h |
- integer; recommended |
- Height of the video player in device-independent pixels (DIPS). |
-
-
- podid |
- string |
- Unique identifier indicating that an impression opportunity belongs to a video ad pod. If multiple impression opportunities within a bid request share the same podid, this indicates that those impression opportunities belong to the same video ad pod. |
-
-
- podseq |
- integer; default 0 |
- The sequence (position) of the video ad pod within a content stream. Refer to in AdCOM 1.0 for guidance on the use of this field. |
-
-
- rqddurs |
- integer array |
- Precise acceptable durations for video creatives in seconds. This field specifically targets the Live TV use case where non-exact ad durations would result in undesirable ‘dead air’. This field is mutually exclusive with minduration and maxduration; if rqddurs is specified, minduration and maxduration must not be specified and vice versa. |
-
-
- placement |
- integer; DEPRECATED |
- Deprecated as of OpenRTB 2.6-202303. Use plcmt instead. |
-
-
- plcmt |
- integer |
- Video placement type for the impression. Refer to List: Plcmt Subtypes - Video in AdCOM 1.0. |
-
-
- linearity |
- integer |
- 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 placement. |
-
-
- skip |
- integer |
- Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List: Creative Attributes in AdCOM 1.0. |
-
-
- skipmin |
- integer; default 0 |
- Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. |
-
-
- skipafter |
- integer; default 0 |
- Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. |
-
-
- sequence |
- integer; default 0 DEPRECATED |
- Deprecated as of OpenRTB 2.6. Use slotinpod |
-
-
- slotinpod |
- integer; default 0 |
- For video ad pods, this value indicates that the seller can guarantee delivery against the indicated slot position in the pod. Refer to List: Slot Position in Pod in AdCOM 1.0 guidance on the use of this field. |
-
-
- mincpmpersec |
- float |
- Minimum CPM per second. This is a price floor for the "dynamic" portion of a video ad pod, relative to the duration of bids an advertiser may submit. |
-
-
- battr |
- integer array |
- Blocked creative attributes. Refer to List: Creative Attributes in AdCOM 1.0. |
-
-
- maxextended |
- integer |
- Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value. |
-
-
- minbitrate |
- inpteger |
- Minimum bit rate in Kbps (kilobits per second). |
-
-
- maxbitrate |
- integer |
- Maximum bit rate in Kbps (kilobits per second). |
-
-
- boxingallowed |
- integer; default 1 |
- Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0=no, 1=yes. |
-
-
- playbackmethod |
- integer array |
- Playback 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. |
-
-
- playbackend |
- integer |
- The event that causes playback to end. Refer to List: Playback Cessation Modes in AdCOM 1.0. |
-
-
- delivery |
- integer array |
- Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List: Delivery Methods in AdCOM 1.0. |
-
-
- pos |
- integer |
- Ad position on screen. Refer to List: Placement Positions in AdCOM 1.0. |
-
-
- companionad |
- object array |
- Array of Banner objects (Section 3.2.6) if companion ads are available. |
-
-
- api |
- integer array |
- List 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. |
-
-
- companiontype |
- integer array |
- 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). |
-
-
- poddedupe |
- enum array PROVISIONAL |
- Indicates pod deduplication settings that will be applied to bid responses. Refer to List: Pod Deduplication in AdCOM 1.0. |
-
-
- durfloors |
- object array |
- An array of `DurFloors` objects (Section 3.2.35) indicating the floor prices for video creatives of various durations that the buyer may bid with. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `mimes` | string array; required | Content MIME types supported (e.g., `"video/mp4"`). |
+| `minduration` | integer; default 0 recommended | Minimum video ad duration in seconds. This field is mutually exclusive with `rqddurs`; only one of `minduration` and `rqddurs` may be in a bid request. |
+| `maxduration` | integer; recommended | Maximum video ad duration in seconds. This field is mutually exclusive with `rqddurs`; only one of `maxduration` and `rqddurs` may be in a bid request. |
+| `startdelay` | integer; recommended | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to [List: Start Delay Modes](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--start-delay-modes-) in AdCOM 1.0. |
+| `maxseq` | integer; recommended | Indicates the maximum number of ads that may be served into a “dynamic” video ad pod (where the precise number of ads is not predetermined by the seller). See Section 7.6 for more details. |
+| `poddur` | integer; recommended | Indicates the total amount of time in seconds that advertisers may fill for a “dynamic” video ad pod (See Section 7.6 for more details), or the dynamic portion of a “hybrid” ad pod. This field is required only for the dynamic portion(s) of video ad pods. This field refers to the length of the entire ad break, whereas `minduration`/`maxduration`/`rqddurs`are constraints relating to the slots that make up the pod. |
+| `protocols` | integer array; recommended | Array of supported video protocols. Refer to [List: Creative Substypes - Audio/Video](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-subtypes---audiovideo-) in AdCOM 1.0. |
+| `w` | integer; recommended | Width of the video player in device-independent pixels (DIPS). |
+| `h` | integer; recommended | Height of the video player in device-independent pixels (DIPS). |
+| `podid` | string | Unique identifier indicating that an impression opportunity belongs to a video ad pod. If multiple impression opportunities within a bid request share the same `podid`, this indicates that those impression opportunities belong to the same video ad pod. |
+| `podseq` | integer; default 0 | The sequence (position) of the video ad pod within a content stream. Refer to [AdCOM 1.0 for guidance on the use of this field.](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list_podsequence) |
+| `rqddurs` | integer array | Precise acceptable durations for video creatives in seconds. This field specifically targets the Live TV use case where non-exact ad durations would result in undesirable ‘dead air’. This field is mutually exclusive with `minduration` and `maxduration`; if rqddurs is specified, `minduration` and `maxduration` must not be specified and vice versa. |
+| `placement` | integer; DEPRECATED | Deprecated as of OpenRTB 2.6-202303. Use `plcmt` instead. |
+| `plcmt` | integer | Video placement type for the impression. Refer to [List: Plcmt Subtypes - Video](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/develop/AdCOM%20v1.0%20FINAL.md#list_plcmtsubtypesvideo) in AdCOM 1.0. |
+| `linearity` | integer | Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to [List: Linearity Modes](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#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 `placement`. |
+| `skip` | integer | Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.
-
- | Attribute |
- Type |
- Description |
-
-
- mimes |
- string array; required |
- Content MIME types supported (e.g., “audio/mp4”). |
-
-
- minduration |
- integer; default 0 recommended |
- Minimum audio ad duration in seconds. This field is mutually exclusive with rqddurs; only one of minduration and rqddurs may be in a bid request. |
-
-
- maxduration |
- integer; recommended |
- Maximum audio ad duration in seconds. This field is mutually exclusive with rqddurs; only one of maxduration and rqddurs may be in a bid request. |
-
-
- poddur |
- integer; recommended |
- Indicates the total amount of time that advertisers may fill for a "dynamic" audio ad pod, or the dynamic portion of a "hybrid" ad pod. This field is required only for the dynamic portion(s) of audio ad pods. This field refers to the length of the entire ad break, wheras minduration/maxduration/rqddurs are constraints relating to the slots that make up the pod. |
-
-
- protocols |
- integer array; recommended |
- Array of supported audio protocols. Refer to List: Creative Subtypes - Audio/Video in AdCOM 1.0. |
-
-
- startdelay |
- integer; recommended |
- Indicates 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. |
-
-
- rqddurs |
- integer array |
- Precise acceptable durations for audio creatives in seconds. This field specifically targets the live audio/radio use case where non-exact ad durations would result in undesirable 'dead air'. This field is mutually exclusive with minduraiton and maxduration; if rqddurs is specified, minduraiton and maxduration must not be specified and vice versa. |
-
-
- podid |
- string |
- Unique identifier indicating that an impression opportunity belongs to an audio ad pod. If multiple impression opportunities within a bid request share the same podid, this indicates that those impression opportunities belong to the same audio ad pod. |
-
-
- podseq |
- integer; default 0 |
- The sequence (position) of the audio ad pod within a content stream. Refer to List: Pod Sequence in AdCOM 1.0 for guidance on the use of this field. |
-
-
- sequence |
- integer; default 0 DEPRECATED |
- Deprecated as of OpenRTB 2.6. Use slotinpod |
-
-
- slotinpod |
- integer; default 0 |
- For audio ad pods, this value indicates that the seller can guarantee delivery against the indicated slot position in the pod. Refer to List: Slot Position in Pod in AdCOM 1.0 guidance on the use of this field. |
-
-
- mincpmpersec |
- float |
- Minimum CPM per second. This is a price floor for the “dynamic” portion of an audio ad pod, relative to the duration of bids an advertiser may submit. |
-
-
- battr |
- integer array |
- Blocked creative attributes. Refer to List: Creative Attributes in AdCOM 1.0 |
-
-
- maxextended |
- integer |
- Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value. |
-
-
- minbitrate |
- integer |
- Minimum bit rate in Kbps (kilobits per second). |
-
-
- maxbitrate |
- integer |
- Maximum bit rate in Kbps (kilobits per second). |
-
-
- delivery |
- integer array |
- Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List: Delivery Methods in AdCOM 1.0. |
-
-
- companionad |
- object array |
- Array of Banner objects (Section 3.2.6) if companion ads are available. |
-
-
- api |
- integer array |
- List of supported API frameworks for this impression. Refer to List: API Framworks in AdCOM 1.0. If an API is not explicitly listed, it is assumed not to be supported. |
-
-
- companiontype |
- integer array |
- Supported companion ad types. Refer to List: Companion Types in AdCOM 1.0. Recommended if companion Banner objects are included via the companionad array. |
-
-
- maxseq |
- integer |
- The maximum number of ads that can be played in an ad pod. |
-
-
- feed |
- integer |
- Type of audio feed. Refer to List: Feed Types in AdCOM 1.0. |
-
-
- stitched |
- integer |
- Indicates if the ad is stitched with audio content or delivered independently, where 0=no, 1=yes. |
-
-
- nvol |
- integer |
- Volume normalization mode. Refer to List: Volume Normalization Modes in AdCOM 1.0. |
-
-
- durfloors |
- object array |
- An array of `DurFloors` objects (Section 3.2.35) indicating the floor prices for audio creatives of various durations that the buyer may bid with. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `mimes` | string array; required | Content MIME types supported (e.g.,`“audio/mp4”`). |
+| `minduration` | integer; default 0 recommended | Minimum audio ad duration in seconds. This field is mutually exclusive with `rqddurs`; only one of `minduration` and `rqddurs` may be in a bid request. |
+| `maxduration` | integer; recommended | Maximum audio ad duration in seconds. This field is mutually exclusive with `rqddurs`; only one of `maxduration` and `rqddurs` may be in a bid request. |
+| `poddur` | integer; recommended | Indicates the total amount of time that advertisers may fill for a "dynamic" audio ad pod, or the dynamic portion of a "hybrid" ad pod. This field is required only for the dynamic portion(s) of audio ad pods. This field refers to the length of the entire ad break, wheras `minduration`/`maxduration`/`rqddurs`are constraints relating to the slots that make up the pod. |
+| `protocols` | integer array; recommended | Array of supported audio protocols. Refer to [List: Creative Subtypes - Audio/Video](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-subtypes---audiovideo-) in AdCOM 1.0. |
+| `startdelay` | integer; recommended | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to [List: Start Delay Modes](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--start-delay-modes-) in AdCOM 1.0. |
+| `rqddurs` | integer array | Precise acceptable durations for audio creatives in seconds. This field specifically targets the live audio/radio use case where non-exact ad durations would result in undesirable 'dead air'. This field is mutually exclusive with `minduraiton` and `maxduration`; if `rqddurs` is specified, `minduraiton` and `maxduration` must not be specified and vice versa. |
+| `podid` | string | Unique identifier indicating that an impression opportunity belongs to an audio ad pod. If multiple impression opportunities within a bid request share the same `podid`, this indicates that those impression opportunities belong to the same audio ad pod. |
+| `podseq` | integer; default 0 | The sequence (position) of the audio ad pod within a content stream. Refer to [List: Pod Sequence](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--pod-sequence-) in AdCOM 1.0 for guidance on the use of this field. |
+| `sequence` | integer; default 0
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; required |
- A unique identifier for the direct deal. |
-
-
- bidfloor |
- float; default 0 |
- Minimum bid for this impression expressed in CPM. |
-
-
- bidfloorcur |
- string; default "USD" |
- Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange. This field does not inherit from `Imp.bidfloorcur`; it is either explicitly specified or defaults to USD. |
-
-
- at |
- integer |
- Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange. |
-
-
- wseat |
- string array |
- Allowed list of buyer seats (e.g., advertisers, agencies) allowed to bid on this deal. IDs of seats and the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. Omission implies no seat restrictions. |
-
-
- wadomain |
- string array |
- Array of advertiser domains (e.g., advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions. |
-
-
- guar |
- integer, default 0 |
- Indicates that the deal is of type `guaranteed` and the bidder must bid on the deal, where 0 = not a guaranteed deal, 1 = guaranteed deal. |
-
-
- mincpmpersec |
- float |
- Minimum CPM per second. This is a price floor for video or audio impression opportunities, relative to the duration of bids an advertiser may submit. |
-
-
- durfloors |
- object array |
- Container for floor price by duration information, to be used if a given deal is eligible for video or audio demand. An array of DurFloors objects (see Section 3.2.35). |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; required | A unique identifier for the direct deal. |
+| `bidfloor` | float; default 0 | Minimum bid for this impression expressed in CPM. |
+| `bidfloorcur` | string; default "USD" | Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange. This field does not inherit from `Imp.bidfloorcur`; it is either explicitly specified or defaults to USD. |
+| `at` | integer | Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in `bidfloor` is the agreed upon deal price. Additional auction types can be defined by the exchange. |
+| `wseat` | string array | Allowed list of buyer seats (e.g., advertisers, agencies) allowed to bid on this deal. IDs of seats and the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. Omission implies no seat restrictions. |
+| `wadomain` | string array | Array of advertiser domains (e.g., advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions. |
+| `guar` | integer, default 0 | Indicates that the deal is of type `guaranteed` and the bidder must bid on the deal, where 0 = not a guaranteed deal, 1 = guaranteed deal. |
+| `mincpmpersec` | float | Minimum CPM per second. This is a price floor for video or audio impression opportunities, relative to the duration of bids an advertiser may submit. |
+| `durfloors` | object array | Container for floor price by duration information, to be used if a given deal is eligible for video or audio demand. An array of DurFloors objects (see Section 3.2.35). |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
+
### 3.2.13 - Object: Site
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; recommended |
- Exchange-specific site ID. |
-
-
- name |
- string |
- Site name (may be aliased at the publisher's request). |
-
-
- domain |
- string |
- Domain of the site (e.g., "mysite.foo.com"). |
-
-
- cattax |
- integer; default 1 |
- The taxonomy in use. Refer to the AdCOM List: Category Taxonomies for values. If no cattax field is supplied IAB Cotent Category Taxonomy 1.0 is assumed. |
-
-
- cat |
- string array |
- Array of IAB Tech Lab content categories of the site. The taxonomy to be used is defined by the cattax field. |
-
-
- sectioncat |
- string array |
- Array 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. |
-
-
- pagecat |
- string array |
- Array 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. |
-
-
- page |
- string |
- URL of the page where the impression will be shown. |
-
-
- ref |
- string |
- Referrer URL that caused navigation to the current page. |
-
-
- search |
- string |
- Search string that caused navigation to the current page. |
-
-
- mobile |
- integer |
- Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0=no, 1=yes. |
-
-
- privacypolicy |
- integer |
- Indicates if the site has a privacy policy, where 0 = no, 1 = yes. |
-
-
- publisher |
- object |
- Details about the Publisher (Section 3.2.15) of the site. |
-
-
- content |
- object |
- Details about the Content (Section 3.2.16) within the site. |
-
-
- keywords |
- string |
- Comma separated list of keywords about the site. Only one of keywords or kwarray may be present. |
-
-
- kwarray |
- string array |
- Array of keywords about the site. Only one of keywords or kwarray may be present. |
-
-
- inventorypartnerdomain |
- string |
- A 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. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; recommended | Exchange-specific site ID. |
+| `name` | string | Site name (may be aliased at the publisher's request). |
+| `domain` | string | Domain of the site (e.g., "mysite.foo.com"). |
+| `cattax` | integer; default 1 | The taxonomy in use. Refer to the AdCOM [List: Category Taxonomies](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies) for values. If no cattax field is supplied IAB Cotent Category Taxonomy 1.0 is assumed. |
+| `cat` | string array | Array of IAB Tech Lab content categories of the site. The taxonomy to be used is defined by the cattax field. |
+| `sectioncat` | string array | Array 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. |
+| `pagecat` | string array | Array 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. |
+| `page` | string | URL of the page where the impression will be shown. |
+| `ref` | string | Referrer URL that caused navigation to the current page. |
+| `search` | string | Search string that caused navigation to the current page. |
+| `mobile` | integer | Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0=no, 1=yes. |
+| `privacypolicy` | integer | Indicates if the site has a privacy policy, where 0 = no, 1 = yes. |
+| `publisher` | object | Details about the Publisher (Section 3.2.15) of the site. |
+| `content` | object | Details about the Content (Section 3.2.16) within the site. |
+| `keywords` | string | Comma separated list of keywords about the site. Only one of `keywords` or `kwarray` may be present. |
+| `kwarray` | string array | Array of keywords about the site. Only one of `keywords` or `kwarray` may be present. | `inventorypartnerdomain` | string | A 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](https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf) for more details. | `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
+| `inventorypartnerdomain` | string | A 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](https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf) for more details. |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
+
### 3.2.14 - Object: App
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; recommended |
- Exchange-specific app ID. |
-
-
- name |
- string |
- App name (may be aliased at the publisher's request). |
-
-
- bundle |
- string |
- The store ID of the app in an app store. See OTT/CTV Store Assigned App Identification Guidelines for more details about expected strings for CTV app stores. 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. |
-
-
- domain |
- string |
- Domain of the app (e.g., "mygame.foo.com"). |
-
-
- storeurl |
- string |
- App store URL for an installed app; for IQG 2.1 compliance. |
-
-
- cattax |
- integer; default 1 |
- The taxonomy in use. Refer to the AdCOM List: Category Taxonomies for values. |
-
-
- cat |
- string array |
- Array 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. |
-
-
- sectioncat |
- string array |
- Array 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. |
-
-
- pagecat |
- string array |
- Array of IAB Tech Lab content categories that describe the current page or view of the app. The taxonomy to be used is definied by the cattax field. |
-
-
- ver |
- string |
- Application version. |
-
-
- privacypolicy |
- integer |
- Indicates if the app has a privacy policy, where 0 = no, 1 = yes. |
-
-
- paid |
- integer |
- 0 = app is free, 1 = the app is a paid version. |
-
-
- publisher |
- object |
- Details about the Publisher (Section 3.2.15) of the app. |
-
-
- content |
- object |
- Details about the Content (Section 3.2.16) within the app. |
-
-
- keywords |
- string |
- Comma separated list of keywords about the app. Only one of keywords or kwarray may be present. |
-
-
- kwarray |
- string array |
- Array of keywords about the app. Only one of keywords or kwarray may be present. |
-
-
- inventorypartnerdomain |
- string |
- A 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. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; recommended | Exchange-specific app ID. |
+| `name` | string | App name (may be aliased at the publisher's request). |
+| `bundle` | string | The store ID of the app in an app store. See [OTT/CTV Store Assigned App Identification Guidelines](https://iabtechlab.com/wp-content/uploads/2020/08/IAB-Tech-Lab-OTT-store-assigned-App-Identification-Guidelines-2020.pdf) for more details about expected strings for CTV app stores. 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. |
+| `domain` | string | Domain of the app (e.g., "mygame.foo.com"). |
+| `storeurl` | string | App store URL for an installed app; for IQG 2.1 compliance. |
+| `cattax` | integer; default 1 | The taxonomy in use. Refer to the AdCOM [List: Category Taxonomies](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies) for values. |
+| `cat` | string array | Array 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. |
+| `sectioncat` | string array | Array 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. |
+| `pagecat` | string array | Array of IAB Tech Lab content categories that describe the current page or view of the app. The taxonomy to be used is definied by the cattax field. |
+| `ver` | string | Application version. |
+| `privacypolicy` | integer | Indicates if the app has a privacy policy, where 0 = no, 1 = yes. |
+| `paid` | integer | 0 = app is free, 1 = the app is a paid version. |
+| `publisher` | object | Details about the Publisher (Section 3.2.15) of the app. |
+| `content` | object | Details about the Content (Section 3.2.16) within the app. |
+| `keywords` | string | Comma separated list of keywords about the app. Only one of `keywords` or `kwarray` may be present. |
+| `kwarray` | string array | Array of keywords about the app. Only one of `keywords` or `kwarray` may be present. | `inventorypartnerdomain` | string | A 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](https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf) for more details. | `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
+| `inventorypartnerdomain` | string | A 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](https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf) for more details. |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
@@ -1924,463 +882,114 @@ This object describes the entity who directly supplies inventory to and is paid
-
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string |
- Publisher-provided ID uniquely identifying the content. |
-
-
- episode |
- integer |
- Episode number. |
-
-
- title |
- string |
- Content 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). |
-
-
- series |
- string |
- Content series. *Video Examples:* “The Office” (television), “Star Wars” (movie), or “Arby ‘N’ The Chief” (made for web). *Non-Video Example:* “Ecocentric” (Time Magazine blog). |
-
-
- season |
- string |
- Content season (e.g., “Season 3”). |
-
-
- artist |
- string |
- Artist credited with the content. |
-
-
- genre |
- string |
- Genre that best describes the content (e.g., rock, pop, etc). |
-
-
- gtax |
- int; 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 |
-
-
- genres |
- string |
- Unique 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.
- |
-
- album |
- string |
- Album to which the content belongs; typically for audio. |
-
-
- isrc |
- string |
- International Standard Recording Code conforming to ISO- 3901. |
-
-
- producer |
- object |
- Details about the content Producer (Section 3.2.17). |
-
-
- url |
- string |
- URL of the content, for buy-side contextualization or review. |
-
-
- cattax |
- integer; default 1 |
- The taxonomy in use. Refer to list List: Category Taxonomies in AdCOM 1.0 for values. |
-
-
- cat |
- string array |
- Array 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. |
-
-
- prodq |
- integer |
- Production quality. Refer to List: Production Qualities in AdCOM 1.0. |
-
-
- context |
- integer |
- Type of content (game, video, text, etc.). Refer to List: Content Contexts in AdCOM 1.0. |
-
-
- contentrating |
- string |
- Content rating (e.g., MPAA). |
-
-
- userrating |
- string |
- User rating of the content (e.g., number of stars, likes, etc.). |
-
-
- qagmediarating |
- integer |
- Media rating per IQG guidelines. Refer to List: Media Ratings in AdCOM 1.0. |
-
-
- keywords |
- string |
- Comma separated list of keywords describing the content. Only one of keywords or kwarray may be present. |
-
-
- kwarray |
- string array |
- Array of keywords about the site. Only one of keywords or kwarray may be present. |
-
-
- livestream |
- integer |
- 0 = not live, 1 = content is live (e.g., stream, live blog). |
-
-
- recording |
- integer |
- An enumeration indicating how the content was recorded where 0 = pre-recorded content and 1 = real-time. See Section 7.15 of Implementation Guidance for additional detail.
- |
-
-
- airdate |
- integer |
- UNIX timestamp indicating when the content was first broadcast or made available to the public in the geographic region where it aired
-(i.e. 1752057600).
-Content airing for the first time at the time of the bid request should use a value of -1.
-Content that aired prior to Jan 1, 1970 should use a value of -2.
-See Section 7.15 of Implementation Guidance for additional detail.
- |
-
-
- sourcerelationship |
- integer |
- 0 = indirect, 1 = direct. |
-
-
- len |
- integer |
- Length of content in seconds; appropriate for video or audio. |
-
-
- language |
- string |
- Content language using ISO-639-1-alpha-2. Only one of language or langb should be present. |
-
-
- langb |
- string |
- Content language using IETF BCP 47. Only one of language or langb should be present. |
-
-
- embeddable |
- integer |
- Indicator of whether the content is embeddable (e.g., an embeddable video player), where 0 = no, 1 = yes. |
-
-
- data |
- object array |
- Additional content data. Each Data object (Section 3.2.21) represents a different data source. |
-
-
- network |
- object |
- Details about the network (Section 3.2.23) the content is on. |
-
-
- channel |
- object |
- Details about the channel (Section 3.2.24) the content is on. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
-### 3.2.17 - Object: Producer
-
- | Attribute |
- Type |
- Description |
-
-
- geo |
- object; recommended |
- Location of the device assumed to be the user’s current location defined by a Geo object (Section 3.2.19). |
-
-
- dnt |
- integer; recommended |
- Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track. |
-
-
- lmt |
- integer; recommended |
- “Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. |
-
-
- ua |
- string |
- Browser user agent string. This field represents a raw user agent string from the browser. For backwards compatibility, exchanges are recommended to always populate ua with the User-Agent string, when available from the end user’s device, even if an alternative representation, such as the User-Agent Client-Hints, is available and is used to populate sua. No inferred or approximated user agents are expected in this field. If a client supports User-Agent Client Hints, and sua field is present, bidders are recommended to rely on sua for detecting device type, browser type and version and other purposes that rely on the user agent information, and ignore ua field. This is because the ua may contain a frozen or reduced user agent string. |
-
-
- sua |
- object |
- Structured user agent information defined by a UserAgent object (see Section 3.2.29). If both ua and sua are present in the bid request, sua should be considered the more accurate representation of the device attributes. This is because the ua may contain a frozen or reduced user agent string. |
-
-
- ip |
- string |
- IPv4 address closest to device. |
-
-
- ipv6 |
- string |
- IP address closest to device as IPv6. |
-
-
- devicetype |
- integer |
- The general type of device. Refer to List: Device Types in AdCOM 1.0. |
-
-
- make |
- string |
- Device make (e.g., “Apple”). |
-
-
- model |
- string |
- Device model (e.g., “iPhone”). |
-
-
- os |
- string |
- Device operating system (e.g., “iOS”). |
-
-
- osv |
- string |
- Device operating system version (e.g., “3.1.2”). |
-
-
- hwv |
- string |
- Hardware version of the device (e.g., “5S” for iPhone 5S). |
-
-
- h |
- integer |
- Physical height of the screen in pixels. |
-
-
- w |
- integer |
- Physical width of the screen in pixels. |
-
-
- ppi |
- integer |
- Screen size as pixels per linear inch. |
-
-
- pxratio |
- float |
- The ratio of physical pixels to device-independent pixels (DIPS). |
-
-
- js |
- integer |
- Support for JavaScript, where 0 = no, 1 = yes. |
-
-
- geofetch |
- integer |
- Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes. |
-
-
- flashver |
- string |
- Version of Flash supported by the browser. |
-
-
- language |
- string |
- Browser language using ISO-639-1-alpha-2. Only one of language or langb should be present. |
-
-
- langb |
- string |
- Browser language using IETF BCP 47. Only one of language or langb should be present. |
-
-
- carrier |
- string |
- Carrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders *a priori*. |
-
-
- mccmnc |
- string |
- Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA). Refer to https://en.wikipedia.org/wiki/Mobile_country_code for further examples. Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity. 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. |
-
-
- connectiontype |
- integer |
- Network connection type. Refer to List: Connection Types in AdCOM 1.0. |
-
-
- ifa |
- string |
- ID sanctioned for advertiser use in the clear (i.e., not hashed)
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `geo` | object; recommended | Location of the device assumed to be the user’s current location defined by a `Geo` object (Section 3.2.19). |
+| `dnt` | integer; recommended | Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track. |
+| `lmt` | integer; recommended | “Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. |
+| `ua` | string | Browser user agent string. This field represents a raw user agent string from the browser. For backwards compatibility, exchanges are recommended to always populate `ua` with the User-Agent string, when available from the end user’s device, even if an alternative representation, such as the User-Agent Client-Hints, is available and is used to populate `sua`. No inferred or approximated user agents are expected in this field. If a client supports User-Agent Client Hints, and `sua` field is present, bidders are recommended to rely on `sua` for detecting device type, browser type and version and other purposes that rely on the user agent information, and ignore `ua` field. This is because the `ua` may contain a frozen or reduced user agent string. |
+| `sua` | object | Structured user agent information defined by a `UserAgent` object (see Section 3.2.29). If both `ua` and `sua` are present in the bid request, `sua` should be considered the more accurate representation of the device attributes. This is because the `ua` may contain a frozen or reduced user agent string. |
+| `ip` | string | IPv4 address closest to device. |
+| `ipv6` | string | IP address closest to device as IPv6. |
+| `devicetype` | integer | The general type of device. Refer to [List: Device Types](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--device-types-) in AdCOM 1.0. |
+| `make` | string | Device make (e.g., “Apple”). |
+| `model` | string | Device model (e.g., “iPhone”). |
+| `os` | string | Device operating system (e.g., “iOS”). |
+| `osv` | string | Device operating system version (e.g., “3.1.2”). |
+| `hwv` | string | Hardware version of the device (e.g., “5S” for iPhone 5S). |
+| `h` | integer | Physical height of the screen in pixels. |
+| `w` | integer | Physical width of the screen in pixels. |
+| `ppi` | integer | Screen size as pixels per linear inch. |
+| `pxratio` | float | The ratio of physical pixels to device-independent pixels (DIPS). |
+| `js` | integer | Support for JavaScript, where 0 = no, 1 = yes. |
+| `geofetch` | integer | Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes. |
+| `flashver` | string | Version of Flash supported by the browser. |
+| `language` | string | Browser language using ISO-639-1-alpha-2. Only one of `language` or `langb` should be present. |
+| `langb` | string | Browser language using IETF BCP 47. Only one of `language` or `langb` should be present. |
+| `carrier` | string | Carrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders *a priori*. |
+| `mccmnc` | string | Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA). Refer to https://en.wikipedia.org/wiki/Mobile_country_code for further examples. Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity. 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. |
+| `connectiontype` | integer | Network connection type. Refer to [List: Connection Types](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--connection-types-) in AdCOM 1.0. |
+| `ifa` | string | ID sanctioned for advertiser use in the clear (i.e., not hashed) Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be an ID derived from a call to an advertising API provided by the device’s Operating System. |
+| `didsha1` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `didmd5` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `dpidsha1` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `dpidmd5` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `macsha1` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `macmd5` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
- Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be an ID derived from a call to an advertising API provided by the device’s Operating System. |
-
-
- didsha1 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- didmd5 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- dpidsha1 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- dpidmd5 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- macsha1 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- macmd5 |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
### 3.2.19 - Object: Geo
-
- | Attribute |
- Type |
- Description |
-
-
- lat |
- float |
- Latitude from -90.0 to +90.0, where negative is south. |
-
-
- lon |
- float |
- Longitude from -180.0 to +180.0, where negative is west. |
-
-
- type |
- integer |
- Source of location data; recommended when passing lat/lon. Refer to List: Location Types in AdCOM 1.0. |
-
-
- accuracy |
- integer |
- Estimated location accuracy in meters; recommended when lat/lon are specified and derived from a device’s location services (i.e., type = 1). Note that this is the accuracy as reported from the device. Consult OS specific documentation (e.g., Android, iOS) for exact interpretation. |
-
-
- lastfix |
- integer |
- Number of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken. |
-
-
- ipservice |
- integer |
- 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. |
-
-
- country |
- string |
- Country code using ISO-3166-1-alpha-3. |
-
-
- region |
- string |
- Region code using ISO-3166-2; 2-letter state code if USA. |
-
-
- regionfips104 |
- string |
- Region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it was withdrawn by NIST in 2008. |
-
-
- metro |
- string |
- Google metro code; similar to but not exactly Nielsen DMAs. See Appendix A for a link to the codes. |
-
-
- city |
- string |
- City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes. |
-
-
- zip |
- string |
- ZIP or postal code. |
-
-
- utcoffset |
- integer |
- Local time as the number +/- of minutes from UTC. |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `lat` | float | Latitude from -90.0 to +90.0, where negative is south. |
+| `lon` | float | Longitude from -180.0 to +180.0, where negative is west. |
+| `type` | integer | Source of location data; recommended when passing `lat`/`lon`. Refer to [List: Location Types](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--location-types-) in AdCOM 1.0. |
+| `accuracy` | integer | Estimated location accuracy in meters; recommended when `lat`/`lon` are specified and derived from a device’s location services (i.e., type = 1). Note that this is the accuracy as reported from the device. Consult OS specific documentation (e.g., Android, iOS) for exact interpretation. |
+| `lastfix` | integer | Number of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken. |
+| `ipservice` | integer | Service or provider used to determine geolocation from IP address if applicable (i.e., type = 2). Refer to [List: IP Location Services](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--ip-location-services-) in AdCOM 1.0. |
+| `country` | string | Country code using ISO-3166-1-alpha-3. |
+| `region` | string | Region code using ISO-3166-2; 2-letter state code if USA. |
+| `regionfips104` | string | Region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it was withdrawn by NIST in 2008. |
+| `metro` | string | Google metro code; similar to but not exactly Nielsen DMAs. See Appendix A for a link to the codes. |
+| `city` | string | City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes. |
+| `zip` | string | ZIP or postal code. |
+| `utcoffset` | integer | Local time as the number +/- of minutes from UTC. |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
+
+
### 3.2.20 - Object: User
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string |
- Exchange-specific ID for the user.
-
- Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be derived from an ID sync. (see Appendix: Cookie Based ID Syncing)
- |
-
-
- buyeruid |
- string |
- Buyer-specific ID for the user as mapped by the exchange for the buyer.
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string | Exchange-specific ID for the user. Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be derived from an ID sync. (see [Appendix: Cookie Based ID Syncing)](#appendixc) |
+| `buyeruid` | string | Buyer-specific ID for the user as mapped by the exchange for the buyer. Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be derived from an ID sync. (see [Appendix: Cookie Based ID Syncing)](#appendixc) |
+| `yob` | integer; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `gender` | string; DEPRECATED | Deprecated as of OpenRTB 2.6. |
+| `keywords` | string | Comma separated list of keywords, interests, or intent. Only one of `keywords` or `kwarray` may be present. |
+| `kwarray` | string array | Array of keywords about the user. Only one of `keywords` or `kwarray` may be present. |
+| `customdata` | string | Optional feature to pass bidder data that was set in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks. |
+| `geo` | object | Location of the user’s home base defined by a `Geo` object (Section 3.2.19). This is not necessarily their current location. |
+| `data` | object array | Additional user data. Each `Data` object (Section 3.2.21) represents a different data source. |
+| `consent` | string | When GDPR regulations are in effect this attribute contains the Transparency and Consent Framework’s [Consent String](https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20Consent%20string%20and%20vendor%20list%20formats%20v2.md) data structure. |
+| `eids` | object array | Details for support of a standard protocol for multiple third party identity providers (Section 3.2.27). |
+| `ext` | object | Placeholder for exchange-specific extensions to OpenRTB. |
- Unless prior arrangements have been made between the buyer and the seller directly, the value in this field is expected to be derived from an ID sync. (see Appendix: Cookie Based ID Syncing)
- |
-
-
- yob |
- integer; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- gender |
- string; DEPRECATED |
- Deprecated as of OpenRTB 2.6. |
-
-
- keywords |
- string |
- Comma separated list of keywords, interests, or intent. Only one of keywords or kwarray may be present. |
-
-
- kwarray |
- string array |
- Array of keywords about the user. Only one of keywords or kwarray may be present. |
-
-
- customdata |
- string |
- Optional feature to pass bidder data that was set in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks. |
-
-
- geo |
- object |
- Location of the user’s home base defined by a Geo object (Section 3.2.19). This is not necessarily their current location. |
-
-
- data |
- object array |
- Additional user data. Each Data object (Section 3.2.21) represents a different data source. |
-
-
- consent |
- string |
- When GDPR regulations are in effect this attribute contains the Transparency and Consent Framework’s Consent String data structure. |
-
-
- eids |
- object array |
- Details for support of a standard protocol for multiple third party identity providers (Section 3.2.27). |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
### 3.2.21 - Object: Data
-
- | Attribute |
- Type |
- Description |
-
-
- asi |
- string; required |
- The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an ads.txt file if one exists. |
-
-
- sid |
- string; required |
- The identifier associated with the seller or reseller account within the advertising system. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is publisher.id. For OpenDirect it is typically the publisher’s organization ID. Should be limited to 64 characters in length. |
-
-
- rid |
- string |
- The OpenRTB RequestId of the request as issued by this seller. |
-
-
- name |
- string |
- The name of the company (the legal entity) that is paid for inventory transacted under the given seller_ID. This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file. |
-
-
- domain |
- string |
- The business domain name of the entity represented by this node. This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file. |
-
-
- hp |
- integer |
- Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1. Implementers should ensure that they propagate this field onwards when constructing SupplyChain objects in bid requests sent to a downstream advertising system. |
-
-
- ext |
- object |
- Placeholder for advertising-system specific extensions to this object. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `asi` | string; required | The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an ads.txt file if one exists. |
+| `sid` | string; required | The identifier associated with the seller or reseller account within the advertising system. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is `publisher.id`. For OpenDirect it is typically the publisher’s organization ID. Should be limited to 64 characters in length. |
+| `rid` | string | The OpenRTB RequestId of the request as issued by this seller. |
+| `name` | string | The name of the company (the legal entity) that is paid for inventory transacted under the given `seller_ID`. This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file. |
+| `domain` | string | The business domain name of the entity represented by this node. This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file. |
+| `hp` | integer | Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the `asi` field pays the seller in the `sid` field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of `SupplyChain`, this property should always be 1. Implementers should ensure that they propagate this field onwards when constructing `SupplyChain` objects in bid requests sent to a downstream advertising system. |
+| `ext` | object | Placeholder for advertising-system specific extensions to this object. |
+
### 3.2.27 - Object: EID
-
- | Attribute |
- Type |
- Description |
-
-
- inserter |
- string |
- The canonical domain name of the entity (publisher, publisher monetization company, SSP, Exchange, Header Wrapper, etc.) that caused the ID array element to be added. This may be the operational domain of the system, if that is different from the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system.
- This should be the same value as used to identify sellers in an ads.txt file if one exists.
-For ad tech intermediaries, this would be the domain as used in ads.txt. For publishers, this would match the domain in the site or app object.
- |
-
-
- source |
- string |
- Canonical domain of the ID. |
-
-
- matcher |
- string |
- Technology providing the match method as defined in mm.
-In some cases, this may be the same value as inserter.
-When blank, it is assumed that the matcher is equal to the source
-May be omitted when mm=0, 1, or 2.
- |
-
-
- mm |
- int |
- Match method used by the matcher. Refer to List: ID Match Methods in AdCOM 1.0
- |
-
-
- uids |
- object array |
- Array of extended ID UID objects from the given source. Refer to the Extended Identifier UIDs object (Section 3.2.28) |
-
-
- ext |
- object |
- Placeholder for exchange-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `inserter` | string | The canonical domain name of the entity (publisher, publisher monetization company, SSP, Exchange, Header Wrapper, etc.) that caused the ID array element to be added. This may be the operational domain of the system, if that is different from the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system.
-
- | Attribute |
- Type |
- Description |
-
-
- browsers |
- array of BrandVersion objects; recommended |
- Each BrandVersion object (see Section 3.2.30) identifies a browser or similar software component. Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header*. |
-
-
- platform |
- BrandVersion object; recommended |
- A BrandVersion object (see Section 3.2.30) that identifies the user agent’s execution platform / 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 |
- integer |
- 1 if the agent prefers a “mobile” version of the content, if available, i.e. optimized for small screens or touch input. 0 if the agent prefers the “desktop” or “full” content. Implementers should derive this value from the Sec-CH-UA-Mobile header *. |
-
-
- architecture |
- string |
- Device’s major binary architecture, e.g. “x86” or “arm”. Implementers should retrieve this value from the Sec-CH-UA-Arch header*. |
-
-
- bitness |
- string |
- Device’s bitness, e.g. “64” for 64-bit architecture. Implementers should retrieve this value from the Sec-CH-UA-Bitness header*. |
-
-
- model |
- string |
- Device model. Implementers should retrieve this value from the Sec-CH-UA-Model header*. |
-
-
- source |
- integer; default 0 |
- The source of data used to create this object, List: User-Agent Source in AdCOM 1.0 |
-
-
- ext |
- object |
- Placeholder for vendor specific extensions to this object. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `browsers` | array of `BrandVersion` objects; recommended | Each `BrandVersion` object (see Section 3.2.30) identifies a browser or similar software component. Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header\*. |
+| `platform` | BrandVersion object; recommended | A `BrandVersion` object (see Section 3.2.30) that identifies the user agent’s execution platform / 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` | integer | 1 if the agent prefers a “mobile” version of the content, if available, i.e. optimized for small screens or touch input. 0 if the agent prefers the “desktop” or “full” content. Implementers should derive this value from the Sec-CH-UA-Mobile header\*. |
+| `architecture` | string | Device’s major binary architecture, e.g. “x86” or “arm”. Implementers should retrieve this value from the Sec-CH-UA-Arch header\*. |
+| `bitness` | string | Device’s bitness, e.g. “64” for 64-bit architecture. Implementers should retrieve this value from the Sec-CH-UA-Bitness header\*. |
+| `model` | string | Device model. Implementers should retrieve this value from the Sec-CH-UA-Model header\*. |
+| `source` | integer; default 0 | The source of data used to create this object, [List: User-Agent Source](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--user-agent-source-) in AdCOM 1.0 |
+| `ext` | object | Placeholder for vendor specific extensions to this object. |
+
-* or an equivalent JavaScript accessor from [NavigatorUAData interface](https://wicg.github.io/ua-client-hints/#navigatoruadata). This header or accessor are only available for browsers that support [User-Agent Client Hints](https://wicg.github.io/ua-client-hints/).
+\* or an equivalent JavaScript accessor from [NavigatorUAData interface](https://wicg.github.io/ua-client-hints/#navigatoruadata). This header or accessor are only available for browsers that support [User-Agent Client Hints](https://wicg.github.io/ua-client-hints/).
### 3.2.30 - Object: BrandVersion
-
- | Attribute |
- Type |
- Description |
-
-
- id |
- string; required |
- Bidder generated bid ID to assist with logging/tracking. |
-
-
- impid |
- string; required |
- ID of the Imp object in the related bid request. |
-
-
- price |
- float; required |
- Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (e.g., BigDecimal in Java). |
-
-
- nurl |
- string |
- Win notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup. Substitution macros (Section 4.4) may be included in both the URL and optionally returned markup. |
-
-
- burl |
- string |
- Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (e.g., typically delivered, viewed, etc.). Substitution macros (Section 4.4) may be included. |
-
-
- lurl |
- string |
- Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros (Section 4.4) may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string). |
-
-
- adm |
- string |
- Optional means of conveying ad markup in case the bid wins; supersedes the win notice if markup is included in both. Substitution macros (Section 4.4) may be included. |
-
-
- adid |
- string |
- ID of a preloaded ad to be served if the bid wins. |
-
-
- adomain |
- string array |
- Advertiser domain for block list checking (e.g., “ford.com”). This can be an array of for the case of rotating creatives. Exchanges can mandate that only one domain is allowed. |
-
-
- bundle |
- string |
- The store ID of the app in an app store (e.g., Apple App Store, Google Play). See OTT/CTV Store Assigned App Identification Guidelines for more details about expected strings for CTV app stores. 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. |
-
-
- iurl |
- string |
- URL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking. |
-
-
- cid |
- string |
- Campaign ID to assist with ad quality checking; the collection of creatives for which iurl should be representative. |
-
-
- crid |
- string |
- Creative ID to assist with ad quality checking. |
-
-
- tactic |
- string |
- Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. The specific usage and meaning of the tactic ID should be communicated between buyer and exchanges a priori. |
-
-
- cattax |
- integer; default 1 |
- The taxonomy in use. Refer to List: Category Taxonomies for values. |
-
-
- cat |
- string array |
- IAB Tech Lab content categories of the creative. The taxonomy to be used is defined by the cattax field. If no cattax field is supplied Content Taxonomy 1.0 is assumed |
-
-
- attr |
- integer array |
- Set of attributes describing the creative. Refer to List: Creative Attributes in AdCOM 1.0. |
-
-
- apis |
- integer array |
- List of supported APIs for the markup. If an API is not explicitly listed, it is assumed to be unsupported. Refer to List: API Frameworks in AdCOM 1.0. |
-
-
-api |
- integer; DEPRECATED |
- NOTE: Deprecated in favor of apis. |
-
-
- protocol |
- integer |
- Video response protocol of the markup if applicable. Refer to List: Creative Subtypes - Audio/Video in AdCOM 1.0. |
-
-
- qagmediarating |
- integer |
- Creative media rating per IQG guidelines. Refer to List: Media Ratings in AdCOM 1.0. |
-
-
- language |
- string |
- Language of the creative using ISO-639-1-alpha-2. The non- standard code “xx” may also be used if the creative has no linguistic content (e.g., a banner with just a company logo). Only one of language or langb should be present. |
-
-
- langb |
- string |
- Language of the creative using IETF BCP 47. Only one of language or langb should be present. |
-
-
- dealid |
- string |
- Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal. |
-
-
- w |
- integer |
- Width of the creative in device-independent pixels (DIPS). |
-
-
-h |
- integer |
- Height of the creative in device-independent pixels (DIPS). |
-
-
- wratio |
- integer |
- Relative width of the creative when expressing size as a ratio. Required for Flex Ads. |
-
-
- hratio |
- integer |
- Relative height of the creative when expressing size as a ratio. Required for Flex Ads. |
-
-
- exp |
- integer |
- Advisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression. |
-
-
- dur |
- integer |
- Duration of the video or audio creative in seconds. |
-
-
- mtype |
- integer |
- Type of the creative markup so that it can properly be associated with the right sub-object of the BidRequest.Imp.
-Values:
-1 = Banner
-2 = Video,
-3 = Audio
-4 = Native
|
-
-
- slotinpod |
- integer; default 0 |
- Indicates that the bid response is only eligible for a specific position within a video or audio ad pod (e.g. first position, last position, or any). Refer to List: Slot Position in Pod in AdCOM 1.0 for guidance on the use of this field. |
-
-
- ext |
- object |
- Placeholder for bidder-specific extensions to OpenRTB. |
-
-
-
-
+| Attribute | Type | Description |
+| --- | --- | --- |
+| `id` | string; required | Bidder generated bid ID to assist with logging/tracking. |
+| `impid` | string; required | ID of the `Imp` object in the related bid request. |
+| `price` | float; required | Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (e.g., BigDecimal in Java). |
+| `nurl` | string | Win notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup. Substitution macros (Section 4.4) may be included in both the URL and optionally returned markup. |
+| `burl` | string | Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (e.g., typically delivered, viewed, etc.). Substitution macros (Section 4.4) may be included. |
+| `lurl` | string | Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros (Section 4.4) may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string). |
+| `adm` | string | Optional means of conveying ad markup in case the bid wins; supersedes the win notice if markup is included in both. Substitution macros (Section 4.4) may be included. |
+| `adid` | string | ID of a preloaded ad to be served if the bid wins. |
+| `adomain` | string array | Advertiser domain for block list checking (e.g., “ford.com”). This can be an array of for the case of rotating creatives. Exchanges can mandate that only one domain is allowed. |
+| `bundle` | string | The store ID of the app in an app store (e.g., Apple App Store, Google Play). See [OTT/CTV Store Assigned App Identification Guidelines](https://iabtechlab.com/wp-content/uploads/2020/08/IAB-Tech-Lab-OTT-store-assigned-App-Identification-Guidelines-2020.pdf) for more details about expected strings for CTV app stores. 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. |
+| `iurl` | string | URL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking. |
+| `cid` | string | Campaign ID to assist with ad quality checking; the collection of creatives for which `iurl` should be representative. |
+| `crid` | string | Creative ID to assist with ad quality checking. |
+| `tactic` | string | Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. The specific usage and meaning of the tactic ID should be communicated between buyer and exchanges a priori. |
+| `cattax` | integer; default 1 | The taxonomy in use. Refer to [List: Category Taxonomies](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies) for values. |
+| `cat` | string array | IAB Tech Lab content categories of the creative. The taxonomy to be used is defined by the cattax field. If no cattax field is supplied Content Taxonomy 1.0 is assumed |
+| `attr` | integer array | Set of attributes describing the creative. Refer to [List: Creative Attributes](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-attributes-) in AdCOM 1.0. |
+| `apis` | integer array | List of supported APIs for the markup. If an API is not explicitly listed, it is assumed to be unsupported. Refer to [List: API Frameworks](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list_apiframeworks) in AdCOM 1.0. |
+| `api` | integer; DEPRECATED | NOTE: Deprecated in favor of `apis`. |
+| `protocol` | integer | Video response protocol of the markup if applicable. Refer to [List: Creative Subtypes - Audio/Video](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-subtypes---audiovideo-) in AdCOM 1.0. |
+| `qagmediarating` | integer | Creative media rating per IQG guidelines. Refer to [List: Media Ratings](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--media-ratings-) in AdCOM 1.0. |
+| `language` | string | Language of the creative using ISO-639-1-alpha-2. The non- standard code “xx” may also be used if the creative has no linguistic content (e.g., a banner with just a company logo). Only one of `language` or `langb` should be present. |
+| `langb` | string | Language of the creative using IETF BCP 47. Only one of `language` or `langb` should be present. |
+| `dealid` | string | Reference to the `deal.id` from the bid request if this bid pertains to a private marketplace direct deal. |
+| `w` | integer | Width of the creative in device-independent pixels (DIPS). |
+| `h` | integer | Height of the creative in device-independent pixels (DIPS). |
+| `wratio` | integer | Relative width of the creative when expressing size as a ratio. Required for Flex Ads. |
+| `hratio` | integer | Relative height of the creative when expressing size as a ratio. Required for Flex Ads. |
+| `exp` | integer | Advisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression. |
+| `dur` | integer | Duration of the video or audio creative in seconds. |
+| `mtype` | integer | Type of the creative markup so that it can properly be associated with the right sub-object of the `BidRequest.Imp.`
-
- | Macro |
- Description |
-
-
- ${AUCTION_ID} |
- ID of the bid request; from BidRequest.id attribute. |
-
-
- ${AUCTION_BID_ID} |
- ID of the bid; from BidResponse.bidid attribute. |
-
-
- ${AUCTION_IMP_ID} |
- ID of the impression just won; from imp.id attribute. |
-
-
- ${AUCTION_SEAT_ID} |
- ID of the bidder seat for whom the bid was made. |
-
-
- ${AUCTION_AD_ID} |
- ID of the ad markup the bidder wishes to serve; from bid.adid attribute. |
-
-
- ${AUCTION_PRICE} |
- Clearing price using the same currency and units as the bid. |
-
-
- ${AUCTION_CURRENCY} |
- The currency used in the bid (explicit or implied); for confirmation only. |
-
-
- ${AUCTION_MBR} |
- Market Bid Ratio defined as: clearance price / bid price. |
-
-
- ${AUCTION_LOSS} |
- Loss reason codes. Refer to List: Loss Reason Codes in OpenRTB 3.0. |
-
-
- ${AUCTION_MIN_TO_WIN} |
- Minimum bid to win the exchange's auction, using the same currency and units as the bid. |
-
-
-
-
- ${AUCTION_MULTIPLIER} |
- The total quantity of impressions won; for confirmation only. This should always be less than or equal to the multiplier value sent in the bid request. This value is a float value greater than zero and may be less than one. Should be used to confirm that the buyer expects and understands the multiplier value. |
-
-
-
-
- ${AUCTION_IMP_TS} |
- Timestamp when the impression was fulfilled (e.g. when the ad is displayed) in Unix format (i.e., milliseconds since the epoch).
-This may be used by platforms that cannot fire a notification as soon as the impression takes place. If omitted, it is assumed the impression took place a few seconds before the notification is fired. |
-
-
+| Macro | Description |
+| --- | --- |
+| `${AUCTION_ID}` | ID of the bid request; from `BidRequest.id` attribute. |
+| `${AUCTION_BID_ID}` | ID of the bid; from `BidResponse.bidid` attribute. |
+| `${AUCTION_IMP_ID}` | ID of the impression just won; from `imp.id` attribute. |
+| `${AUCTION_SEAT_ID}` | ID of the bidder seat for whom the bid was made. |
+| `${AUCTION_AD_ID}` | ID of the ad markup the bidder wishes to serve; from `bid.adid` attribute. |
+| `${AUCTION_PRICE}` | Clearing price using the same currency and units as the bid. |
+| `${AUCTION_CURRENCY}` | The currency used in the bid (explicit or implied); for confirmation only. |
+| `${AUCTION_MBR}` | Market Bid Ratio defined as: clearance price / bid price. |
+| `${AUCTION_LOSS}` | Loss reason codes. Refer to [List: Loss Reason Codes](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/OpenRTB%20v3.0%20FINAL.md#list--loss-reason-codes-) in OpenRTB 3.0. |
+| `${AUCTION_MIN_TO_WIN}` | Minimum bid to win the exchange's auction, using the same currency and units as the bid. |
+| `${AUCTION_MULTIPLIER}` | The total quantity of impressions won; for confirmation only. This should always be less than or equal to the multiplier value sent in the bid request. This value is a float value greater than zero and may be less than one. Should be used to confirm that the buyer expects and understands the multiplier value. |
+| `${AUCTION_IMP_TS}` | Timestamp when the impression was fulfilled (e.g. when the ad is displayed) in Unix format (i.e., milliseconds since the epoch).
+This may be used by platforms that cannot fire a notification as soon as the impression takes place. If omitted, it is assumed the impression took place a few seconds before the notification is fired. |
+
Note that OpenRTB compliance exchanges must support all macros for which data is available and support substitution in both markup and URLs for win and billing notification.
@@ -3582,68 +1466,24 @@ In the following examples, assume an auction with a floor price of $0.85, and th
For a first-price auction: