OpenRTB 2.x Bid Request Objects

Last Updated On: September 16th, 2026

Overview

The body of TripleLift request/responses follows the standard IAB's OpenRTB 2.x specification. For more information on the OpenRTB 2.x syntax, please refer to the following specification:

OpenRTB 2.x Specification

Any elements of the syntax that may be unique to TripleLift however will be documented below.

BidRequest Object

The following object is the top-level or root object of the bid request that s2s supply partners are expected to send to the Triplelift Exchange. This table summarizes all of the objects within the BidRequest object and also highlights the objects that Triplelift requires:

Object Name Triplelift Required Type Description
id yes string The unique ID of the respective auction.
imp yes array An array of impression objects. At least 1 impression object is required.
site no (recommended) object Provides details about the publisher's web page. Only applicable for websites.
app no (recommended) object Provides details about the publisher's app. Only applicable for non-browser applications.
device no (recommended) object Provides details about the user's device to which the impression will be delivered.
user no (recommended) object Provides details about the human user of the device.
test no integer Defaults to 0. Used when testing (test = 1).
at no integer Auction type. First price auction, second price auction, etc.
tmax no integer Maximum time in milliseconds that the exchange allows for bids to be received to avoid timing out.
wseat no array of strings An allowlist of buyer seats that are permitted to bid on the respective impression.
bseat no array of strings A blocklist of buyer seats that are NOT permitted to bid on the respective impression.
allimps no integer A flag that indicates whether or not the impressions present in the request are representative of all available impressions in the given context. Defaults to 0.
cur no array of strings An array of allowed currencies for bids on this respective request; following ISO-4217 alpha codes.
wlang no array of strings An allowlist of languages for creatives; following ISO-639-1-alpha-2. Omission implies NO restrictions.
bcat no array of strings A list of blocked advertiser categories; following the IAB's content category definitions.
badv no array of strings A list of blocked advertisers by their domain.
bapp no array of strings A list of blocked applications by their platform-specific exchange-independent application identifiers.
source no object Provides data about the inventory source and which entity makes the final decision.
regs no object Specifies any industry, legal, or governmental regulations on the respective inventory.
ext no object Any exchange-specific extensions to OpenRTB.

Impression Object

The following object is the impression (imp) object of the bid request that s2s supply partners are expected to send within the BidRequest object to Triplelift Exchange. The impression object describes the ad placement that is being auctioned. There can be one or more impression objects in a single bid request, but there must be at least 1.

Note: The existence of at least one Banner, Video, or Native object is required to describe the type of inventory being auctioned.

This table summarizes all of the objects within the Impression object and also highlights the objects that Triplelift requires:

Attribute Triplelift Required Type Description
id yes string The unique ID of the impression object. If there are multiple imp objects, each will have its' own, unique ID.
metric no array of objects Offers insights into the respective impression (viewability metrics, click-through rates, etc.)
banner yes* object *Required if the impression is offered as a Banner opportunity
video yes* object *Required if the impression if offered as a Video opportunity
audio yes* object *Required if the impression if offered as a Audio opportunity
native yes* object *Required if the impression as a Native opportunity
pmp no object Contains any relevant private marketplace deals in effect for this impression
displaymanager no string Name of ad mediation partner, SDK, or player that is responsible for rendering the ad
displaymanagerver no string Version of ad mediation partner technology, SDK, or player
instl no integer Defaults to 0. 1 indicates interstitial; 0 indicates not interstitial
tagid yes string Identifier for the ad placement that initiated being requested. Associated with placement name/ID.
bidfloor no float Minimum bid CPM for the respective impression
bidfloorcur no string Defaults to 'USD'. Currency of the bid floor following ISO-4217 alpha codes
secure no integer A flag that specifies whether the given impression requires HTTPS url creative assets and ad markup. 1 indicates secure; 0 indicates non-secure (HTTP)
iframebuster no array of strings A list of exchange-specific names of supported iframe busters
exp no integer Advisory to the number of seconds that elapse between the auction and actual impression
ext no object Placeholder for exchange-specific extensions to OpenRTB
refresh no object Refresh object

Regs Object

The regs object contains all legal, governmental or industry regulations that applies to the request. The coppa flag signals whether or not the request falls under the United States Federal Trade Commission's regulations for the United States Children's Online Privacy Protection Act.

For additional information on communicating with TripleLift on regulations affecting the bid request, please see the appropriate section:

