This page catalogs every field and message used in the Google RTB Protocol's
BidRequest
message, lists the closest supported equivalent fields in OpenRTB,
and provides instructions to help you migrate from the Google RTB protocol to OpenRTB.
BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
id |
BidRequest.id |
The Google RTB id has type bytes , while the OpenRTB
id is a base64-encoded string . |
ip |
BidRequest.device.ip BidRequest.device.ipv6 |
Nearly equivalent.
The Google RTB For example, in Google protocol The mapped field is dependent on whether the IP is an IPv4 or IPv6 address. |
google_user_id |
BidRequest.user.id |
Equivalent. |
cookie_version |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
cookie_age_seconds |
BidRequest.user.ext.idage |
Equivalent. |
hosted_match_data |
BidRequest.user.buyeruid |
Nearly equivalent.
The Google RTB OpenRTB represents this value in websafe base64 encoding without padding. |
session_id |
BidRequest.device.ext.session_id |
Equivalent. |
publisher_provided_id |
BidRequest.user.eids.uids.id |
Nearly equivalent.
The meaning of OpenRTB's field depends on the value of the
|
publisher_first_party_id |
Message field. See Notes. | See PublisherFirstPartyId. |
user_agent |
BidRequest.device.ua |
Equivalent.
Note that this data is subject to generalization in both protocols. |
privacy_treatments |
Message field. See Notes. | See PrivacyTreatments. |
segment_data |
Message field. See Notes. | See SegmentData. |
user_agent_data |
Message field. See Notes. | See UserAgent. |
publisher_country |
BidRequest.site.publisher.ext.country BidRequest.app.publisher.ext.country |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
host_publisher_id |
BidRequest.site.publisher.ext.host_publisher_id BidRequest.app.publisher.ext.host_publisher_id |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
inventory_partner_domain |
BidRequest.site.ext.inventorypartnerdomain BidRequest.app.ext.inventorypartnerdomain |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
geo_criteria_id |
BidRequest.device.geo.ext.geo_criteria_id |
Equivalent. |
geo |
Message field. See Notes. | See Geo. |
postal_code |
BidRequest.device.geo.zip |
Equivalent. |
postal_code_prefix |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Use Geo instead. |
encrypted_hyperlocal_set |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Use Geo instead. We recommend using |
hyperlocal_set |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Use Geo instead. We recommend using |
timezone_offset |
BidRequest.device.geo.utcoffset |
Equivalent. |
user_list |
N/A | Unsupported.
This field isn't populated in the Google RTB protocol, and won't be provided in Google's OpenRTB implementation. |
publisher_id |
BidRequest.app.publisher.id BidRequest.site.publisher.id |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
seller_network_id |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
partner_id |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
url |
BidRequest.app.content.url BidRequest.site.page |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
is_semi_transparent_request |
BidRequest.site.ext.is_semi_transparent_request |
Equivalent. |
detected_language |
BidRequest.app.content.language BidRequest.site.content.language |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
detected_vertical |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
detected_content_label |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
production_quality |
BidRequest.app.content.prodq BidRequest.site.content.prodq |
Equivalent.
Mapping depends on whether the bid request originates from an app or website. |
content_rating |
BidRequest.app.content.contentrating BidRequest.site.content.contentrating |
Nearly equivalent.
Represented as a string rather than enum. Here is the mapping of possible values:
|
google_query_id |
BidRequest.ext.google_query_id |
Equivalent. |
auction_type |
BidRequest.at |
Equivalent.
Our OpenRTB implementation adds an unused |
device |
Message field. See Notes. | See Device. |
key_value |
N/A | Unsupported.
This field is deprecated and isn't supported in Google's OpenRTB implementation. |
mobile |
Message field. See Notes. | See Mobile. |
video |
Message field. See Notes. | See Video. |
publisher_settings_list_id |
BidRequest.imp.ext.publisher_settings_list_id |
Nearly equivalent.
In OpenRTB, this single field contains the IDs found in both of Google RTB protocol's
|
publisher_type |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
page_visibility |
BidRequest.site.ext.page_visibility |
Equivalent. |
user_activation |
Message field. See Notes. | See UserActivation. |
navigation_type |
BidRequest.site.ext.ntype |
Equivalent. |
adslot |
Message field. See Notes. | See Adslot. |
bid_response_feedback |
Message field. See Notes. | See BidResponseFeedback. |
response_deadline_ms |
BidRequest.tmax |
Equivalent. |
is_test |
BidRequest.test |
Equivalent. |
is_ping |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
is_predicted_to_be_ignored |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
supply_chain |
Message field. See Notes. | See SupplyChain. |
frequency_capping_scope |
BidRequest.ext.fcap_scope |
Equivalent. |
dsa |
Message field. See Notes. | See Dsa. |
session_duration_seconds |
BidRequest.user.ext.session.duration |
Equivalent. |
experiment_ids |
BidRequest.ext.expids |
Equivalent. |
PublisherFirstPartyId
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
id_type |
BidRequest.user.eids.uid.ext.stype |
Nearly equivalent.
The Google RTB protocol's |
id |
BidRequest.user.eids.uids.id |
Nearly equivalent.
The meaning of OpenRTB's field depends on the value of the |
PrivacyTreatments
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
ip |
BidRequest.ext.privacy_treatments.ip |
Equivalent. |
user_agent |
BidRequest.ext.privacy_treatments.user_agent |
Equivalent. |
user_agent_data |
BidRequest.ext.privacy_treatments.user_agent_data |
Equivalent. |
non_personalized_ads_reason |
BidRequest.ext.privacy_treatments.non_personalized_ads_reason |
Equivalent. |
allow_user_data_collection |
BidRequest.ext.privacy_treatments.allow_user_data_collection |
Equivalent. |
SegmentData
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
name |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
id |
|
Nearly equivalent. |
segment |
Message field. See Notes. | See Segment. |
type |
|
Equivalent. |
Segment
Parent: SegmentData
Google RTB | OpenRTB | Notes |
---|---|---|
id |
|
Equivalent |
UserAgent
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
browsers |
Message field. See Notes. | See BrandVersion. |
platform |
Message field. See Notes. | See BrandVersion. |
mobile |
BidRequest.device.sua.mobile |
Equivalent. |
architecture |
BidRequest.device.sua.architecture |
Equivalent. |
bitness |
BidRequest.device.sua.bitness |
Equivalent. |
model |
BidRequest.device.sua.model |
Equivalent. |
source |
BidRequest.device.sua.source |
Equivalent. |
BrandVersion
Parent: UserAgent
Google RTB | OpenRTB | Notes |
---|---|---|
brand |
BidRequest.device.sua.browsers.brand BidRequest.device.sua.platform.brand |
Equivalent. |
version |
BidRequest.device.sua.browsers.version BidRequest.device.sua.platform.version |
Equivalent. |
Geo
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
lat |
BidRequest.device.geo.lat |
Equivalent. |
lon |
BidRequest.device.geo.lon |
Equivalent. |
country |
BidRequest.device.geo.country |
Equivalent. |
region |
BidRequest.device.geo.region |
Equivalent. |
metro |
BidRequest.device.geo.metro |
Equivalent. |
city |
BidRequest.device.geo.city |
Equivalent. |
zip |
BidRequest.decive.geo.zip |
Equivalent. |
accuracy |
BidRequest.device.geo.accuracy |
Equivalent. |
utcoffset |
BidRequest.device.geo.utcoffset |
Equivalent. |
Device
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
device_type |
BidRequest.device.devicetype |
Nearly equivalent.
The
|
platform |
BidRequest.device.os |
Nearly equivalent.
Devices that were set to " |
brand |
BidRequest.device.make |
Equivalent. |
model |
BidRequest.device.model |
Equivalent. |
os_version |
Message field. See Notes. | See OsVersion. |
carrier_id |
BidRequest.device.carrier |
Nearly equivalent.
OpenRTB uses a string for the carrier ID, while the Google RTB protocol uses an integer. |
screen_width |
BidRequest.device.w |
Equivalent. |
screen_height |
BidRequest.device.h |
Equivalent. |
screen_pixel_ratio_millis |
BidRequest.device.pxratio |
Nearly equivalent.
|
screen_orientation |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. You may use OpenRTB's |
hardware_version |
BidRequest.device.hwv |
Equivalent |
limit_ad_tracking |
BidRequest.device.lmt |
Equivalent. |
app_tracking_authorization_status |
BidRequest.device.ext.atts |
Nearly equivalent.
The Google RTB field is an enum whereas the OpenRTB field is an integer. The integer specified in OpenRTB maps directly to Google RTB protocol's enum value.
|
connection_type |
BidRequest.device.connectiontype |
Equivalent. |
OsVersion
Parent: Device
Google RTB | OpenRTB | Notes |
---|---|---|
major |
BidRequest.device.osv |
Nearly equivalent.
OpenRTB concatenates the |
minor |
BidRequest.device.osv |
Nearly equivalent.
OpenRTB concatenates the |
micro |
BidRequest.device.osv |
Nearly equivalent.
OpenRTB concatenates the |
Mobile
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
is_app |
BidRequest.app |
Nearly equivalent.
OpenRTB's |
app_id |
BidRequest.app.bundle |
Equivalent. |
is_interstitial_request |
BidRequest.imp.instl |
Equivalent. |
app_category_ids |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
is_mobile_web_optimized |
BidRequest.site.mobile |
Equivalent. |
is_app_open_ad |
BidRequest.imp.ext.is_app_open_ad |
Equivalent. |
encrypted_advertising_id |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Use |
advertising_id |
BidRequest.device.ifa |
Nearly equivalent.
The Google RTB protocol represents this as bytes, while for OpenRTB this is represented as a string containing either a 16 byte UUID, or a 32 byte alphanumeric ID (for Samsung IDs). |
encrypted_hashed_idfa |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Use |
hashed_idfa |
BidRequest.device.dpimd5 |
Nearly equivalent.
The Google RTB protocol represents this as bytes, whereas OpenRTB represents this as a string containing a hexadecimal value. |
app_name |
BidRequest.app.name |
Equivalent. |
app_rating |
BidRequest.app.content.userrating |
Nearly equivalent.
The Google RTB protocol represents this as a float, whereas OpenRTB represents this as a string containing a decimal value. |
installed_sdk |
Message field. See Notes. | See InstalledSdk. |
skadn |
Message field. See Notes. | See SKAdNetworkRequest. |
InstalledSdk
Parent: Mobile
Google RTB | OpenRTB | Notes |
---|---|---|
id |
BidRequest.app.ext.installed_sdk.id |
Equivalent. |
sdk_version |
Message field. See Notes. | See Version. |
adapter_version |
Message field. See Notes. | See Version. |
Version
Parent: InstalledSdk
Google RTB | OpenRTB | Notes |
---|---|---|
major |
BidRequest.app.ext.installed_sdk.sdk_version.major BidRequest.app.ext.installed_sdk.adapter_version.major |
Equivalent. |
minor |
BidRequest.app.ext.installed_sdk.sdk_version.minor BidRequest.app.ext.installed_sdk.adapter_version.minor |
Equivalent. |
micro |
BidRequest.app.ext.installed_sdk.sdk_version.micro BidRequest.app.ext.installed_sdk.adapter_version.micro |
Equivalent. |
SKAdNetworkRequest
Parent: Mobile
Google RTB | OpenRTB | Notes |
---|---|---|
versions |
BidRequest.imp.ext.skadn.versions |
Equivalent. |
sourceapp |
BidRequest.imp.ext.skadn.sourceapp |
Equivalent. |
skadnetids |
BidRequest.imp.ext.skadn.skadnetids |
Equivalent. |
supported_fidelity_types |
BidRequest.imp.ext.skadn.fidelities |
Equivalent. |
skoverlay |
BidRequest.imp.ext.skadn.skoverlay |
Equivalent. |
Video
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
placement |
BidRequest.imp.video.placement |
Nearly equivalent.
The Google RTB protocol and OpenRTB use different enum values, which have the following mapping:
In cases where Google RTB protocol doesn't populate This is deprecated. We recommend that you use |
plcmt |
BidRequest.imp.video.plcmt |
Equivalent. |
inferred_plcmt |
BidRequest.imp.video.ext.inferredplcmt |
Equivalent. |
description_url |
BidRequest.site.content.producer.domain BidRequest.app.content.producer.domain |
Nearly equivalent.
OpenRTB only includes the domain, not the full URL. |
is_embedded_offsite |
BidRequest.imp.video.ext.embeddedoffsite |
Equivalent. |
playback_method |
BidRequest.imp.video.playbackmethod |
Nearly Equivalent.
The OpenRTB |
is_clickable |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. Google RTB protocol field indicates whether a device supports user
clicks, which can be inferred based on |
videoad_start_delay |
BidRequest.imp.{video/audio}.startdelay |
Nearly equivalent.
The Google RTB protocol represents this in milliseconds, whereas OpenRTB uses seconds. |
max_ad_duration |
Non-native video:BidRequest.imp.{video/audio}.maxduration Native video: BidRequest.imp.native.{request/request_native}.assets.video.maxduration
See native ad migration notes for more details on differences between JSON and Protobuf formats. |
Nearly equivalent.
The Google RTB protocol uses a single field for both native and non-native video, and represents this in milliseconds, whereas OpenRTB differentiates between native and non-native video by using different field paths, and uses seconds. |
min_ad_duration |
Non-native video:BidRequest.imp.{video/audio}.minduration Native video: BidRequest.imp.native.{request/request_native}.assets.video.minduration
See native ad migration notes for more details on differences between JSON and Protobuf formats. |
Nearly equivalent.
The Google RTB protocol uses a single field for both native and non-native video, and represents this in milliseconds, whereas OpenRTB differentiates between native and non-native video, and uses seconds. |
max_ads_in_pod |
BidRequest.imp.video.maxseq |
Equivalent. |
max_pod_duration_seconds |
BidRequest.imp.video.poddur |
Equivalent. |
video_ad_skippable |
BidRequest.imp.video.skip |
Nearly equivalent.
OpenRTB's field is less granular because it is represented as a boolean. Both of
Google RTB protocol's We recommend contacting your TAM to enable skip correction. |
skippable_max_ad_duration |
BidRequest.imp.{video/audio}.maxduration |
Non-trivial updates required.
The Google RTB protocol represents this in milliseconds, whereas the OpenRTB protocol uses seconds. OpenRTB doesn't support display of both maximum duration for skippable and non-skippable ads simultaneously. Google uses bid flattening to represent both cases. For more details, see our documentation on maximum skippable video duration. |
protocols |
Non-native video:BidRequest.imp.{video/audio}.protocols Native video: BidRequest.imp.native.{request/request_native}.assets.video.protocols
See native ad migration notes for more details on differences between JSON and Protobuf formats. |
Nearly equivalent.
The Google RTB protocol uses a single field for both native and non-native video, whereas OpenRTB differentiates between native and non-native video. Google RTB protocol enum names and values are equivalent in OpenRTB, but additional (currently unused) enum names exist in OpenRTB. |
allowed_video_formats |
Non-native video:BidRequest.imp.{video/audio}.mimes Native video: BidRequest.imp.native.{request/request_native}.assets.video.mimes
See native ad migration notes for more details on differences between JSON and Protobuf formats. |
Nearly equivalent.
The Google RTB protocol represents these with an enum, whereas OpenRTB uses a string. |
companion_slot |
Message field. See Notes. | See CompanionSlot. |
end_cap_support |
BidRequest.imp.{video/audio}.companionad.vcm |
Nearly equivalent.
The Google RTB protocol represents this with an enum, whereas OpenRTB uses a boolean. However, only two values are in use for the Google RTB protocol, which map to OpenRTB as follows:
|
content_attributes.duration_seconds |
BidRequest.{site/app}.content.len |
Equivalent. |
is_livestream |
BidRequest.{site/app}.content.livestream |
Equivalent. |
playback_cessation_mode |
BidRequest.imp.video.playbackend |
Equivalent. |
CompanionSlot
Parent: Video
Google RTB | OpenRTB | Notes |
---|---|---|
height |
BidRequest.imp.{video/audio}.companionad.h BidRequest.imp.{video/audio}.companionad.format.h |
Nearly equivalent.
The Google RTB protocol uses separate repeated integer fields to represent width and height, where a given index in both describes a supported size. We recommend using OpenRTB's |
width |
BidRequest.imp.{video/audio}.companionad.w BidRequest.imp.{video/audio}.companionad.format.w |
Nearly equivalent.
The Google RTB protocol uses separate repeated integer fields to represent width and height, where a given index in both describes a supported size. We recommend using OpenRTB's |
creative_format |
BidRequest.imp.{video/audio}.companiontype BidRequest.imp.{video/audio}.companionad.mimes |
Nearly equivalent.
Google RTB protocol uses different enum names and values than OpenRTB.
These are also reflected in OpenRTB's Unlike Google RTB protocol, OpenRTB supports an additional type:
|
UserActivation
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
has_been_active |
BidRequest.site.ext.uact.wasact |
Equivalent. |
is_active |
BidRequest.site.ext.uact.isact |
Equivalent. |
Adslot
Parent: BidRequest
Contains information about the ad slot. Roughly corresponds to the Imp
message
in OpenRTB.
Google RTB | OpenRTB | Notes |
---|---|---|
id |
BidRequest.imp.id |
Nearly equivalent.
The Google RTB protocol represents this as an integer, whereas OpenRTB uses string. |
ad_block_key |
BidRequest.imp.tagid |
Equivalent. |
width |
BidRequest.imp.banner.w BidRequest.imp.banner.format.w BidRequest.imp.native.{request/request_native}.assets.video.w BidRequest.imp.video.w |
Nearly equivalent.
The representation across the Google RTB protocol and OpenRTB are identical, however the OpenRTB field used differs based on the ad format. When there are multiple eligible banner sizes, Google RTB protocol represents
dimensions with Unlike the banner format, when there are multiple eligible video sizes, only the
width of the first will be provided in |
height |
BidRequest.imp.banner.h BidRequest.imp.banner.format.h BidRequest.imp.native.{request/request_native}.assets.video.h BidRequest.imp.video.h |
Nearly equivalent.
The representation across the Google RTB protocol and OpenRTB are identical, however the OpenRTB field used differs based on the ad format. When there are multiple eligible banner sizes, Google RTB protocol represents
dimensions with Unlike the banner format, when there are multiple eligible video sizes, only the
height of the first will be provided in |
flexible_adslot_settings |
Message field. See Notes. | See FlexibleAdSlotSettings. |
excluded_attribute |
BidRequest.imp.secure BidRequest.imp.audio.battr BidRequest.imp.video.battr BidRequest.imp.banner.battr BidRequest.imp.native.battr BidRequest.imp.banner BidRequest.imp.video BidRequest.imp.native |
Non-trivial updates required.
See Excluded Attributes for more details. |
allowed_vendor_type |
BidRequest.imp.ext.allowed_vendor_type |
Equivalent. |
consented_providers_settings |
Message field. See Notes. | See ConsentedProvidersSettings. |
regs_gdpr |
BidRequest.regs.ext.gdpr |
Equivalent. |
regs_lgpd |
BidRequest.regs.ext.lgpd |
Equivalent. |
gpp_consent_string |
BidRequest.regs.gpp |
Equivalent. |
gpp_section_ids |
BidRequest.regs.gpp_sid |
Nearly equivalent.
The Google RTB protocol field is a repeated set of integer IDs defined
here, whereas the OpenRTB field is a repeated set of The integer values in |
excluded_sensitive_category |
BidRequest.bcat |
Non-trivial updates required.
See Ad Categories for more details. |
allowed_restricted_category |
BidRequest.imp.ext.allowed_restricted_category |
Equivalent. |
allowed_restricted_category_for_deals |
BidRequest.imp.ext.allowed_restricted_category |
Equivalent.
Note that allowed restricted categories for deals and the open auction are identical. |
allowed_languages |
BidRequest.wlang |
Nearly equivalent.
Google RTB Protocol refers to languages differently than OpenRTB, which uses ISO 639-1. |
excluded_product_category |
BidRequest.bcat |
Non-trivial updates required.
See Ad Categories for more details. |
excluded_app_ids |
BidRequest.bapp |
Equivalent. |
excluded_creatives |
Message field. See Notes. | See ExcludedCreative. |
only_deal_bids_accepted |
BidRequest.imp.pmp.private_auction |
Equivalent. |
matching_ad_data |
Message field. See Notes. | See MatchingAdData. |
blocked_seat_ids |
BidRequest.bseat |
Equivalent. |
allowed_seat_ids |
BidRequest.wseat |
Equivalent. |
publisher_settings_list_id |
BidRequest.imp.ext.publisher_settings_list_id |
Nearly equivalent.
In OpenRTB, this is the concatenation of Google protocol's
|
exchange_bidding |
Message field. See Notes. | Unsupported. The |
open_bidding |
Message field. See Notes. | See OpenBidding. |
ad_unit_mapping |
Message field. See Notes. | See AdUnitMapping. |
creative_enforcement_settings |
Message field. See Notes. | See CreativeEnforcementSettings. |
dfp_ad_unit_code |
BidRequest.imp.ext.dfp_ad_unit_code |
Equivalent.
This field will only be populated for Open Bidding partners. |
slot_visibility |
BidRequest.imp.banner.pos BidRequest.imp.video.pos |
Nearly equivalent for banner and video ads.
OpenRTB's Note that visibility is not a factor for audio ads, which are represented separately from video ads in OpenRTB. Unsupported for native ads. |
viewability |
BidRequest.imp.metric.value |
Nearly equivalent.
The Google RTB protocol represents this as an integer percentage ranging from 0-100, whereas OpenRTB represents this as a double ranging from 0.0-1.0. Note that this OpenRTB field has multiple mappings, and will only refer to viewability
when OpenRTB's |
click_through_rate |
BidRequest.imp.metric.value |
Nearly equivalent.
The Google RTB protocol represents this as a float percentage, whereas OpenRTB represents this as a double. Note that this OpenRTB field has multiple mappings, and will only refer to click
through rate when OpenRTB's |
video_completion_rate |
BidRequest.imp.metric.value |
Nearly equivalent.
The Google RTB protocol represents this as a float percentage, whereas OpenRTB represents this as a double ranging from 0.0-1.0. Note that this OpenRTB field has multiple mappings, and will only refer to video
completion rate when OpenRTB's |
iframing_state |
BidRequest.imp.banner.topframe |
Nearly equivalent.
The Google RTB protocol represents this as an enum, whereas OpenRTB represents this less-granularly as a bool. Google renders all banners in a cross-domain iframe. In OpenRTB, |
iframing_depth |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
native_ad_template |
Message field. See Notes. | See NativeAdTemplate. |
native_placement_type |
BidRequest.imp.native.{request/request_native}.plcmttype |
Nearly equivalent.
The Google RTB Protocol and OpenRTB use identical integer values, however the Protobuf OpenRTB format uses shortened enum names. |
mediation_status |
N/A | Unsupported.
This field has been deprecated and is no longer populated. It won't be supported in Google's OpenRTB implementation. |
auto_refresh |
Message field. See Notes. | See AutoRefresh. |
sticky_settings |
Message field. See Notes. | See StickySettings. |
non_browser_slot_source |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
renderer |
BidRequest.imp.displaymanager |
Nearly equivalent.
The Google RTB Protocol field is an enum that supports the following values:
The OpenRTB field is a string with a more granular set of values. |
amp_ad_request_type |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
is_amp_page |
BidRequest.site.ext.amp |
Nearly equivalent.
OpenRTB uses a similar enum with identical enum names, but the integer values are different.
|
amp_ad_requirement_type |
BidRequest.imp.ext.ampad |
Nearly Equivalent.
OpenRTB uses a similar enum with identical enum names, but the integer values are different.
|
is_rewarded |
BidRequest.imp.rwdd |
Equivalent. |
allowed_ad_types |
N/A | Unsupported.
In OpenRTB, there isn't a dedicated field to list allowed ad types. However, they can be determined based on the presence of relevant ad format fields in the bid request such as:
|
session_depth |
BidRequest.imp.metric.value |
Nearly equivalent.
The Google RTB protocol represents this with an integer data type, whereas OpenRTB uses double. Note that the OpenRTB field can represent multiple metrics, and only represents
session depth when |
secure_signals |
Message field. See Notes. | See SecureSignal. |
api |
BidRequest.imp.{banner/video/audio/native}.api |
Nearly equivalent.
OpenRTB uses a similar enum, but it includes additional frameworks such as VPAID.
This is specified separately for each of the included ad formats in OpenRTB. |
billable_event_rate_adjustment |
BidRequest.imp.ext.billable_event_rate_adjustment |
Equivalent.
Both the Google RTB protocol and OpenRTB fields are deprecated in favor of repeated
fields. Use
|
billable_event_rate_bid_adjustment |
Message field. See Notes. | See BillableEventRateBidAdjustment. |
omidpn |
BidRequest.source.ext.omidpn |
Equivalent. |
omidpv |
BidRequest.source.ext.omidpv |
Equivalent. |
auction_environment |
BidRequest.imp.ext.auction_environment |
Equivalent.
Both the Google RTB protocol and OpenRTB fields are deprecated. Use
|
supported_auction_environment |
BidRequest.imp.ext.ae |
Equivalent. |
impression_expiration_seconds |
BidRequest.imp.exp |
Equivalent. |
display_manager |
BidRequest.imp.displaymanager |
Equivalent. |
display_manager_version |
BidRequest.imp.displaymanagerver |
Equivalent. |
Excluded Attributes
The Google RTB protocol uses BidRequest.adslot.excluded_attribute
to indicate
which attributes you should exclude from the creative returned with your bid, which are
defined in publisher-excludable-creative-attributes.txt.
OpenRTB represents most of these using several fields described here:
Google RTB Attribute ID | Meaning | OpenRTB equivalent / notes |
---|---|---|
7 |
Tagging: IsTagged |
Not supported. |
8 |
Remarketing: IsRemarketing |
Not supported. |
9 |
UserInterestTargeting: IsUserInterestTargeted |
Not supported. |
13 - 20 |
ExpandingDirection :ExpandingUp ,ExpandingDown ,ExpandingLeft ,ExpandingRight .ExpandingUpLeft ,ExpandingUpRight ,ExpandingDownLeft ,ExpandingDownRight |
Not supported. |
21 |
CreativeType: Html |
In cases where Google RTB protocol sets excluded_attribute to 21, OpenRTB
wouldn't populate BidRequest.imp.banner . |
22 |
CreativeType: VastVideo |
In cases where Google RTB protocol sets excluded_attribute to 22, OpenRTB
wouldn't populate BidRequest.imp.video . |
25 - 27 |
ExpandingDirection :ExpandingUpOrDown ,ExpandingLeftOrRight ,ExpandingAnyDiagonal |
Not supported. |
28 |
ExpandingAction: RolloverToExpand |
Not supported. |
30 |
InstreamVastVideoType: Vpaid |
In cases where Google RTB protocol sets | .
32 |
MraidType: MRAID |
In cases where Google RTB protocol sets
|
34 |
RichMediaCapabilityType: RichMediaCapabilityFlash |
Not supported.
Flash is not a supported creative format. |
39 |
RichMediaCapabilityType: RichMediaCapabilityHTML5 |
Not supported. |
48 |
RichMediaCapabilityType: RichMediaCapabilityNonSSL |
In cases where Google RTB protocol sets In practice, |
70 |
NativeEligibility: Native Eligible |
In cases where Google RTB protocol sets excluded_attribute to 70, OpenRTB
wouldn't populate BidRequest.imp.native . |
72 |
NativeEligibility: Native Not Eligible |
In cases where Google RTB protocol sets excluded_attribute to 72, OpenRTB
would populate BidRequest.imp.native . Additionally, OpenRTB wouldn't
populate BidRequest.imp.audio , BidRequest.imp.banner , and
BidRequest.imp.video . |
95 |
VideoType: In-Banner Video (Publisher Blockable) |
In cases where Google RTB protocol sets |
114 |
OmsdkType: OMSDK 1.0 |
In cases where Google RTB protocol sets
|
FlexibleAdSlotSettings
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
max_width |
BidRequest.imp.banner.ext.flexslot.hmax
BidRequest.imp.banner.hmax
|
Equivalent.
|
max_height |
BidRequest.imp.banner.ext.flexslot.wmax
BidRequest.imp.banner.wmax
|
Equivalent.
|
min_width |
BidRequest.imp.banner.ext.flexslot.hmin
BidRequest.imp.banner.hmin
|
Equivalent.
|
min_height |
BidRequest.imp.banner.ext.flexslot.wmin
BidRequest.imp.banner.wmin
|
Equivalent.
|
ConsentedProvidersSettings
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
consented_providers |
BidRequest.user.ext.consented_providers_settings.consented_providers |
Equivalent. |
tcf_consent_string |
BidRequest.user.ext.consent |
Equivalent. |
additional_consent_string |
BidRequest.user.ext.consented_providers_settings.additional_consent |
Equivalent. |
ExcludedCreative
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
excluded_creatives.buyer_creative_id |
BidRequest.imp.ext.excluded_creatives.buyer_creative_id |
Equivalent. |
MatchingAdData
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
billing_id |
BidRequest.imp.ext.billing_id
BidRequest.imp.pmp.deals.ext.billing_id |
Nearly equivalent.
In OpenRTB, billing IDs are stored in a flat list that has no particular grouping or ordering. See Eligible Buyers and Deals for more information.
For deals, the eligible billing IDs for each deal can be found in |
minimum_cpm_micros |
BidRequest.imp.bidfloor |
Nearly equivalent.
The Google RTB protocol uses an integer to represent the floor of the auction in micros of the buyer's configured currency. If there are multiple buyers with differing currencies, this value might differ across buyers while having the same monetary value. See Eligible Buyers and Deals for more details. OpenRTB uses a single double to represent the floor of the auction in the bidder's
configured currency that is provided in
|
direct_deal |
Message field. See Notes. | See DirectDeal. |
DirectDeal
Parent: MatchingAdData
Google RTB | OpenRTB | Notes |
---|---|---|
direct_deal_id |
BidRequest.imp.pmp.deals.id |
Nearly equivalent.
The Google RTB protocol represents this as an integer, whereas OpenRTB uses string. |
fixed_cpm_micros |
|
Nearly equivalent.
The Google RTB protocol represents this in micros of the given currency as an integer, whereas OpenRTB represents the value in CPM currency units, as a double.
Note that the value sent in OpenRTB bid request may differ because Google
RTB protocol uses the deal buyer's currency, whereas OpenRTB uses the bidder's
currency. The |
deal_type |
BidRequest.imp.pmp.deals.ext.deal_type |
Equivalent. |
publisher_blocks_overridden |
BidRequest.imp.pmp.deals.ext.publisher_blocks_overridden |
Equivalent. |
creative_source |
BidRequest.imp.pmp.deals.ext.creative_source |
Nearly equivalent.
The Google RTB protocol and OpenRTB fields are represented with an identical enum. |
must_bid |
BidRequest.imp.pmp.deals.ext.must_bid |
Equivalent. |
creative_constraints |
Message field. See Notes. | See CreativeConstraints. |
allowed_seat_ids |
BidRequest.imp.pmp.deals.wseat |
Equivalent. |
CreativeConstraints
Parent: DirectDeal
Google RTB | OpenRTB | Notes |
---|---|---|
allowed_ad_types |
BidRequest.imp.pmp.deals.ext.creative_constraints.mtypes |
Nearly equivalent.
The Google RTB protocol and OpenRTB use different enums. They represent the same set of ad formats, but use different names and integer values.
|
video_ad_skippable |
BidRequest.imp.pmp.deals.ext.creative_constraints.skippability |
Equivalent. |
max_ad_duration_ms |
BidRequest.imp.pmp.deals.ext.creative_constraints.maxduration |
Nearly equivalent.
The Google RTB protocol represents the duration in milliseconds, whereas OpenRTB uses seconds. |
OpenBidding
Parent: Adslot
Contains parameters relevant to Open Bidding. This will only be populated for Open Bidding partners.
Google RTB | OpenRTB | Notes |
---|---|---|
is_open_bidding |
BidRequest.imp.ext.is_open_bidding |
Equivalent. |
AdUnitMapping
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
keyvals |
Message field. See Notes. | See Keyval. |
format |
BidRequest.imp.ext.ad_unit_mapping.format |
Equivalent. |
Keyval
Parent: AdUnitMapping
Google RTB | OpenRTB | Notes |
---|---|---|
key |
BidRequest.imp.ext.ad_unit_mapping.keyvals.key |
Equivalent. |
value |
BidRequest.imp.ext.ad_unit_mapping.keyvals.value |
Equivalent. |
CreativeEnforcementSettings
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
policy_enforcement |
BidRequest.imp.ext.creative_enforcement_settings.policy_enforcement |
Equivalent. |
publisher_blocks_enforcement |
BidRequest.imp.ext.creative_enforcement_settings.publisher_blocks_enforcement |
Equivalent. |
NativeAdTemplate
Parent: Adslot
Contains information about a native ad template. Roughly corresponds to
the NativeRequest
message in OpenRTB. We recommend that you
review the
migration notes for native ads.
Google RTB | OpenRTB | Notes |
---|---|---|
required_fields |
BidRequest.imp.native.{request/request_native}.assets.required |
Non-trivial updates required.
Google protocol uses a single bitfield to determine whether several components of the
native ad are required, whereas OpenRTB defines all components as a list of
|
recommended_fields |
BidRequest.imp.native.{request/request_native}.assets.required |
Non-trivial updates required.
Google protocol uses a single bitfield to determine whether several components of the
native ad are recommended, whereas OpenRTB defines all components in a list of
|
headline_max_safe_length |
BidRequest.imp.native.{request/request_native}.assets.title.len |
Equivalent.
The Google RTB protocol's |
body_max_safe_length |
BidRequest.imp.native.{request/request_native}.assets.data.len |
Equivalent.
The Google RTB protocol's |
call_to_action_max_safe_length |
BidRequest.imp.native.{request/request_native}.assets.data.len |
Equivalent.
The Google RTB protocol's |
advertiser_max_safe_length |
BidRequest.imp.native.{request/request_native}.assets.data.len |
Equivalent.
The Google RTB protocol's |
price_max_safe_length |
BidRequest.imp.native.{request/request_native}.assets.data.len |
Equivalent.
The Google RTB protocol's |
image_width |
BidRequest.imp.native.{request/request_native}.assets.img.wmin |
Equivalent.
The Google RTB protocol's |
image_height |
BidRequest.imp.native.{request/request_native}.assets.img.hmin |
Equivalent.
The Google RTB protocol's |
logo_width |
BidRequest.imp.native.{request/request_native}.assets.img.wmin |
Equivalent.
The Google RTB protocol's |
logo_height |
BidRequest.imp.native.{request/request_native}.assets.img.hmin |
Equivalent.
The Google RTB protocol's |
app_icon_width |
BidRequest.imp.native.{request/request_native}.assets.img.wmin |
Equivalent.
The Google RTB protocol's |
app_icon_height |
BidRequest.imp.native.{request/request_native}.assets.img.hmin |
Equivalent.
The Google RTB protocol's |
style_id |
BidRequest.imp.native.{request/request_native}.ext.style_id |
Equivalent. |
style_layout_type |
BidRequest.imp.native.{request/request_native}.ext.style_layout_type |
Equivalent. |
style_height |
BidRequest.imp.native.{request/request_native}.ext.style_height |
Equivalent. |
style_width |
BidRequest.imp.native.{request/request_native}.ext.style_width |
Equivalent. |
AutoRefresh
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
refresh_settings |
Message field. See Notes. | See AutoRefreshSettings. |
refresh_count |
BidRequest.imp.refresh.count |
Equivalent. |
AutoRefreshSettings
Parent: AutoRefresh
Google RTB | OpenRTB | Notes |
---|---|---|
refresh_type |
BidRequest.imp.refresh.refsettings.reftype |
Nearly equivalent.
The Google RTB field is an enum whereas the OpenRTB field is an integer. The integer specified in OpenRTB maps directly to Google RTB protocol's enum value.
|
min_refresh_interval_seconds |
BidRequest.imp.refresh.refsettings.minint |
Equivalent. |
StickySettings
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
vertical_stickiness |
BidRequest.imp.banner.pos |
Nearly equivalent.
The OpenRTB field is an enum that represents several possible ad positions. When set
to OpenRTB's |
top_horizontal_stickiness |
BidRequest.imp.banner.pos |
Nearly equivalent.
The OpenRTB field is an enum that represents several possible ad positions. When set
to OpenRTB's |
bottom_horizontal_stickiness |
BidRequest.imp.banner.pos |
Nearly equivalent.
The OpenRTB field is an enum that represents several possible ad positions. When set
to OpenRTB's |
SecureSignal
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
source |
For both web and app:BidRequest.user.ext.eids.source For app only: BidRequest.imp.ext.buyer_generated_request_data.source_app.id |
Equivalent. |
data |
For web:BidRequest.user.ext.eids.uids.id For app: BidRequest.imp.ext.buyer_generated_request_data.data |
Equivalent. |
BillableEventRateBidAdjustment
Parent: Adslot
Google RTB | OpenRTB | Notes |
---|---|---|
billable_event_rate_bid_adjustment.bid_adjustment |
BidRequest.imp.ext.billable_event_rate_bid_adjustment.bid_adjustment |
Equivalent. |
billable_event_rate_bid_adjustment.creative_type |
BidRequest.imp.ext.billable_event_rate_bid_adjustment.creative_type |
Equivalent. |
billable_event_rate_bid_adjustment.sdk.id |
BidRequest.imp.ext.billable_event_rate_bid_adjustment.sdk.id |
Equivalent. |
BidResponseFeedback
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
request_id |
BidRequest.ext.bid_feedback.request_id |
Nearly equivalent.
The Google RTB protocol represents this with bytes, whereas OpenRTB uses a base64-escaped string. |
creative_status_code |
BidRequest.ext.bid_feedback.creative_status_code |
Equivalent. |
cpm_micros |
BidRequest.ext.bid_feedback.price |
Nearly equivalent.
These fields are deprecated and are not populated in the bid request. |
minimum_bid_to_win |
BidRequest.ext.bid_feedback.minimum_bid_to_win |
Nearly equivalent.
The Google RTB protocol uses an integer to represent the price in micros using the bidder's configured currency. OpenRTB uses a double to represent the price in the bidder's currency units. OpenRTB value = Google RTB value / 1,000,000 |
server_side_component_minimum_bid_to_win |
BidRequest.ext.bid_feedback.sscminbidtowin |
Nearly equivalent.
The Google RTB protocol uses an integer to represent the price in micros using the bidder's configured currency. OpenRTB uses a double to represent the price in the bidder's currency units. OpenRTB value = Google RTB value / 1,000,000 |
billable_event_rate_bid_adjustment |
BidRequest.ext.bid_feedback.billable_event_rate_bid_adjustment |
Equivalent. |
sampled_mediation_cpm_ahead_of_auction_winner |
BidRequest.ext.bid_feedback.sampled_mediation_cpm_ahead_of_auction_winner |
Nearly equivalent.
The Google RTB protocol uses an integer to represent the price in micros using the bidder's configured currency. OpenRTB uses a double to represent the price in the bidder's currency units. OpenRTB value = Google RTB value / 1,000,000 |
event_notification_token |
BidRequest.ext.bid_feedback.event_notification_token.payload |
Nearly equivalent.
The Google RTB protocol represents this as bytes, whereas OpenRTB uses string. |
buyer_creative_id |
BidRequest.ext.bid_feedback.buyer_creative_id |
Equivalent. |
feedback_type |
BidRequest.ext.bid_feedback.feedbacktype |
Equivalent. |
creative_index |
N/A |
Unsupported.
This field isn't supported in Google's OpenRTB implementation. Bidders can use the
|
buyer_origin |
BidRequest.ext.bid_feedback.buyerorigin |
Equivalent. |
interest_group_buyer_status_code |
BidRequest.ext.bid_feedback.igbuyerstatus |
Equivalent. |
SupplyChain
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
complete |
BidRequest.source.schain.complete |
Equivalent. |
advertising_system_identifier |
BidRequest.source.schain.nodes.asi |
Equivalent. |
seller_identifier |
BidRequest.source.schain.nodes.sid |
Equivalent. |
handles_payment |
BidRequest.source.schain.nodes.hp |
Equivalent. |
version |
BidRequest.source.schain.ver |
Equivalent. |
Dsa
Parent: BidRequest
Google RTB | OpenRTB | Notes |
---|---|---|
dsa_support |
BidRequest.regs.ext.dsa.dsarequired |
Nearly equivalent.
The OpenRTB |
publisher_rendering_support |
BidRequest.regs.ext.dsa.pubrender |
Nearly equivalent.
The OpenRTB |
data_to_publisher |
BidRequest.regs.ext.dsa.datatopub |
Nearly equivalent.
The OpenRTB |