This page catalogs every field and message used in the Google RTB Protocol's
BidResponse
message, lists the closest supported equivalent fields in OpenRTB,
and provides instructions to help you migrate from the Google RTB protocol to OpenRTB.
BidResponse
Google RTB | OpenRTB | Notes |
---|---|---|
ad |
Message field. See Notes. | See Ad. |
debug_string |
N/A | No equivalent field exists in OpenRTB. |
processing_time_ms |
BidResponse.ext.processing_time_ms |
Equivalent. |
no_bid_reason |
BidResponse.nbr |
Equivalent. |
Ad
Parent: BidResponse
Google RTB | OpenRTB | Notes |
---|---|---|
event_notification_token |
BidResponse.seatbid.bid.ext.event_notification_token.payload |
The Google RTB protocol uses a bytes data type whereas OpenRTB uses
string . Google RTB bidders using raw bytes tokens must migrate
to using string tokens.
|
buyer_creative_id |
BidResponse.seatbid.bid.crid |
Equivalent. |
html_snippet |
BidResponse.seatbid.bid.adm |
Equivalent. Additional OpenRTB macros are now supported. Learn more about supported macros. |
video_url |
BidResponse.seatbid.bid.adm |
Equivalent. Additional OpenRTB macros are now supported. Learn more about supported macros. |
video_vast_xml |
BidResponse.seatbid.bid.adm |
Equivalent. Additional OpenRTB macros are now supported. Learn more about supported macros. |
amp_ad_url |
BidResponse.seatbid.bid.ext.amp_ad_url |
Equivalent. |
native_ad |
Message field. See Notes. | See NativeAd. |
click_through_url |
BidResponse.seatbid.bid.ext.clickurl |
See Click-through URL for details. |
vendor_type |
N/A | No equivalent field exists in OpenRTB. |
attribute |
BidResponse.seatbid.bid.apis |
See Attribute for details. |
category |
BidResponse.seatbid.bid.cat |
Not equivalent. See Ad Categories for details. |
restricted_category |
BidResponse.seatbid.bid.ext.restricted_category |
Equivalent. |
advertiser_name |
N/A | Unsupported. This field isn't supported in Google's OpenRTB implementation. |
width |
BidResponse.seatbid.bid.w |
Equivalent. |
height |
BidResponse.seatbid.bid.h |
Equivalent. |
adslot |
Message field. See Notes. | See AdSlot. |
impression_tracking_url |
BidResponse.seatbid.bid.burl BidResponse.seatbid.bid.ext.impression_tracking_url |
Nearly equivalent. You can use |
click_tracking_urls |
BidResponse.seatbid.bid.{adm/adm_native}.link.clicktrackers BidResponse.seatbid.bid.ext.click_tracking_urls |
Equivalent. Use |
ad_choices_destination_url |
BidResponse.seatbid.bid.ext.ad_choices_destination_url |
Equivalent. |
impression_tracking_resource |
Message field. See Notes. | See ImpressionTrackingResource. |
sdk_rendered_ad |
Message field. See Notes. | See SdkRenderedAd. |
skadn |
Message field. See Notes. | See SKAdNetworkResponse. |
advertised_app_id |
BidResponse.seatbid.bid.bundle |
Equivalent. |
app_promotion_type |
BidResponse.seatbid.bid.ext.app_promotion_type |
Equivalent. |
Click-through URL
All bids must declare either a click URL using
this field, the advertiser domain in the BidResponse.seatbid.bid.adomain
field, or both. We recommend that bidders use this field, possibly in
addition to BidResponse.seatbid.bid.adomain
, for more accurate
enforcement of publisher and user protections, for example so that your
bid is not incorrectly filtered.
For native ads, the closest equivalent would be in OpenRTB's native ad response. If you use
the Protobuf OpenRTB implementation, this would be the
BidResponse.seatbid.bid.{adm/adm_native}.link.url
field. If you use the JSON
OpenRTB implementation, this would be the link field in the native ad response JSON you
specify with BidResponse.seatbid.bid.adm
. These are populated with full
destination URLs that the user is expected to land on.
Attribute
The Google RTB protocol uses BidResponse.ad.attribute
to declare attributes of
the creative returned with your bid, which are defined in
buyer-declarable-creative-attributes.txt. You can continue using these Google-defined
attribute IDs with the BidResponse.seatbid.bid.ext.attribute
extension,
otherwise you can use a combination of BidResponse.seatbid.bid.apis
and
BidResponse.seatbid.bid.attr
to declare these attributes using OpenRTB-standard
taxonomies. To simplify your migration, we recommend using the extension.
The following table describes the declarable creative attributes and, if possible, how they
can be represented with the apis
and attr
fields.
Google RTB Attribute ID | Meaning | OpenRTB mapping notes |
---|---|---|
7 |
Tagging: IsTagged |
Not supported. |
8 |
Remarketing: IsRemarketing |
Not supported. |
9 |
UserInterestTargeting: IsUserInterestTargeted |
Not supported. |
12-20 and 25-27 |
ExpandingDirection :ExpandingNone ,ExpandingUp ,ExpandingDown ,ExpandingLeft ,ExpandingRight ,ExpandingUpLeft ,ExpandingUpRight ,ExpandingDownLeft ,ExpandingDownRight ,ExpandingUpOrDown ,ExpandingLeftOrRight ,ExpandingAnyDiagonal |
Not supported. |
28 |
ExpandingAction: RolloverToExpand |
Not supported. |
30 |
InstreamVastVideoType: Vpaid |
This is indicated by setting BidResponse.seatbid.bid.apis to
VPAID_1 , or VPAID_2 . |
32 |
MraidType: MRAID |
This is indicated by setting BidResponse.seatbid.bid.apis to
MRAID_1 . |
47 |
RichMediaCapabilityType: RichMediaCapabilitySSL |
Not supported.
This attribute is unnecessary given that SSL is required for all creatives. |
70 |
NativeEligibility: Native Eligible |
Not supported.
This attribute is unnecessary because eligibility for native is based on whether the creative returned in the response is a native ad. |
72 |
NativeEligibility: Native Not Eligible |
Not supported.
This attribute is unnecessary because eligibility for native is based on whether the creative returned in the response is a native ad. |
105 |
Rendering: Sizeless AdX |
This is indicated by setting BidResponse.seatbid.bid.attr to
RESPONSIVE . |
155 |
Rendering: Playable |
This is indicated by setting BidResponse.seatbid.bid.attr to
USER_INTERACTIVE . |
NativeAd
Parent: Ad
Contains information about the content of a native ad. Roughly corresponds to the
NativeResponse
message in OpenRTB. We recommend that you review the
migration notes for native ads.
Google RTB | OpenRTB | Notes |
---|---|---|
video_url |
BidResponse.seatbid.bid.{adm/adm_native}.assets.video.vasttag |
Nearly Equivalent.
The May be populated if there is an |
video_vast_xml |
BidResponse.seatbid.bid.{adm/adm_native}.assets.video.vasttag |
Nearly Equivalent.
The May be populated if there is an |
headline |
BidResponse.seatbid.bid.{adm/adm_native}.assets.title.text |
Nearly Equivalent.
May be populated if there is an |
body |
BidResponse.seatbid.bid.{adm/adm_native}.assets.data.value |
Nearly Equivalent.
May be populated if there is an |
call_to_action |
BidResponse.seatbid.bid.{adm/adm_native}.assets.data.value |
Nearly Equivalent.
May be populated if there is an |
advertiser |
BidResponse.seatbid.bid.{adm/adm_native}.assets.data.value |
Nearly Equivalent.
May be populated if there is an |
image |
Message field. See Notes. | See Image.
May be populated if there is an |
logo |
Message field. See Notes. | See Image.
May be populated if there is an |
app_icon |
Message field. See Notes. | See Image.
May be populated if there is an |
star_rating |
BidResponse.seatbid.bid.{adm/adm_native}.assets.data.value |
Nearly Equivalent.
OpenRTB uses a string for the rating, while the Google RTB protocol uses a double. May be populated if there is an |
click_link_url |
BidResponse.seatbid.bid.{adm/adm_native}.link.url |
Equivalent. |
DEPRECATED_click_tracking_url |
BidResponse.seatbid.bid.{adm/adm_native}.link.clicktrackers |
Nearly Equivalent.
The OpenRTB field is a repeated field, allowing more than one URL to be specified. |
DEPRECATED_click_tracking_urls |
BidResponse.seatbid.bid.{adm/adm_native}.link.clicktrackers |
Equivalent. |
price |
BidResponse.seatbid.bid.{adm/adm_native}.assets.data.value |
Nearly Equivalent.
May be populated if there is an |
Image
Parent: NativeAd
Google RTB | OpenRTB | Notes |
---|---|---|
url |
BidResponse.seatbid.bid.{adm/adm_native}.assets.img.url |
Equivalent. |
width |
BidResponse.seatbid.bid.{adm/adm_native}.assets.img.w |
Equivalent. |
height |
BidResponse.seatbid.bid.{adm/adm_native}.assets.img.h |
Equivalent. |
AdSlot
Parent: Ad
Google RTB | OpenRTB | Notes |
---|---|---|
id |
BidResponse.seatbid.bid.impid |
Nearly Equivalent.
Google RTB represents this as an integer, whereas the OpenRTB field uses a string to represent the same value. |
max_cpm_micros |
BidResponse.seatbid.bid.price |
Nearly Equivalent.
OpenRTB uses CPM of currency units, whereas Google RTB uses micro CPM.
|
min_cpm_micros |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
currency |
BidResponse.cur |
Equivalent. |
billing_id |
BidResponse.seatbid.bid.ext.billing_id |
Equivalent.
Note that |
deal_id |
BidResponse.seatbid.bid.dealid |
Nearly equivalent.
Google RTB represents this as an integer, whereas the OpenRTB field uses a string to represent the same value. |
exchange_deal_id |
BidResponse.seatbid.bid.dealid |
Equivalent.
OpenRTB's |
exchange_deal_type |
BidResponse.seatbid.bid.ext.exchange_deal_type |
Equivalent. |
seat_id |
BidResponse.seatbid.seat |
Equivalent. |
buyer_reporting_id |
BidResponse.seatbid.bid.ext.buyer_reporting_id |
Equivalent. |
third_party_buyer_token |
BidResponse.seatbid.bid.ext.third_party_buyer_token |
Equivalent. |
frequency_cap |
Message field. See Notes. | See FrequencyCap. |
position_in_pod |
BidResponse.seatbid.bid.slotinpod |
Nearly Equivalent.
Google RTB represents this as an enum, whereas OpenRTB represents this as an integer. Note that the integer value does not correspond to the Google protocol enum–see IAB's documentation for more details. |
bid_group_id |
BidResponse.seatbid.bid.ext.bid_group_id |
Equivalent. |
FrequencyCap
Parent: AdSlot
Google RTB | OpenRTB | Notes |
---|---|---|
frequency_cap_id |
BidResponse.seatbid.bid.ext.fcap.fcap_id |
Equivalent. |
time_unit |
BidResponse.seatbid.bid.ext.fcap.time_unit |
Equivalent. |
time_range |
BidResponse.seatbid.bid.ext.fcap.time_range |
Equivalent. |
max_impressions |
BidResponse.seatbid.bid.ext.fcap.max_imp |
Equivalent. |
ImpressionTrackingResource
Parent: Ad
Google RTB | OpenRTB | Notes |
---|---|---|
script_url |
N/A |
Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
context |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
verification_parameters |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
vendor_key |
N/A | Unsupported.
This field isn't supported in Google's OpenRTB implementation. |
SdkRenderedAd
Parent: Ad
Google RTB | OpenRTB | Notes |
---|---|---|
id |
BidResponse.seatbid.bid.ext.sdk_rendered_ad.id |
Equivalent. |
rendering_data |
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data |
Equivalent. |
declared_ad |
Message field. See Notes. | See DeclaredAd. |
DeclaredAd
Parent: SdkRenderedAd
Google RTB | OpenRTB | Notes |
---|---|---|
html_snippet |
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad.html_snippet |
Equivalent. |
video_url |
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad.video_url |
Equivalent. |
video_vast_xml |
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad.video_vast_xml |
Equivalent. |
native_ad |
Message field. See Notes. | See NativeAd. |
SKAdNetworkResponse
Parent: Ad
Google RTB | OpenRTB | Notes |
---|---|---|
version |
BidResponse.seatbid.bid.ext.skadn.version |
Equivalent. |
network |
BidResponse.seatbid.bid.ext.skadn.network |
Equivalent. |
campaign |
BidResponse.seatbid.bid.ext.skadn.campaign |
Nearly equivalent.
OpenRTB represents this as a string rather than an integer. |
source_identifier |
BidResponse.seatbid.bid.ext.skadn.sourceidentifier |
Nearly equivalent.
OpenRTB represents this as a string rather than an integer. |
itunesitem |
BidResponse.seatbid.bid.ext.skadn.itunesitem |
Equivalent. |
product_page_id |
BidResponse.seatbid.bid.ext.skadn.productpageid |
Equivalent. |
fidelities |
Message field. See Notes. | See Fidelity. |
nonce |
BidResponse.seatbid.bid.ext.skadn.nonce |
Equivalent.
Note that this is deprecated. Use
|
sourceapp |
BidResponse.seatbid.bid.ext.skadn.sourceapp |
Equivalent. |
timestamp |
BidResponse.seatbid.bid.ext.skadn.timestamp |
Nearly equivalent.
OpenRTB represents this as a string rather than an integer. |
signature |
BidResponse.seatbid.bid.ext.skadn.signature |
Equivalent.
Note that this is deprecated. Use
|
skoverlay |
Message field. See Notes. | See SKOverlay. |
skadn_options |
Message field. See Notes. | See SKAdNetworkOptions. |
Fidelity
Parent: SKAdNetworkResponse
Google RTB | OpenRTB | Notes |
---|---|---|
fidelity_type |
BidResponse.seatbid.bid.ext.skadn.fidelities.fidelity |
Equivalent. |
nonce |
BidResponse.seatbid.bid.ext.skadn.fidelities.nonce |
Equivalent. |
timestamp |
BidResponse.seatbid.bid.ext.skadn.fidelities.timestamp |
Nearly equivalent.
OpenRTB represents this as a string rather than an integer. Both are a UNIX timestamp in milliseconds. |
signature |
BidResponse.seatbid.bid.ext.skadn.fidelities.signature |
Equivalent. |
SKOverlay
Parent: SKAdNetworkResponse
Google RTB | OpenRTB | Notes |
---|---|---|
delay_seconds |
BidResponse.seatbid.bid.ext.skadn.skoverlay.delay |
Equivalent. |
endcard_delay_seconds |
BidResponse.seatbid.bid.ext.skadn.skoverlay.endcarddelay |
Equivalent. |
dismissible |
BidResponse.seatbid.bid.ext.skadn.skoverlay.dismissible |
Equivalent. |
SKAdNetworkOptions
Parent: SKAdNetworkResponse
Google RTB | OpenRTB | Notes |
---|---|---|
always_open_appstore |
BidResponse.seatbid.bid.ext.skadn.skadn_opts.always_open_appstore |
Equivalent. |