Attribute Triplelift Required Type Description
coppa no integer Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes.
gdpr no integer Flag that indicates whether or not the request is subject to GDPR regulations 0 = No, 1 = Yes, omission indicates unknown.
us_privacy no string Communicates signals regarding consumer privacy under US privacy regulation. See the IAB's US Privacy String specifications.
gpp no string Contains the Global Privacy Platform’s consent string. See the IAB's Global Privacy Platform specification for more details.
gpp_sid no integer array Array of the section(s) of the string which should be applied for this transaction.
ext no object Placeholder for exchange-specific extensions to OpenRTB. GPP, GDPR, and CCPA privacy signals may also be placed in this object.

Site Object

This object should be included if the ad supported content is a website as opposed to a non-browser\ application. A bid request must not contain both a Site and an App object. At a minimum, it is useful\ to provide a site ID or page URL, but this is not strictly required.

Attribute Triplelift required Type Description
id recommended string 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”)
cat   string array Array of IAB content categories of the site.
sectioncat   string array Array of IAB content categories that describe the current\ section of the site.
pagecat   string array Array of IAB content categories that describe the current page or view of the site.
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 of the site.
content   object Details about the Content within the site.
keywords   string Comma separated list of keywords about the site.
ext   object Placeholder for exchange-specific extensions to OpenRTB.

The presence of the Banner object has a direct child of the Impression Object indicates that this particular impression is offered as a banner type impression. The publisher can also offer the same impression as a video, audio, or native type impression but at least one impression type must be specified.

Attribute Triplelift Required Type Description
format yes array of objects An array of format objects representing the banner sizes permitted for the ad slot.
w no integer Exact width in device independent pixels; recommended if format isn't specified
h no integer Exact height in device independent pixels; recommended if format isn't specified
wmax no integer Maximum width in device independent pixels; deprecated in favor of format array
hmax no integer Maximum height in device independent pixels; deprecated in favor of format array
wmin no integer Minimum width in device independent pixels; deprecated in favor of format array
hmin no integer Minimum height in device independent pixels; deprecated in favor of format array
btype no array of integers Blocked banner ad types
battr no array of integers Blocked creative attributes
pos no integer Ad position on the screen.
mimes no array of strings Content MIME types supported.
topframe no integer Indicates if the banner is in the top frame as opposed to an iframe; 0 = no, 1 = yes
expdir no array of integers Directions in which the banner may expand.
api no array of integers List of supported API frameworks for this impression.
id no string Unique identifier for this banner object. Highly recommended when sent along with a Video object to represent an array of companion ads.
ext no object Placeholder for exchange-specific extensions of OpenRTB.

Video Object

This object represents an instream video impression. The presence of a Video object as a direct child of the Impression object indicates that the impression is offered as a video type impression. The publisher can also offer the same impression as a banner, native, or audio type impression but at least one impression type must be specified.

Attribute Triplelift Required Type Description
mimes yes array of strings Content MIME tyes supported.
minduration recommended integer Minimum video ad duration in seconds.
maxduration recommended integer Maximum video ad duration in seconds.
protocols recommended array of integers Array of supported video protocols. At least one supported protocol must be specified.
w recommended integer Width of video player in device independent pixels.
h recommended integer Height of video player in device independent pixels.
startdelay recommended integer Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements.
placement recommended integer Video placement type for the impression. Refer to List: Placement Subtypes - Video in AdCOM 1.0.
plcmt recommended integer Video placement type for the impression. Refer to List: Plcmt Subtypes - Video in AdCOM 1.0.
linearity no integer Indicates if the impression must be linear, nonlinear, etc. Supplying non indicates all are supported.
skip no integer Indicates if the player will allow the video to be skipped. 0 = no, 1 = yes.
skipmin no integer Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. Defaults to 0.
skipafter no integer Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.
sequence no integer If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives.
battr no array of integers Blocked creative attributes.
maxextended no integer Maximum extended ad duration if the extension is allowed.
minbitrate no integer Minimum bit rate in Kbps.
maxbitrate no integer Maximum bit rate in Kbps.
boxingallowed no integer Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed. 0 = no, 1 = yes. Defaults to 1.
playbackmethod no array of integers Playback methods that may be in use.
playbackend no integer The event that causes a playback to end.
delivery no array of integers Supported ad delivery methods. If none are specified, then all are assumed to be supported.
pos no integer Ad position on screen.
companionad no array of objects Array of Banner objects if companion ads are available.
api no array of integers List of supported API frameworks for this impression.
companiontype no array of integers Supported VAST companion ad types. Recommended if companion Banner objects are included in the companionad array.
ext no object Placeholder for exchange-specific extensions to OpenRTB.
poddur no string Total amount of time in seconds that advertisers may fill for a “dynamic” video ad pod, or the dynamic portion of a “hybrid” ad pod.
podid no 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 no string 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.
slotinpod no integer 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.
maxseq no integer 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

