Table of Contents
Overview
OpenRTB is the standardized language of communication between SSPs and DSPs. It is used as the format of requests and responses when conducting bids in real-time using a near-instantaneous online auction. OpenRTB also allows for targeting based on precise demographics, whereas traditional buying and selling is often more broadly targeted.
Freewheel's Programmatic module communicates with DSPs using the OpenRTB protocol as defined by the IAB, either version 2.2, 2.5, or 2.6 (depending on specific DSP configurations).
This documents explains what values Freewheel passes for the different fields in the OpenRTB specification for bid requests (as well as values FreeWheel consumes in the OpenRTB bid responses), whether the value can be set by clients, and the logic for setting the values. In case of questions, please reach out to your MRM account team.
Any fields not listed in the tables below are not supported by FreeWheel
Bid Request Object
Field | Description | Frequency of Field | Versions Supported |
|---|---|---|---|
id | Unique ID of the bid request, provided by FreeWheel | Always | 2.2/2.5/2.6 |
imp | Array of imp object (see Impression Object) representing the impressions offered. | Always | 2.2/2.5/2.6 |
app | Details about the publisher’s app (i.e., non-browser applications). Only one of site or app object will be presented. See App Object. | Occasionally | 2.2/2.5/2.6 |
site | Details about the publisher’s website. Only one of site or app object will be presented. | Occasionally | 2.2/2.5/2.6 |
device | Details about the user’s device to which the impression will be delivered. | Always | 2.2/2.5/2.6 |
user | Details about the human user of the device; the advertising audience. | Always | 2.2/2.5/2.6 |
at | Auction type:
| Always | 2.2/2.5/2.6 |
test | Indicator of test mode in which auctions are not billable. FreeWheel always set this to 0 where 0 = live mode. | Always | 2.2/2.5/2.6 |
tmax | Maximum time in milliseconds FreeWheel provided as a guideline for demand partners' bids to be received, including Internet latency to avoid timeout. FreeWheel's default value is 200. Freewheel allows optimizations that allow our publishers to extend the tmax time for their endpoints for non-Programmatic Guaranteed (PMP) bid request. Programmatic Guaranteed bid request's tmax will always be 200 as FreeWheel doesn't expect auctioning to happen on demand partner. | Always | 2.2/2.5/2.6 |
wseat | DSP seats (e.g., advertisers, agencies) allowed to bid on this impression for a private auction. This field is required in the bid response. Instances where FreeWheel will accept no wseat are to be considered edge cases. | Occasionally | 2.2/2.5/2.6 |
cur | Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes. | Always | 2.2/2.5/2.6 |
regs | A regs object that specifies any industry, legal, or governmental regulations in force for this request. | Always | 2.2/2.5/2.6 |
Impression Object
Field | Description | Frequency of Fields | Versions Supported | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | A unique identifier for this impression within the context of the bid request. | Always | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
video | A video object; required if this impression is offered as a video ad opportunity. | Always | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
displaymanager | Always sends "FreeWheel." | Always | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
displaymanagerver | Always sends "1.0." | Always | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
tagid | Identifier for specific ad placement or ad tag that was used to initiate the auction. FreeWheel currently supports tagid solution majorly for third party SSP demand partners as a way of inventory package and mapping. Requires publisher enablement | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
bidfloor | Minimum bid for this impression expressed in CPM. This is floor price for private auction (non-deal ID transaction). | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
bidfloorcur | Currency specified using ISO-4217 alpha codes. | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
secure | Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. | Always | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
pmp | A pmp object containing any private marketplace deals in effect for this impression. | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||||||||||||||||
ext.serverside | Denote server-side calls (default is 2) 2 = VAST fetch server-side all other events fired client-side.
| Always | 2.2/2.5/2.6 |
Video Object
Field | Description | Frequency of Fields | Versions Supported | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mimes | Content MIME types supported. | Always | 2.2/2.5/2.6 | ||||||||||||||||
minduration | Minimum video ad duration in seconds. Hardcoded to "1". | Always | 2.2/2.5/2.6 | ||||||||||||||||
maxduration | Maximum video ad duration in seconds. | Always | 2.2/2.5/2.6 | ||||||||||||||||
protocols | Array of supported video protocols. Always be "2, 3, 5, 6, 7, 8" unless specific demand partner or publisher doesn't support some of the VAST versions.
| Always | 2.2/2.5/2.6 | ||||||||||||||||
w | Width of the video player in device independent pixels (DIPS). | Always | 2.2/2.5/2.6 | ||||||||||||||||
h | Height of the video player in device independent pixels (DIPS). | Always | 2.2/2.5/2.6 | ||||||||||||||||
podid | 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. FreeWheel currently support dynamic ad pod for OpenRTB 2.6. FreeWheel supports sending out a Dynamic Ad Pod bid request per ad break. | Occasionally | 2.6 | ||||||||||||||||
maxseq | 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). | Occasionally | 2.6 | ||||||||||||||||
poddur | Indicates the total amount of time in seconds that advertisers may fill for a “dynamic” video ad pod. | Occasionally | 2.6 | ||||||||||||||||
placement | Placement type for the impression.
| Always | 2.2/2.5/2.6 | ||||||||||||||||
plcmt | Placement type for the impression. IAB guideline https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list_plcmtsubtypesvideo
| Always |
| ||||||||||||||||
startdelay | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements.
| Always | 2.2/2.5/2.6 | ||||||||||||||||
linearity | Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Always hardcoded as "1" (Linear / In-Stream) | Always | 2.2/2.5/2.6 | ||||||||||||||||
battr | Blocked creative attributes. Always hardcoded to: 1,2,3,4,5,6,7,8,9,10,11,13,14 | Always | 2.2/2.5/2.6 | ||||||||||||||||
minbitrate | Minimum bit rate in Kbps. | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||
maxbitrate | Maximum bit rate in Kbps. | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||
playbackmethod | Playback methods that may be in use. If none are specified, any method may be used. 1 = Initiates on page load with sound on 2 = Initiates on page load with sound off by default 3 = Initiates on click with sound on 4 = Initiates on mouse-over with sound on 5 = Initiates on entering viewport with sound on 6 = Initiates on entering viewport with sound off by default | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||
playbackend | The event that causes playback to end. 1 = On video completion or when terminated by User 2 = On Leaving viewport or when terminated by User 3 = On Leaving viewport continues as a floating/slider unit until video completion or when terminated by User | Occasionally | 2.2/2.5/2.6 | ||||||||||||||||
api
| List of supported API frameworks for this impression.
| Occasionally | 2.2/2.5/2.6 |
Site Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | ID generated by FreeWheel. | Occasionally | 2.2/2.5/2.6 |
domain | Domain of the site. | Occasionally | 2.2/2.5/2.6 |
cat | Array of IAB content categories of the site. List of categories and values can be found in section 6.1 in the OpenRTB spec: https://www.iab.com/wp-content/uploads/2015/06/OpenRTBAPISpecificationVersion2_2.pdf | Occasionally | 2.2/2.5/2.6 |
page | URL of the page where the impression will be shown. | Occasionally | 2.2/2.5/2.6 |
publisher | See Publisher Object. | Always | 2.2/2.5/2.6 |
content | Occasionally | 2.2/2.5/2.6 | |
ext.inventorypartnerdomain | When a site contains ad inventory that is owned by another partner - the site should list all domains for those partners via this directive. Pointer to the domain of the partner (of the site owner) with ownership of some portion of ad inventory on the site. The partner’s ads.txt file will be hosted here. | Occasionally | 2.2/2.5/2.6 |
App Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | ID generated by FreeWheel. | Occasionally | 2.2/2.5/2.6 |
Name | App name | Occasionally | 2.2/2.5/2.6 |
ver | Application version | Occasionally | 2.2/2.5/2.6 |
bundle | A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is typically a numeric ID. | Occasionally | 2.2/2.5/2.6 |
publisher | See Publisher Object | Always | 2.2/2.5/2.6 |
content |
| 2.2/2.5/2.6 | |
storeurl | App store URL for an installed app | Occasionally | 2.2/2.5/2.6 |
ext.inventorypartnerdomain | When an app contains ad inventory that is owned by another partner - the app should list all domains for those partners via this directive. Pointer to the domain of the partner (of the app owner) with ownership of some portion of ad inventory on the app. The partner’s app-ads.txt file will be hosted here. | Occasionally | 2.2/2.5/2.6 |
Content Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | ID uniquely identifying the content. | Occasionally | 2.2/2.5/2.6 |
title | Content title. Video Examples: “Search Committee” (television), “A New Hope” (movie), or “Endgame” (made for web). | Occasionally | 2.2/2.5/2.6 |
series | Content series. Video examples: “The Office” (television), “Star Wars” (movie), or “Arby ‘N’ The Chief” (made for web).
| Occasionally | 2.2/2.5/2.6 |
genre | Genre that best describes the content (e.g., rock, pop, etc). | Occasionally | 2.5/2.6 |
cat | Array of IAB content categories that describe the content producer. List of categories and values can be found in section 6.1 in the OpenRTB spec: https://www.iab.com/wp-content/uploads/2015/06/OpenRTBAPISpecificationVersion2_2.pdf | Occasionally | 2.2/2.5/2.6 |
prodq | Production quality. | Always | 2.5/2.6 |
keywords | Comma separated list of keywords describing the content. | Occasionally | 2.2/2.5/2.6 |
contentrating | Content rating (e.g., MPAA) | Occasionally | 2.2/2.5/2.6 |
userrating | User rating of the content (e.g., number of stars, likes, etc.) | Occasionally | 2.2/2.5/2.6 |
livestream | 0 = not live, 1 = content is live (e.g., stream, live blog). | Occasionally | 2.2/2.5/2.6 |
producer | See Producer Object | Occasionally | 2.2/2.5/2.6 |
len | Length of content in seconds | Occasionally | 2.2/2.5/2.6 |
qamediarating | Media rating per IQG guidelines | Occasionally | 2.2/2.5/2.6 |
language | Content language using ISO-639-1-alpha-2. | Occasionally | 2.2/2.5/2.6 |
network | Details about the network the content is on. Introduced on OpenRTB 2.6 version. See Network Object. | Occasionally | 2.6 |
channel | Details about the channel the content is on. Introduced on OpenRTB 2.6 version. See Channel Object. | Occasionally | 2.6 |
ext.channel | Details about the network the content is on. | Occasionally | 2.5 |
ext.network | Details about the channel the content is on. | Occasionally | 2.5 |
Device Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
ua | Browser user agent string. | Occasionally | 2.2/2.5/2.6 |
sua | Structured user agent information defined by a UserAgent object (see UserAgent object). If both ‘ua’ and ‘sua’ are present in the bid request, ‘sua’ should be considered the more accurate representation of the device attributes. This is because the ‘ua’ may contain a frozen or reduced user agent string. | Occasionally | 2.6 |
ip | IPv4 address closest to device. | Occasionally | 2.2/2.5/2.6 |
geo |
| 2.2/2.5/2.6 | |
lmt | “Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. | Occasionally | 2.5/2.6 |
ipv6 | IP address closest to device as IPv6 | Occasionally | 2.2/2.5/2.6 |
language | Browser language using ISO-639-1-alpha-2. | Occasionally | 2.2/2.5/2.6 |
make | Device make (e.g., “Apple”). | Occasionally | 2.2/2.5/2.6 |
model | Device model (e.g., “iPhone”). | Occasionally | 2.2/2.5/2.6 |
os | Device operating system (e.g., “iOS”). | Always | 2.2/2.5/2.6 |
devicetype | The general type of device. Supported device type list: 2 = Personal computer 3 = Connected TV 4 = Phone 5 = Tablet 7 = Set top box | Always | 2.2/2.5/2.6 |
ifa | ID sanctioned for advertiser use in the clear (i.e., not hashed). | Always | 2.2/2.5/2.6 |
ext.ifa_type | In addition to an IFA, ad and measurement platforms need to identify the source of the IFA, whether that is device-generated (and therefore used across apps) or whether it is a publisher provided IFA, or a temporary/session IFA. Without this context, the usefulness of the IFA is limited. The types of IFA are Device, Publisher (including apps), SSP and Session. The following are supported values for the ifa_type parameter:
| Always | 2.5/2.6 |
ext.truncated_ip | Indicates whether the IP address in the device.ip field is truncated. 1 = truncated 0 = not truncated. | Occasionally | 2.5/2.6 |
ext.lmt | “Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. | Occasionally | 2.2 |
ext.atts | (iOS Only) An integer passed to represent the app's app tracking authorization status, where | Occasionally | 2.2/2.5/2.6 |
ext.ifv | IDFV of the device in that publisher. It is an alphanumeric string that uniquely identifies a device to the app’s vendor. The IDFV is the same for apps from the same vendor but different across vendors. If the IDFA is not available, DSPs require an alternative, limited-scope identifier in order to provide basic frequency capping functionality to advertisers, which is IDFV. | Occasionally | 2.2/2.5/2.6 |
ext.sua | Structured user agent information defined by a UserAgent object. If both ‘ua’ and ‘sua’ are present in the bid request, ‘sua’ should be considered the more accurate representation of the device attributes. This is because the ‘ua’ may contain a frozen or reduced user agent string. | Occasionally | 2.2/2.5 |
User Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | Exchange-specific ID for the user. | Occasionally | 2.2/2.5/2.6 |
buyeruid | Buyer-specific ID for the user as mapped by the exchange for the buyer. | Occasionally | 2.2/2.5/2.6 |
ext.consent | It is an optional string that contains the data structure developed by the GDPR Consent Working Group under the auspices of IAB Europe. | Occasionally | 2.2 & 2.5 |
ext.consented_providers_settings.consented_providers | For DV360 only - Google Consented Providers Solution | Occasionally | 2.2 & 2.5 |
ext.eids | Extended identifiers support in the OpenRTB specification allows buyers to use audience data in real-time bidding. Below fields are supported:
| Occasionally | 2.2 &2.5 |
ext.limited_ads | For DV360 only | Occasionally | 2.2 & 2.5 |
Publisher Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | Exchange-specific publisher ID. | Always | 2.2/2.5/2.6 |
name | Publisher name | Always | 2.2/2.5/2.6 |
Producer Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
name | Content producer or originator name (e.g., “Warner Bros”). | Occasionally | 2.2 / 2.5 / 2.6 |
Geo Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
lat | Latitude from -90.0 to +90.0, where negative is south.
| Occasionally | 2.2 / 2.5 / 2.6 |
lon | Longitude from -180.0 to +180.0, where negative is west. | Occasionally | 2.2 / 2.5 / 2.6 |
country | Country code using ISO-3166-1-alpha-3. | Occasionally | 2.2 / 2.5 / 2.6 |
zip | Zip or postal code. | Occasionally | 2.2 / 2.5 / 2.6 |
Data Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
| ext.segtax | The ID for a taxonomy that is registered centrally. | Occasionally | 2.2 / 2.5 / 2.6 |
| segment |
Segment Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
| id | ID of the data segment specific to the data provider. | Occasionally | 2.2 / 2.5 / 2.6 |
Channel (v2.6)
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
| name | Channel the content is on (e.g., a local channel like “WABC-TV") | Occasionally | 2.6 |
Network (v2.6)
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
| name | Channel the content is on (e.g., a local channel like “WABC-TV") | Occasionally | 2.6 |
UserAgent (v2.6)
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
| browsers | Each BrandVersion object identifies a browser or similar software component. Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header*. | Occasionally | 2.6 |
| platform | A BrandVersion object 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-UAPlatform-Version header *. | Occasionally | 2.6 |
| mobile | 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-UAMobile header *. | Occasionally | 2.6 |
| architecture | Device’s major binary architecture, e.g. “x86” or “arm”. Implementers should retrieve this value from the Sec-CH-UA-Arch header*. | Occasionally | 2.6 |
| model | Device model. Implementers should retrieve this value from the Sec-CH-UAModel header*. | Occasionally | 2.6 |
| source | The source of data used to create this object. | Occasionally | 2.6 |
Source (v2.5)
Field | Description | Frequency of Fields | Versions Supported | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ext.schain | This has to be enabled in order to receive it. Please reach out to your account representative if this is something your bidder would like to process
| Occasionally | 2.5/2.6 |
Regulation Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
coppa | Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes | Occasionally | 2.2/2.5/2.6 |
ext.us_privacy | URL-encoded US Privacy string format as specified above. | Occasionally | 2.2/2.5/2.6 |
ext.gdpr | Signal whether or not the request is subject to GDPR regulations. 0 = No, 1 = Yes | Occasionally | 2.2/2.5/2.6 |
| ext.gpp | GPP string and GPP sid string from publisher, indicates GPP info. | Occasionally | 2.2/2.5/2.6 |
PMP Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
private_auction | Indicator of auction eligibility to seats named in the direct deals object. A value of 1 indicates that only bids for the enumerated deals will be allowed to serve. A value of 0 (or unspecified) indicates that open market bids are welcome as well | Always | 2.2/2.5/2.6 |
deals | Array of deal objects that convey the specific deals applicable to this impression. | Occasionally | 2.2/2.5/2.6 |
Direct Deals Object
Field | Description | Frequency of Fields | Versions Supported |
|---|---|---|---|
id | A unique identifier for the direct deal. | Always | 2.2/2.5/2.6 |
bidfloor | Minimum bid for this impression expressed in CPM. | Always | 2.2/2.5/2.6 |
bidfloorcur | Currency specified using ISO-4217 alpha codes. | Always | 2.2/2.5/2.6 |
wseat | Whitelist of buyer seats (e.g., advertisers, agencies) allowed to bid on this deal. | Occasionally | 2.2/2.5/2.6 |
at | Auction type of the deal, where 1 = First Price, 2 = Second Price, 3 = fixed price (the value passed in bidfloor is the agreed upon deal price). | Always | 2.2/2.5/2.6 |
ext.maxduration | Included for all deal types except for Programmatic Guaranteed (which do not have an option to configure max ad duration). This field allows demand partners to have an accurate understanding of max ad duration allowed for this deal to prevent the bid from being filtered due to the duration of the creative. This may differ from the max ad duration in the video.maxduration field. | Occasionally | 2.2/2.5/2.6 |
ext.freewheel_keyvalues | Custom key values that can be static or dynamic that are passed in the bid request by our publishers on individual deals | Occasionally | 2.2/2.5/2.6 |
Bid Request Examples
Programmatic Guaranteed Bid Request Example
{
"app": {
"bundle": “G1234567”,
"content": {
"contentrating": "TV-PG",
"genre": "reality",
"livestream": 1,
"prodq": 1
},
"id": “1234567”,
"name": "Samsung TV Plus",
"publisher": {
"id": “98765”,
"name": “EXAMPLE Publisher, LLC"
},
"storeurl": "https://www.samsung.com/us/appstore/app/G1234567”
},
"at": 2,
"cur": [
"USD",
"CAD",
"SEK",
"PEN",
"CZK",
"DKK",
"UYU",
"COP",
"RSD",
"GBP",
"AUD",
"EUR",
"BRL",
"PLN",
"CHF",
"NOK",
"JPY",
"ARS",
"HUF",
"CLP",
"MXN"
],
"device": {
"devicetype": 3,
"ext": {
"ifa_type": "tifa"
},
"geo": {
"country": "USA",
"zip": “12345”
},
"ifa": "2c514132-1111-f11a-afe1-1d1aa111111a",
"ip": "172.11.11.1”,
"lmt": 0,
"make": "Samsung",
"os": "tizen",
"ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 5.5) AppleWebKit/538.1 (KHTML, like Gecko) Version/5.5 TV Safari/538.1 STvPlus/1bcd11fd11111fe1dfd1fb236203c1f0"
},
"id": "o01f1-1731052953138871111-ABC-ABC-11-53782911-1”,
"imp": [
{
"displaymanager": "FreeWheel",
"displaymanagerver": "1.0",
"ext": {
"serverside": 2
},
"id": "0",
"pmp": {
"deals": [
{
"at": 3,
"bidfloor": 30.11,
"bidfloorcur": "USD",
"ext": {
"guaranteed": 1
},
"id": "ABC-ABC-11",
"wseat": [
"1234”
]
}
],
"private_auction": 1
},
"secure": 1,
"video": {
"battr": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
13,
14
],
"h": 1080,
"linearity": 1,
"maxduration": 30,
"mimes": [
"application/xml",
"video/mp4"
],
"minduration": 1,
"placement": 1,
"playbackend": 1,
"playbackmethod": [
1
],
"plcmt": 1,
"protocols": [
2,
3,
5,
6,
7,
8,
11,
12,
13,
14
],
"startdelay": -1,
"w": 1920
}
}
],
"regs": {
"ext": {
"us_privacy": "1YNY"
}
},
"source": {
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "freewheel.tv",
"hp": 1,
"sid": "98765”
}
],
"ver": "1.0"
}
}
},
"test": 0,
"tmax": 200,
"user": {}
}Non-Programmatic Guaranteed Bid Request Example
{
"at": 2,
"cur": [
"USD",
"CAD",
"SEK",
"PEN",
"CZK",
"DKK",
"UYU",
"COP",
"RSD",
"GBP",
"AUD",
"EUR",
"BRL",
"PLN",
"CHF",
"NOK",
"JPY",
"ARS",
"HUF",
"CLP",
"MXN"
],
"device": {
"devicetype": 2,
"ext": {
"ifa_type": "sessionid",
"lmt": 0
},
"geo": {
"country": "USA",
"zip": "12345”
},
"ifa": "ab58df85-e111-1111-cbee-84dcd7800b67",
"ip": "100.14.12.34”,
"make": "Apple",
"os": "mac os x",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15"
},
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "freewheel.tv",
"hp": 1,
"sid": “123456”
}
],
"ver": "1.0"
}
},
"id": "eba80-1735673601669298111-72-123456-preroll_1-1-ABC-EFG-00001",
"imp": [
{
"bidfloor": 10,
"bidfloorcur": "USD",
"displaymanager": "FreeWheel",
"displaymanagerver": "1.0",
"ext": {
"serverside": 2
},
"id": "1-1",
"pmp": {
"deals": [
{
"at": 1,
"bidfloor": 30,
"bidfloorcur": "USD",
"id": "ABC-EFG-00001"
}
],
"private_auction": 1
},
"secure": 1,
"video": {
"api": [
7
],
"battr": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
13,
14
],
"h": 720,
"linearity": 1,
"maxduration": 15,
"mimes": [
"application/x-mpegurl",
"application/xml",
"text/html",
"video/m4v",
"video/mov",
"video/mp4"
],
"minduration": 1,
"placement": 1,
"playbackend": 1,
"playbackmethod": [
1
],
"plcmt": 1,
"protocols": [
2,
3,
5,
6,
7,
8
],
"startdelay": 0,
"w": 1280
}
}
],
"regs": {
"ext": {
"gdpr": 0,
"us_privacy": "1---"
}
},
"site": {
"content": {
"contentrating": "Unrated",
"ext": {
"prodq": 1
},
"len": 600,
"livestream": 1
},
"domain": "www.POI.com",
"id": "134300”,
"publisher": {
"id": "123456",
"name": “POIMNB, Inc."
}
},
"test": 0,
"tmax": 200,
"user": {
"id": "ab58df85-e111-1111-cbee-84dcd7800b67"
}
}Non-Programmatic Guaranteed Bid Request with Dynamic Podding Example
{
"app": {
"bundle": "G1234567",
"content": {
"channel": {
"name": "pop"
},
"contentrating": "TV-14",
"genre": "Mystery",
"language": "en",
"len": 123,
"livestream": 1,
"network": {
"name": "pop"
},
"prodq": 1
},
"id": "16019700",
"name": "Samsung TV Plus",
"publisher": {
"id": "98765",
"name": "EXAMPLE Publisher, LLC"
},
"storeurl": "https://www.samsung.com/us/appstore/app/G1234567"
},
"at": 2,
"cur": [
"USD",
"CAD",
"SEK",
"PEN",
"CZK",
"DKK",
"UYU",
"COP",
"RSD",
"GBP",
"AUD",
"EUR",
"NZD",
"BRL",
"PLN",
"CHF",
"NOK",
"JPY",
"ARS",
"HUF",
"CLP",
"MXN"
],
"device": {
"devicetype": 3,
"ext": {
"ifa_type": "aaid"
},
"geo": {
"country": "USA",
"zip": "85018"
},
"ifa": "2c514132-1111-f11a-afe1-1d1aa111111a",
"ip": "172.11.11.1",
"lmt": 0,
"os": "android",
"ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 5.5) AppleWebKit/538.1 (KHTML, like Gecko) Version/5.5 TV Safari/538.1 STvPlus/1bcd11fd11111fe1dfd1fb236203c1f0"
},
"id": "o01f1-1731052953138871111-ABC-ABC-11-53782911-2",
"imp": [
{
"bidfloor": 8,
"bidfloorcur": "USD",
"displaymanager": "FreeWheel",
"displaymanagerver": "1.0",
"ext": {
"serverside": 2
},
"id": "1-1",
"pmp": {
"deals": [
{
"at": 1,
"bidfloor": 12,
"bidfloorcur": "USD",
"id": "ABC-ABC-00001"
}
],
"private_auction": 1
},
"secure": 1,
"video": {
"api": [
7
],
"battr": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
13,
14
],
"h": 720,
"linearity": 1,
"maxduration": 60,
"maxseq": 3,
"mimes": [
"application/xml",
"video/mp4"
],
"minduration": 1,
"placement": 1,
"playbackend": 1,
"playbackmethod": [
1
],
"plcmt": 1,
"poddur": 60,
"podid": "midroll_1",
"protocols": [
2,
3,
5,
6,
7,
8
],
"startdelay": -1,
"w": 1280
}
}
],
"regs": {
"coppa": 0
},
"source": {
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "freewheel.tv",
"hp": 1,
"sid": "1234-567"
}
],
"ver": "1.0"
}
}
},
"test": 0,
"tmax": 600
}