Native Object

Native ad units are intended to blend seamlessly into the surrounding content of a publisher's page. The presence of a Native object as a direct child of the Impression object indicates that this impression is offered as a native type impression. The publisher can also offer the same impression as a banner, video, or audio type impression but at least one impression type must be specified.

Attribute Triplelift Required Type Description
request yes string The request payload complying with the Native Ad Specification. See docs on the Native Request Object.
ver recommended string The version of the Dynamic Native Ads API to which the request complies.
api no array of integers List of supported API frameworks for this impression.
battr no array of integers Blocked creative attributes.
ext no object Placeholder for exchange-specific extensions to OpenRTB.

Audio Object

This object represents an audio type impression. The presence of an Audio object as a direct child of the Impression object indicates that the impression is offered as a audio type impression. The publisher can also offer the same impression as a banner, video, or native type impression but at least one impression type must be specified.

Attribute Triplelift Required Type Description
mimes yes array of strings Content MIME types supported.
minduration recommended integer Minimum audio ad duration in seconds.
maxduration recommended integer Maximum audio ad duration in seconds.
protocols recommended array of integers Array of supported audio protocols.
startdelay recommended integer Indicates the start delay in seconds for ad placements.
sequence no integer If multiple ad impressions are offered in the same bid request, the sequence number will for the coordinated delivery of multiple creatives.
battr no array of integers Blocked creative attributes.
maxextended no integer Maximum extended ad duration if extension in allowed.
minbitrate no integer Minimum bit rate in Kbps.
maxbitrate no integer Maximum bit rate in Kbps.
delivery no array of integers Supported delivery methods. If non specified, all are assumed to be supported.
companionad no array of objects Array of Banner objects if companion ads are available.
api no array of integers List of supported API frameworks for this impression.
companiontype no array of integers Supported DAAST companion ad types.
maxseq no integer The maximum number of ads that can be played in an ad pod.
feed no integer Type of audio feed.
stitched no integer Indicates if the ad is stitched with audio content or delivered independently.
nvol no integer Volume normalization mode.
ext no object Placeholder for exchange-specific extensions to OpenRTB.

App Object

This object should be included in the bid request if the ad supported content is a non-browser application. A bid request must not contain both an App and Site object. At a minimum, it is useful to provide an App ID or bundle, but it is not strictly required.

Attribute Triplelift Required Type Description
id recommended string Exchange-specific app ID.
name   string App name.
bundle yes string A platform-specific application identifier intended to be unique to the app and independent of the exchange. In Android this will be a bundle or package name. In IOS this will be a numeric ID.
domain   string Domain of the app.
storeurl   string App store URL for an installed app.
cat   array of strings Array of IAB content categories of the app.
sectioncat   array of strings Array of IAB content categories that describe the current section of the app.
pagecat   array of strings Array of IAB content categories that describe the current page or view of the app.
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 = app is paid subscription.
publisher   object Details about the Publisher of the app.
content   object Details about the Content within the app.
keywords   string Comma separated list of keywords about the app.
ext   object Placeholder for exchange-specific extensions to OpenRTB.
cattax optional integer Category taxonomy

Publisher Object

This object describes the publisher of the media in which the ad will be displayed. The publisher is\ typically the seller in an OpenRTB transaction.

Attribute Triplelift Required Type Description
id   string Exchange-specific publisher ID.
name   string Publisher name (may be aliased at the publisher’s request).
cat   string array Array of IAB content categories that describe the publisher.
domain   string Highest level domain of the publisher (e.g., “publisher.com”).
ext   object Placeholder for exchange-specific extensions to OpenRTB.

Content Object

This object describes the content in which the impression will appear, which may be syndicated or nonsyndicated content. This object may be useful when syndicated content contains impressions and does\ not necessarily match the publisher’s general content. The exchange might or might not have\ knowledge of the page where the content is running, as a result of the syndication method. For\ example might be a video impression embedded in an iframe on an unknown web property or device.

Attribute Triplelift Required Type Description
id   string 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).
album   string Album to which the content belongs; typically for audio.
isrc   string International Standard Recording Code conforming to ISO3901.
producer   object (see below) Details about the content Producer.
url   string URL of the content, for buy-side contextualization or review.
cat   string array Array of IAB content categories that describe the content\ producer.
prodq   string array Production quality.
videoquality   integer Per ORTB Spec 2.5: Deprecated in favor of prodq.
context   integer Type of content (game, video, text, etc.).
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.
keywords   string Comma separated list of keywords describing the content.
livestream   integer 0 = not live, 1 = content is live (e.g., stream, live blog).
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.
embeddable   integer Indicator of whether or not the content is embeddable (e.g.,\ an embeddable video player), where 0 = no, 1 = yes.
data   object array (see below) Additional content data. Each Data object represents a different data source.
ext   object Placeholder for exchange-specific extensions to OpenRTB.
cattax optional integer Indicates the taxonomy in use for cat field (e.g., IAB 1.0 = 1, IAB 2.2 = 2)

Producer Object

This object defines the producer of the content in which the ad will be shown. This is particularly useful\ when the content is syndicated and may be distributed through different publishers and thus when the\ producer and publisher are not necessarily the same entity.

Attribute Triplelift Required Type Description
id   string Content producer or originator ID. Useful if content is\ syndicated and may be posted on a site using embed tags.
name   string Content producer or originator name (e.g., “Warner Bros”).
cat   string array Array of IAB content categories that describe the content\ producer.
domain   string Highest level domain of the content producer (e.g.,\ “producer.com”).
ext   object Placeholder for exchange-specific extensions to OpenRTB.

Data Object

The data and segment objects together allow additional data about the related object (e.g., user,\ content) to be specified. This data may be from multiple sources whether from the exchange itself or\ third parties as specified by the id field. A bid request can mix data objects from multiple providers.\ The specific data providers in use should be published by the exchange a priori to its bidders

Attribute Triplelift Required Type Description
id   string Exchange-specific ID for the data provider.
name   string Exchange-specific name for the data provider.
segment   object array (see below) Array of Segment objects that contain the\ actual data values
ext   object Placeholder for exchange-specific extensions to OpenRTB.

Segment Object

Segment objects are essentially key-value pairs that convey specific units of data. The parent Data\ object is a collection of such values from a given data provider. The specific segment names and value\ options must be published by the exchange a priori to its bidders.

Attribute Triplelift Required Type Description
id   string ID of the data segment specific to the data provider
name   string Name of the data segment specific to the data provider
value   string String representation of the data segment value.
ext   object Placeholder for exchange-specific extensions to OpenRTB.

User Object

This object contains information known or derived about the human user of the device.

Publishers (except for special circumstances) are responsible for hosting the supply-side user match table. TripleLift expects to receive our TripleLift user ID (TLUID) from supply partners in the buyeruid field.

TripleLift (except for special circumstances) is responsible for hosting the buyer user match table on behalf of demand partners. We send the demand partner's user ID to them in the buyeruid field. The user ID (as with other fields) is not always passed to buyers, due to privacy requirements. Our partners can find our more about the relevant technical frameworks for privacy in our GDPR & ePrivacy and CCPA sections.

Attribute Triplelift Required Type Description
id recommended string Exchange-specific ID for the user. At least one of id or buyeruid is recommended.
buyeruid recommended string Buyer-specific ID for the user as mapped by the exchange for the buyer.
yob no integer Year of birth as a 4 digit integer.
gender no string Gender, where "M" = male; "F" = female; "O" = other.
keywords no string Comma separated list of keywords, interests, etc.
customdata no string Optional feature to pass bidder data that was set in the exchange's cookie. String must be in base85 cookie safe characters and be in any format.
geo no object Location of user's home base defined by the [Geo Object].
data no array of objects Additional user data.
ext no object Placeholder for exchange-specific extensions to OpenRTB.

Device Object

This object providers information pertaining to the device through which the user is interacting. Device information includes its' hardware, platform, location, and carrier data.

Attribute Triplelift Required Type Description
ua no; recommended string Browser user agent
geo no; recommended object Location of the device assumed to be the user's current location defined by a Geo object
dnt no; recommended integer Standard "do not track" flag as set in the header by the browser. 0 = tracking is unrestricted, 1 = do no track
lmt no; recommended integer "Limit Ad Tracking" signal commercially endorsed. 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines
ip no; recommended string IPv4 address closest to device
ipv6 no string IP address closest to device as IPv6
devicetype no integer The general type of device
make no string Device make ("Apple")
model no string Device model ("iPhone")
os no string Device operating system ("iOS")
osv no string Device operating system version
hwv no string Hardware version of the device ("5S" for iPhone 5S)
h no integer Physical height of the screen in pixels
w no integer Physical width of the screen in pixels
ppi no integer Screen size as pixels per linear inch
pxratio no float The ratio of physical pixels to device independent pixels
js no integer Support for JavaScript. 0 = no, 1 = yes
geofetch no integer Indicates if the geolocation API will be available to JavaScript code running in the banner. 0 = no, 1 = yes
flashver no string Version of Flash supported by the brwoser
language no string Browser language using ISO-639-1-alpha-2
carrier no string Carrier or ISP using exchange ("Verizon")
mccmc no string Mobile carrier as the concatenated MCC-MNC code
connectiontype no integer Network connection type
ifa no string ID sanctioned for advertiser use in the clear
didsha1 no string Hardware device ID; hashed via SHA1
didmd5 no string Hardware device ID; hashed via MD5
dpidsha1 no string Platform device ID; hashed via SHA1
dpidmd5 no string Platform device ID; hashed via MD5
macsha1 no string MAC address of the device; hashed via SHA1
macmd5 no string MAC address of the device; hashed via MD5
ext no object Placeholder for exchange-specific extensions to OpenRTB

Geo Object

This object encapsulates methods for specifying a geographic location. When subordinate to the Device Object, it indicates the location of the device which can also be interpreted as the user's current location. When subordinate to the User Object, it indicates the user's home base, not necessarily their current location.

Attribute Triplelift Required Type Description
lat no float Latitude from -90 to 90, where a negative value is south
long no float Longitude from -180 to 180, where a negative value is west
type no integer Source of location data; recommended when passing lat and long
country no string Country code using ISO-3166-1-alpha-3
region no string Region code using ISO-3166-2
metro no string Google metro code
city no string City using United Nations Code for Trade and Transport Locations
zip no string Zip or postal code
utcoffset no integer Local time as the number +/- of minutes from UTC
ext no object Placeholder for exchange-specific extensions to OpenRTB

Deal Object

This object constitutes a specific deal that was struck between a buyer and a seller. Its presence with the Pmp collection indicates that this impression is available under the terms of that deal.

Attribute Triplelift Required Type Description
id yes string A unique identifier for the direct deal
bidfloor no float Minimum bid for this impression expressed in CPM
bidfloorcur no string Currency specified using ISO-4217 alpha codes
at no integer Optional override of the overall auction type of the bid request. 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price
wseat no array of strings Allowlist of buyer seats allowed to bid on this deal
wadomain no array of strings Array of advertiser domains allowed to bid on this deal
ext no object Placeholder for the exchange-specific extensions to OpenRTB

PMP Object

This object is the private marketplace container for direct deals between buyers and sellers that may pertain to this impression. The actual deals are represented as a collection of Deal objects.

Attribute Triplelift Required Type Description
private_auction no integer Indicator of auction eligibility to seats named in the Direct Deals object, where 0 = all bids are accepted, 1 = bids are restricted to deals specified
deals no array of objects Array of Deal objects that convey the specific deals applicable to this impression
ext no object Placeholder for exchange-specific extensions to OpenRTB

Format Object

This object represents the allowed size for a banner impression. These are typically used in an array where multiple sizes are permitted.

Attribute Triplelift Required Type Description
w no integer Width in device independent pixels (DIPS)
h no integer Height in device independent pixels
wratio no integer Relative width when expressing size as a ratio
hratio no integer Relative height when expressing size as a ratio
wmin no integer The minimum width in device independent pixels at which the ad will be displayed the size is expressed as a ratio
ext no object Placeholder for exchange-specific extensions to OpenRTB

Metric Object

This object is associated with an impression as an array of metrics. These metrics can offer insight into the impression to assist with decisioning such as average recent viewability, click-through rate, etc.

Attribute Triplelift Required Attribute Description
type yes string Type of metric being represented using exchange curated string name which should be published to bidders
value yes float Number representing the value of the metric
vendor no; recommended string Source of the value using exchange curated string names which should be published to bidders
ext no object Placeholder for exchange-specific extensions to OpenRTB

Source Object

This object describes the nature and behavior of the entity that is the source of the bid request upstream from the exchange. The primary purpose of this object is to define post-auction or upstream decisioning when the exchange itself does not control the final decision.

Attribute Triplelift Required Type Description
fd no; recommended integer Entity responsible for the final impression sale decision, where 0 = exchange, 1 = upstream source
tid no; recommended string Transaction ID that much be common across all participants in this bid request
pchain no; recommended string Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0
ext no object Placeholder for exchange-specific extensions to OpenRTB