A real-time bidding interaction begins when Google sends a bid request to
your application. This guide explains how to code your application to
process the bid request.
Caution: The Google RTB protocol is deprecated. Examples in this guide
will use Google's OpenRTB Protobuf implementation unless stated otherwise.
Parse Protobuf request
Google sends a bid request as a serialized protocol buffer attached as the
binary payload of an HTTP POST request. The Content-Type
is set to
application/octet-stream
. See Example bid request for an example.
You must parse this request into an instance of the BidRequest
message. Depending on your chosen protocol, BidRequest
is defined
in either openrtb.proto
or the deprecated
realtime-bidding.proto
, which can be obtained from the
reference data page. You can parse the message
using the ParseFromString()
method in the generated class for the
BidRequest
. For example, the following C++ code parses a request
given a POST payload in a string:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Once you have the BidRequest
you can then work with it as an
object, extracting and interpreting the fields you need. For example, in
C++ iterating through deals in an OpenRTB `BidRequest` could look like
the following:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
Billing IDs
You receive a bid request when a publisher's ad inventory is targeted by
one or more of your
pretargeting configurations . BidRequest.imp.ext.billing_id
will be populated with the billing IDs of any eligible buyers, and relevant
pretargeting configurations. Additionally, for
deal
inventory , you can find billing IDs associated with the relevant buyer
using BidRequest.imp.pmp.deal.ext.billing_id
. Only billing IDs of
buyers included in the bid request may be specified when placing a bid.
If multiple billing IDs are included in the bid request, you must specify
the billing ID of the buyer you intend to attribute your bid to with the
BidResponse.seatbid.bid.ext.billing_id
field.
Dictionary files
The bid request uses identifiers defined in dictionary files, which are
available on the reference data
page.
Google RTB protocol bid URL macros
Optionally, some fields of the BidRequest
can be inserted into
the URL used in the HTTP POST request. This is useful, for example, if you use
a lightweight frontend that load balances over multiple backends using a value
from the request. Contact your technical account manager to request support for
new macros.
Macro Description
%%GOOGLE_USER_ID%%
Replaced with the google_user_id
from the BidRequest
. For example, the bidder URL
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
will be replaced by something like
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
at request time.
If the Google User ID is unknown, the empty string is substituted, with a
result similar to
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Replaced with 1
or 0
when calling
BidRequest
's has_mobile()
.
%%HAS_VIDEO%%
Replaced with 1
(true) or 0
(false)
when calling BidRequest
's has_video()
.
%%HOSTED_MATCH_DATA%%
Replaced with the value of the hosted_match_data
field
from the BidRequest
.
%%MOBILE_IS_APP%%
Replaced with 1
(true) or 0
(false)
from BidRequest
's mobile.is_app
field.
Find mobile app ID from transaction URL
Mobile application transactions will report URLs that look like this:
mbappgewtimrzgyytanjyg4888888 .com
Use a base-32 decoder to decode the portion of the string in bold
(gewtimrzgyytanjyg4888888
).
You can use an online
decoder , but you'll have to capitalize the letters and replace trailing
8
s with =
values.
So decoding this value:
GEWTIMRZGYYTANJYG4======
results in:
1 - 429610587
The string
429610587
is the app ID for the iOS app
iFunny .
Here's another example. The reported URL is:
mbappgewtgmjug4ytmmrtgm888888 .com
Decoding this value:
GEWTGMJUG4YTMMRTGM======
results in:
1 - 314716233
The result
314716233
is the app ID for the iOS app
TextNow .
Find mobile app name from transaction URL
Here's an example of getting the app name. The reported URL is as follows:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Decoding this value:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
results in:
air.com.hypah.io.slither
The result equates to the Android app
slither.io .
Open Bidding fields
Bid requests sent to exchange and network bidders participating in Open
Bidding are similar to those of Authorized Buyers participating in standard
real-time bidding. Open Bidding customers will receive a small number of
additional fields, and a few existing fields may have alternative uses. These
include the following:
OpenRTB
Authorized Buyers
Details
BidRequest.imp[].ext.dfp_ad_unit_code
BidRequest.adslot[].dfp_ad_unit_code
Contains the publisher's Ad Manager network code followed by the ad
unit hierarchy, separated by forward slashes.
As an example, this would appear with formatting similar to:
/1234/cruises/mars
.
BidRequest.user.data[].segment[]
BidRequest.adslot[].exchange_bidding.key_value[]
Repeated key-value pairs sent from publisher to exchange bidder.
You can determine that the values are key-value pairs sent by the
publisher when BidRequest.user.data[].name
is set to
“Publisher Passed”
.
Note: This field is currently only sent to closed beta
participants.
Declare allowed vendors
Technology vendors which provide services such as research, remarketing, and
ad serving may play a role in the interaction between buyers and sellers. Only
vendors which Google has vetted for participation in Authorized Buyers
interactions are allowed.
To understand the BidRequest
and create your
BidResponse
, you need to be aware of the two different
possibilities for declaring technology vendors:
Some vendors don't need to be declared; these vendors are listed in
Ad Manager Certified External
Vendors .
Other vendors can only participate if they are declared in the
BidRequest
:
In the BidRequest
, the
BidRequest.imp.ext.allowed_vendor_type
field specifies
which vendors the seller allows. Vendors that will be sent in the
allowed_vendor_type
are listed in the
vendors.txt
dictionary file.
Example bid request
The following examples represent human-readable samples of the Protobuf and
JSON requests.
OpenRTB Protobuf
Show me the example
Serialized request
id : "G44mF74ywRs183dKa9565D"
imp {
id : "1"
banner {
w : 320
h : 50
pos : BELOW_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
wmax : 320
hmax : 50
wmin : 214
hmin : 33
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 214
wmax : 320
hmin : 33
hmax : 50
}
}
}
tagid : "3724651684"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 2.80155200016452 e - 05
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.14
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 61560909063
dfp_ad_unit_code : "/2149822/google/test"
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
livestream : false
language : "es"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_HIDDEN
inventorypartnerdomain : "OMITTED"
uact {
wasact : true
isact : true
}
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "MEX"
region : "MX-NLE"
zip : "67050"
type : IP
utcoffset : - 360
accuracy : 3447
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9143049
}
}
make : "Motorola"
model : "razr 2024"
os : "android"
osv : "14"
devicetype : HIGHEND_PHONE
lmt : false
w : 320
h : 783
pxratio : 3.375
sua {
browsers {
brand : "Chromium"
version : "130"
version : "0"
}
browsers {
brand : "Android WebView"
version : "130"
version : "0"
}
platform {
brand : "Android"
version : "14"
version : "0"
}
mobile : true
model : "motorola razr 2024"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "7pWq9gH2c44W14G0diM896340U7"
buyeruid : "ob9RP0311MR4X7c983o221v0B890U239"
customdata : "77o24I2Ie6j9g1Svm1J60Nnn8zB185Bk1yBhM6i28cWp9wjb"
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
idage : 1296000
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zph5Vk-45u86x7963d1Se8v5W33W604M5WCTYJ4eH7jzh9702Y7A818s510l2vhC7tK4"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
OpenRTB JSON
Show me the example
{
"id" : "G44mF74ywRs183dKa9565D" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 3 ,
"expdir" : [
1 ,
2 ,
3 ,
4
],
"wmax" : 320 ,
"hmax" : 50 ,
"wmin" : 214 ,
"hmin" : 33 ,
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 214 ,
"wmax" : 320 ,
"hmin" : 33 ,
"hmax" : 50
}
}
},
"tagid" : "3724651684" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 2.80155200016452 e - 05 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.14 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"61560909063"
],
"dfp_ad_unit_code" : "/2149822/google/test" ,
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 2
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"livestream" : 0 ,
"language" : "es"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 2 ,
"inventorypartnerdomain" : "OMITTED" ,
"uact" : {
"wasact" : 1 ,
"isact" : 1
},
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "MEX" ,
"region" : "MX-NLE" ,
"zip" : "67050" ,
"type" : 2 ,
"utcoffset" : - 360 ,
"accuracy" : 3447 ,
"ext" : {
"geo_criteria_id" : 9143049
}
},
"make" : "Motorola" ,
"model" : "razr 2024" ,
"os" : "android" ,
"osv" : "14" ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 320 ,
"h" : 783 ,
"pxratio" : 3.375 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"130" ,
"0"
]
},
{
"brand" : "Android WebView" ,
"version" : [
"130" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14" ,
"0"
]
},
"mobile" : 1 ,
"model" : "motorola razr 2024" ,
"source" : 2
}
},
"user" : {
"id" : "7pWq9gH2c44W14G0diM896340U7" ,
"buyeruid" : "ob9RP0311MR4X7c983o221v0B890U239" ,
"customdata" : "77o24I2Ie6j9g1Svm1J60Nnn8zB185Bk1yBhM6i28cWp9wjb" ,
"ext" : {
"eids" : [
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
},
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
}
],
"idage" : 1296000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-zph5Vk-45u86x7963d1Se8v5W33W604M5WCTYJ4eH7jzh9702Y7A818s510l2vhC7tK4" ,
"fcap_scope" : 1
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "To1)\351\216ec%\362\220w\235\300\010\255G\020^\257\'[}"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "it"
adslot {
id : 1
width : 336
width : 300
height : 280
height : 250
excluded_attribute : 70
excluded_attribute : 16
allowed_vendor_type : 445
allowed_vendor_type : 704
excluded_sensitive_category : 31
excluded_sensitive_category : 24
matching_ad_data {
billing_id : 78614473201
minimum_cpm_micros : 10000
}
slot_visibility : BELOW_THE_FOLD
excluded_product_category : 10003
excluded_product_category : 10017
ad_block_key : 5501504864
publisher_settings_list_id : 3066683014322168515
iframing_state : UNKNOWN_IFRAME_STATE
viewability : 80
click_through_rate : 0.001814635
renderer : GOOGLE
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
consented_providers_settings {
consented_providers : 1227
consented_providers : 2140
tcf_consent_string : "OMITTED"
additional_consent_string : "OMITTED"
}
regs_gdpr : true
flexible_adslot_settings {
max_width : 412
max_height : 361
min_width : 206
min_height : 46
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
}
is_test : false
cookie_version : 1
google_user_id : "Fl9o7N66Yl32fK90ZvfV50238gt"
timezone_offset : 120
mobile {
app_id : "com.google.testapp"
is_app : false
is_mobile_web_optimized : true
app_name : "Test App"
app_rating : 3.9867892
}
cookie_age_seconds : 10368000
geo_criteria_id : 1008141
publisher_settings_list_id : 7538157606866003226
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 7568211982740612868
device {
device_type : HIGHEND_PHONE
platform : "android"
brand : "Samsung"
model : "sm-a750fn"
os_version {
major : 10
}
carrier_id : 70150
screen_width : 412
screen_height : 846
screen_pixel_ratio_millis : 2625
screen_orientation : PORTRAIT
limit_ad_tracking : false
}
publisher_country : "IT"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 350
google_query_id : "ANy-zM40L2-685i3i9Pb9aV5D0nlcJ6vR1yvq0Xev4635927DQi781B2X403h2GoyQQdMl26"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "ITA"
region : "IT-BO"
city : "Bologna"
utcoffset : 120
accuracy : 5230
}
user_agent_data {
platform {
brand : "Android"
version : "10"
version : "0"
}
mobile : true
model : "SM-A750FN"
browsers {
brand : "Android WebView"
version : "129"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "8"
version : "0"
}
source : CLIENT_HINTS_HIGH_ENTROPY
}
page_visibility : VISIBILITY_STATE_VISIBLE
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
To convert the bid request into a binary form, like you would get from the
POST payload in a real request, you can do the following (in C++). Note,
however, that this is not applicable to OpenRTB JSON.
string text_format_example = /* example from above */ ;
BidRequest bid_request ;
if ( TextFormat :: ParseFromString ( text_format_example , &bid_request )) {
string post_payload ;
if ( bid_request . SerializeToString ( &post_payload )) {
// post_payload is a binary serialization of the protocol buffer
}
}
Real-time feedback
Real-time feedback is available to Authorized Buyers, as well
as exchanges and networks using Open Bidding.
Bid response feedback is supported on the subsequent bid request for both
OpenRTB and the deprecated Google RTB protocol. For OpenRTB, it is sent in
BidRequest.ext.bid_feedback
.
In addition to the default fields sent in Bid Response Feedback, you can
also send custom data in the bid response using the
BidResponse.seatbid.bid.ext.event_notification_token
field. The
event_notification_token
is arbitrary data known only to the
bidder that might help with debugging, for example: a new targeting ID or
bidding ID representing a new tactic, or metadata associated with the creative
known only to the bidder. For details, see
OpenRTB Extensions Protocol Buffer
for OpenRTB or the deprecated
Google RTB protocol .
Warning: If you have bidding endpoints configured to use OpenRTB and
Google RTB, a known issue is that an event_notification_token
set in a bid response for one protocol can appear in bid response feedback
in the other protocol. You must set event_notification_token
in your bid response to a UTF-8 string in both protocols, otherwise
bid requests including the token may fail to serialize and not reach your
endpoints.
When Authorized Buyers sends a bid request to a bidder, the bidder replies
with a BidResponse
. If the bidder has real-time feedback enabled,
then in a subsequent bid request, Authorized Buyers sends feedback on the
response in a BidFeedback
message:
message BidFeedback {
// The unique id from BidRequest . id .
optional string request_id = 1 ;
// The status code for the ad . See creative - status - codes . txt in the
// technical documentation for a list of ids .
optional int32 creative_status_code = 2 ;
// Deprecated . This field is not populated and will be removed after March ,
// 2025. If the bid won the auction , this is the price paid in your account
// currency . If the bid participated in the auction but was out - bid , this
// is the CPM that should have been exceeded in order to win . This is not
// set if the bid was filtered prior to the auction , if the publisher or
// winning bidder has opted out of price feedback or if your account has
// opted out of sharing winning prices with other bidders . For first - price
// auctions , minimum_bid_to_win is populated instead of this field .
optional double price = 3 [ deprecated = true ];
// The minimum bid value necessary to have won the auction , in your account
// currency . If your bid won the auction , this is the second highest bid
// that was not filtered ( including the floor price ) . If your bid didn 't win
// the auction , this is the winning candidate 's bid. This field will only be
// populated if your bid participated in a first - price auction , and will not
// be populated if your bid was filtered prior to the auction .
optional double minimum_bid_to_win = 6 ;
// The minimum bid value necessary to have won the server - side component of
// the overall auction given that there was also an interest group bidding
// component to the overall auction which ran using the Protected Audience
// API . The value is expressed in CPM of the buyer account currency . The
// minimum bid to win for the overall auction , including bids from the
// server - side and the on - device interest group components , is populated in
// the minimum_bid_to_win field of the same BidFeedback object .
optional double sscminbidtowin = 14 ;
// Billable event rate multiplier that was applied to this bid during
// ranking . The adjustment reflects the likelihood that your bid would
// generate a billable event ( namely , the ad renders successfully ) if it won
// the auction , relative to the probability that other bids generate a
// billable event if they won the auction . This adjustment can be larger or
// smaller than 1. This affects the final ranking in the auction only ; in
// particular , this multiplier does not affect the payment or whether the
// bid clears any floor price .
optional float billable_event_rate_bid_adjustment = 13 [ default = 1 ];
// When a publisher uses an RTB auction and waterfall - based SDK mediation on
// the same query , the winner of the real - time auction must also compete in
// a mediation waterfall ( which is ordered by price ) to win the impression .
// If the bid participated in the auction and there was no waterfall , the
// value of this field is 0. If the bid participated in the auction and
// there was a waterfall , the value of this field is a price representing a
// sample bid from the eligible mediation networks that were higher than the
// auction winner , weighted by expected fill rate . This field can be used
// in conjunction with minimum_bid_to_win to train bidding models . The CPM
// is in your account currency .
optional double sampled_mediation_cpm_ahead_of_auction_winner = 8 ;
message EventNotificationToken {
// The contents of the token .
optional string payload = 1 ;
}
// The token included in the corresponding bid .
optional EventNotificationToken event_notification_token = 4 ;
// The creative ID included in the corresponding bid .
optional string buyer_creative_id = 5 ;
// Possible types of bid response feedback objects .
enum FeedbackType {
FEEDBACK_TYPE_UNSPECIFIED = 0 ;
// Feedback for a bid that was submitted on a bid response .
BID_FEEDBACK = 1 ;
// Feedback for an interest group buyer submitted on a bid response to
// particpate in an interest group bidding component of the auction run
// using the Protected Audience API .
INTEREST_GROUP_BUYER_FEEDBACK = 2 ;
}
// The type of the BidFeedback message . Google will send separate
// BidFeedback objects for :
// a ) Each bid submitted on a bid response
// b ) Each buyer submitted on a bid response to particpate in an interest
// group bidding component of the auction run using the Protected Audience
// API .
optional FeedbackType feedbacktype = 15 ;
// Origin of an interest group buyer that was included in the bid response .
// This field is populated only for feedback where a bidder opted in an
// interest group buyer to participate in the interest group bidding
// component of the overall auction run using the Protected Audience API .
// To learn more about origins , see https : // www . rfc - editor . org / rfc / rfc6454 .
// To learn more about interest group bidding and the Protected Audience
// API , see
// https : // developers . google . com / authorized - buyers / rtb / fledge - origin - trial .
optional string buyerorigin = 16 ;
// The status code for the submitted interest group buyer . This field is
// only populated in the feedback for an interest group buyer that a bidder
// requested to enter into the interest group auction through the bid
// response . Individual creative status codes of bids submitted by the buyer
// in the on - device interest group auction are not available . See
// https : // storage . googleapis . com / adx - rtb - dictionaries / interest - group - buyer - status - codes . txt
// for a list of interest group buyer status codes .
optional int32 igbuyerstatus = 17 ;
}
From this message, the first field you should check is
bid_feedback.creative_status_code
; you can find the code
meaning in
creative-status-codes.txt . Note that if you win the bid, you can opt out
from the price feedback. For more information, see How to
opt-out .
The real-time feedback includes the bid request ID and one of the
following:
Auction outcome
Real-time feedback
The buyer didn't submit a bid.
Nothing.
The buyer submitted a bid that was filtered out before reaching
the auction.
The creative status code (creative-status-codes.txt ).
The buyer submitted a bid but lost the auction.
The creative status code 79
(outbid in
auction).
The buyer submitted a bid that won the auction.
The clearing price and creative status code 1
.
For an app impression and a creative status code of 83
, the
app publisher could have been using a mediation waterfall and therefore the
winning bid would have competed against other demand in the publisher's
passback waterfall chain. Learn how to use
sampled_mediation_cpm_ahead_of_auction_winner
when
bidding .
Sample
The following is a sample of real-time feedback as seen in supported
protocols:
OpenRTB Protobuf
Show me the example
Serialized request
id : "01WjN3uc042XYP8Yw509Q7"
imp {
id : "1"
banner {
w : 344
h : 650
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 344
h : 650
}
format {
w : 300
h : 600
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.6.0"
instl : true
tagid : "7282514850"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "viewability"
value : 0.77
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 75441834964
publisher_settings_list_id : 9268043626392948934
publisher_settings_list_id : 2867966915706729060
allowed_vendor_type : 113
allowed_vendor_type : 41423
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 32
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
is_app_open_ad : true
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.46.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7120195540802809"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
url : "https://www.google.com"
userrating : "4.6"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "GHA"
type : IP
utcoffset : 0
accuracy : 8865
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9067654
}
}
make : "Itel"
model : "itel W6502"
os : "android"
osv : "10"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : true
w : 360
h : 722
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "itel W6502"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 660
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "IAB19-22"
bcat : "IAB23-1"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "4004C52Z6Z7Fa39Lf6F2AQ"
creative_status_code : 79
buyer_creative_id : "test_creative_id_129669"
minimum_bid_to_win : 0.1
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
Show me the example
{
"id" : "01WjN3uc042XYP8Yw509Q7" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 344 ,
"h" : 650 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 344 ,
"h" : 650
},
{
"w" : 300 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.6.0" ,
"instl" : 1 ,
"tagid" : "7282514850" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.77 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"75441834964"
],
"publisher_settings_list_id" : [
"9268043626392948934" ,
"2867966915706729060"
],
"allowed_vendor_type" : [
113 ,
41423
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
32 ,
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"is_app_open_ad" : 1 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.46.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7120195540802809" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.6" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GHA" ,
"type" : 2 ,
"utcoffset" : 0 ,
"accuracy" : 8865 ,
"ext" : {
"geo_criteria_id" : 9067654
}
},
"make" : "Itel" ,
"model" : "itel W6502" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"w" : 360 ,
"h" : 722 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "itel W6502" ,
"source" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 660
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB19-22" ,
"IAB23-1"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"bid_feedback" : [
{
"request_id" : "4004C52Z6Z7Fa39Lf6F2AQ" ,
"creative_status_code" : 79 ,
"buyer_creative_id" : "test_creative_id_129669" ,
"minimum_bid_to_win" : 0.1 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zbp8Gw-Mv43u3ni49Ena0i57E0789881P6YVa8jXDHq36B3fNk8me8F20GS6114onx7A" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "\334\225\241N\334P\373p\340\000\300C\327+\215\013\355Q\337\251Z\236g"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "es"
adslot {
id : 1
width : 320
height : 50
excluded_attribute : 19
excluded_attribute : 20
allowed_vendor_type : 42
allowed_vendor_type : 144
matching_ad_data {
billing_id : 58232806131
billing_id : 71082687953
minimum_cpm_micros : 1400000
}
matching_ad_data {
billing_id : 82776154517
billing_id : 59477532962
minimum_cpm_micros : 78750000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 7742701593
publisher_settings_list_id : 4723020262350940099
publisher_settings_list_id : 6354748437627634678
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability : 99
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
session_depth : 300
api : OMID_1
api : MRAID_1
omidpn : "Google"
omidpv : "afma-sdk-i-v10.14.0"
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds-iOS"
display_manager_version : "10.14.0"
}
is_test : false
timezone_offset : - 420
mobile {
app_id : "350328655"
is_app : true
is_mobile_web_optimized : true
encrypted_advertising_id : ",\271\302R\363\232\001NA\001\240D\"\032\001N\251+\271\000\3510\026)\356n\3733\214a\276\321P\202\205\033"
app_name : "Test App"
advertising_id : "^\274v\200\002\333u\227Y\304\343u\304\272\312\247"
skadn {
sourceapp : "350328655"
skadnetids : "6sZrk2l9"
skadnetids : "L60y296B"
versions : "2.0"
versions : "2.1"
supported_fidelity_types : STOREKIT_RENDERED_ADS
supported_fidelity_types : VIEW_THROUGH_ADS
}
}
postal_code : "10011"
geo_criteria_id : 9194140
bid_response_feedback {
request_id : "\177f\245p\252\347p\251\266\326S(\272\335\013\257"
creative_status_code : 80
event_notification_token : "token"
buyer_creative_id : "test_creative_id_923023"
minimum_bid_to_win : 3750000
feedback_type : BID_FEEDBACK
}
bid_response_feedback {
request_id : "6\374\201J\0355\275\014\335\270\202\307\261\253I\247"
creative_status_code : 80
event_notification_token : "token"
buyer_creative_id : "test_creative_id_923023"
minimum_bid_to_win : 570000
feedback_type : BID_FEEDBACK
}
publisher_type : PUBLISHER_OWNED_AND_OPERATED
device {
device_type : HIGHEND_PHONE
platform : "iphone"
brand : "Apple"
model : "iPhone14,5"
os_version {
major : 17
minor : 6
micro : 1
}
carrier_id : 0
screen_width : 390
screen_height : 844
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone14,5"
limit_ad_tracking : false
app_tracking_authorization_status : AUTHORIZED
connection_type : WIFI
}
publisher_country : "CA"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 300
google_query_id : "ANy-z73p95-804i3oEddT04Y8kl9v8C0D3k33ZDTAuc547f0v52955w82z36pq70wV1j5xKW"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "USA"
metro : "807"
city : "San Mateo"
zip : "94401"
utcoffset : - 420
accuracy : 997
}
user_agent_data {
platform {
brand : "iPhone"
version : "17"
version : "6"
}
mobile : true
model : "iPhone"
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
bitness : "64"
source : USER_AGENT_STRING
}
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
session_duration_seconds : 411
Build a bidding model for first-price auctions
After placing a bid in a first-price auction, you will receive real-time
feedback including the minimum_bid_to_win
and
sampled_mediation_cpm_ahead_of_auction_winner
fields if the bid
was not filtered from the auction. These signals can be used to inform your
bidding logic on how much higher or lower your bid could have been in order to
win the impression.
minimum_bid_to_win
: The minimum bid that could have been
placed to win the real-time bidding auction. If you won the auction, this will
be the lowest bid you could have placed while still winning. If you lost the
auction, this will be the winning bid.
sampled_mediation_cpm_ahead_of_auction_winner
: If there are
other networks in the mediation chain , the
value of this field is a price representing a sample bid from one of the
eligible mediation networks that were higher than the auction winner, weighted
by expected fill rate. This will be set to 0 if none of the networks in the
mediation chain are expected to fill, or if the publisher does not use SDK
mediation.
How it works
In order to describe the calculations used to determine the possible values
for minimum_bid_to_win
and
sampled_mediation_cpm_ahead_of_auction_winner
, we first need to
define the following:
The following represents the CPMs in the mediation chain in descending order:
\[C_1, C_2, …, C_n\]
The following represents the corresponding fill rates for the CPMs in the
mediation chain:
\[f_1, f_2, …, f_n\]
The following is a function used to determine the expected CPM and its
probability from mediation chain element \(i\), based on the given fill
rate:
\(X_i = \{C_i\) with probability \(f_i\); \(0\) with probability \(1 - f_i\}\)
The final winning mediation chain will be:
\[\{C_1, C_2, …, C_K, W\}\]
where \(W\) is the winning bid, and \(C_K > W >= C_{K+1}\)
The reserve price, or floor, is denoted as \(F\).
The runner-up bid is denoted as \(R\).
Calculations for auction winner
Field
Calculation
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) with probability \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
For \(1 <= i <= K\).
Calculations for auction loser
Field
Calculation
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Assume a publisher uses both real-time bidding and an SDK mediation chain as
follows:
SDK Mediation Chain
Expected CPM
Fill Rate
Network 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Network 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Network 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Network 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Assume the following as the result of the RTB auction:
RTB Auction
CPM
Auction Winner (W)
$1.00
Auction Runner-UP (R)
$0.05
Reserve Price / Floor (F)
$0
Bid that won the auction
The following is an example of how values and probabilities for
minimum_bid_to_win
and
sampled_mediation_cpm_ahead_of_auction_winner
are calculated for a
bid that won.
minimum_bid_to_win
Probability
\(max(F, R, C_3) = $0.50\)
\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)
\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)
\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)
\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
Note: If the auction winner serves their ad and receives a
billing notification—for example, through an endpoint specified in
BidResponse.seatbid[].bid[].burl
—the auction winner can deduce
that neither of the sampled mediation CPMs ended up filling, and can include
how often this occurs into their model.
Bids that lost the auction
The following is an example of how values and probabilities for
minimum_bid_to_win
and
sampled_mediation_cpm_ahead_of_auction_winner
are calculated for a
bids that lost.
minimum_bid_to_win
Probability
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
Note: A
sampled_mediation_cpm_ahead_of_auction_winner
value of 0 indicates
that the real-time bidding auction won. In the above example, the auction
winner is expected to not outbid by a competing mediation network 52.2% of the
time.
Bid flattening
Bid flattening describes the processing of a single complex
BidRequest
into multiple bid requests that are sent to your
application. When a bid request is flattened, you can tell which bid requests
were part of the original because they will have an identical value in the
BidRequest.ext.google_query_id
field.
Bid flattening is enabled by default, but you can contact your account
manager if you would prefer to disable it.
Some ad opportunities can accept multiple formats. With bid flattening, each
format is sent in a distinct bid request where attributes such as eligible
billing IDs are relevant to the format specified in the request.
Bid requests containing the following formats will be flattened into
distinct bid requests:
Banner
Video
Audio
Native
Below is an example showing a simplified OpenRTB JSON bid request without ad
format flattening in comparison to an equivalent set of flatenned requests:
Pre-flatten
Show me the example
{
"id": "V5ar1wXqKP58nbsyJ6549D",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
},
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
47039494050,
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
Post-flatten
Show me the example
Request 1
{
"id": "B3xr1yZqRL48nbsyJ6367N",
"imp": [
{
"id": "1",
"video": {
"linearity": 1,
"w": 300,
"h": 250,
"pos": 1,
"skip": 1,
"playbackmethod": [
6
],
"placement": 3,
"mimes": [
"video/mp4"
],
"protocols": [
2,
3
]
}
"ext": {
"billing_id": [
47039494050
]
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
Request 2
{
"id": "M1dY8qHyNK74bMsjF393Gf",
"imp": [
{
"id": "1",
"banner": {
"format": [
{
"w": 300,
"h": 250
}
],
"w": 300,
"h": 250,
"pos": 1
},
"ext": {
"billing_id": [
52030317241
]
}
}
],
"ext": {
"google_query_id": "ANy-zdp266-244itJsom3dmXb7SvW1IPg6478g639g0867v1126w630F3M7lAp640H666744"
}
}
Deals
An ad opportunity for a given bidder can be applicable to various deal
types, in addition to the open auction. With bid flattening for deals, one bid
request will be sent for the open auction, and one for each type of fixed-price
deal. In practice, ad constraints can differ between auctions and fixed-price
deal types, for example, for a given video ad opportunity that is available to
both the open auction and a fixed-price deal, a bidder will receive distinct
bid requests for each where constraints such as maximum ad duration and whether
skippable ads are allowed can differ. As a result, flattening applied to the ad
opportunity lets you more easily discern the ad constraints for the open
auction and the fixed-price deal.
Note: Private Auctions and Auction Packages will have identical
constraints to the open auction, and will continue to be included in open
auction bid requests.
Max skippable video duration
Google's protocol and OpenRTB implementation support the following fields
for video duration and skipability:
Duration
Skippable duration
Skipability
Google protocol
max_ad_duration
skippable_max_ad_duration
video_ad_skippable
OpenRTB
maxduration
n/a
skip
This means that while the Google protocol can have a granular skippable
and non-skippable duration, the OpenRTB implementation only has a single
maximum duration value.
Prior to bid flattening, OpenRTB's maxduration
would be set to
the lower of the Google protocol's max_ad_duration
and
skippable_max_ad_duration
fields. This behavior has now changed to
sending two separate bid requests when these values differ: one representing
the maxduration
for skippable and the other for non-skippable
opportunities.
The following examples show how a Google protocol request translates
to OpenRTB before and after bid flattening. The equivalent Google protocol
request has a max_ad_duration
of 15
and a
skippable_max_ad_duration
of 60
.
Example
max_ad_duration
skip
(true OR false)
Original request without flattening
15
true
Flattened request #1: Non-skippable
15
false
Flattened request #2: Skippable
60
true
Skippable video duration bid request flattening will only take place when
these conditions are met:
The request allows video.
Both skip and no-skip videos are allowed, and the two respective max
durations differ in value.
This request is Private Auction or Open Auction-eligible.
The bidder account has active OpenRTB endpoints.
You can opt out from this type of flattening by contacting your technical
account manager.
Video pods
Bid requests for a video pod with multiple ad opportunities are flattened,
such that each bid request is for an individual ad opportunity from that pod.
This enables you to bid on multiple ad opportunities for a given pod.
Open Measurement
Open Measurement lets you specify third-party vendors that provide
independent measurement and verification services for ads served to mobile app
environments.
You can determine whether a publisher supports Open Measurement in the bid
request by checking whether the ad opportunity excludes the OmsdkType:
OMSDK 1.0
attribute found in Publisher-excludable
creative attributes . This would be found under the battr
attribute for Banner
or Video , depending
on the format.
For more information on how to interpret bid requests containing Open
Measurement signals, refer to the Open Measurement
SDK Help Center article.
Sample bid requests
The following sections show sample bid requests for different ad types.
Note: The Protobuf samples include download links to similar
serialized bid requests. They are not guaranteed to be identical.
App banner
OpenRTB Protobuf
Show me the example
Serialized request
id : "8361O9Ep6E42p52Hu6v18o"
imp {
id : "1"
banner {
w : 300
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 390
hmax : 61
wmin : 261
hmin : 46
format {
w : 300
h : 50
}
format {
w : 390
h : 61
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 261
wmax : 390
hmin : 46
hmax : 61
}
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.2.0"
tagid : "5609900911"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0028797138947993517
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.92
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 70614819650
publisher_settings_list_id : 3994817494897795207
publisher_settings_list_id : 8449380548613820850
allowed_vendor_type : 550
allowed_vendor_type : 79
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "Y8HK1z22"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 0.9408176
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "4.6.3"
bundle : "com.google.testapp"
publisher {
id : "pub-2905535032168301"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-13"
type : IP
utcoffset : 540
accuracy : 26487
[ com . google . doubleclick . geo ] {
geo_criteria_id : 20636
}
}
carrier : "70002"
make : "Apple"
model : "iPhone13,2"
os : "iOS"
osv : "16.1.1"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : true
hwv : "iPhone13,2"
w : 390
h : 844
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "16"
version : "1"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 61
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
bcat : "IAB14-1"
bcat : "IAB7-39"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v11.2.0"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z60259-oh0d8s5Z26f34EZa77T0p62zWhI2939jRL32216xlr9483rnAC6t07lL0ky4q"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
Show me the example
{
"id" : "8361O9Ep6E42p52Hu6v18o" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 390 ,
"hmax" : 61 ,
"wmin" : 261 ,
"hmin" : 46 ,
"format" : [
{
"w" : 300 ,
"h" : 50
},
{
"w" : 390 ,
"h" : 61
}
],
"ext" : {
"flexslot" : {
"wmin" : 261 ,
"wmax" : 390 ,
"hmin" : 46 ,
"hmax" : 61
}
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.2.0" ,
"tagid" : "5609900911" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0028797138947993517 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.92 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"70614819650"
],
"publisher_settings_list_id" : [
"3994817494897795207" ,
"8449380548613820850"
],
"allowed_vendor_type" : [
550 ,
79
],
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"Y8HK1z22"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 0.9408176 ,
"creative_type" : 1
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.6.3" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2905535032168301" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-13" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 26487 ,
"ext" : {
"geo_criteria_id" : 20636
}
},
"carrier" : "70002" ,
"make" : "Apple" ,
"model" : "iPhone13,2" ,
"os" : "iOS" ,
"osv" : "16.1.1" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"hwv" : "iPhone13,2" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"16" ,
"1"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 61
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB14-1" ,
"IAB7-39"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.2.0" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z60259-oh0d8s5Z26f34EZa77T0p62zWhI2939jRL32216xlr9483rnAC6t07lL0ky4q" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "%\360\313c\223\244&\242H\313\345\032T\223^\3325p;e\320\275\333"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "en"
adslot {
id : 1
width : 300
width : 250
height : 250
height : 250
excluded_attribute : 14
excluded_attribute : 30
allowed_vendor_type : 566
allowed_vendor_type : 113
excluded_sensitive_category : 36
excluded_sensitive_category : 31
matching_ad_data {
billing_id : 99718422589
minimum_cpm_micros : 40000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 1885999125
publisher_settings_list_id : 3855970278395809335
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability : 79
click_through_rate : 0.00562083
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
api : OMID_1
api : MRAID_1
omidpn : "Google"
omidpv : "afma-sdk-i-v11.3.0"
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
billable_event_rate_bid_adjustment {
bid_adjustment : 1.0
creative_type : HTML_SNIPPET
}
excluded_app_ids : "1359763701"
excluded_app_ids : "367003839"
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds-iOS"
display_manager_version : "11.3.0"
}
is_test : false
timezone_offset : 330
mobile {
app_id : "195751234"
is_app : true
is_mobile_web_optimized : true
app_name : "Test App"
skadn {
sourceapp : "195751234"
skadnetids : "DofiF4X5"
versions : "2.0"
versions : "2.1"
supported_fidelity_types : VIEW_THROUGH_ADS
supported_fidelity_types : STOREKIT_RENDERED_ADS
}
}
geo_criteria_id : 1007776
publisher_settings_list_id : 8761862033459127079
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 9618759969316406640
device {
device_type : HIGHEND_PHONE
platform : "iphone"
brand : "Apple"
model : "iPhone15,3"
os_version {
major : 18
minor : 0
}
carrier_id : 0
screen_width : 430
screen_height : 932
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone15,3"
limit_ad_tracking : true
app_tracking_authorization_status : DENIED
connection_type : CELL_4G
}
publisher_country : "SG"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 1000
google_query_id : "ANy-z77R39-62EWf097071AiV91giun09eX9bwHu5TL506725r73P656pqL7A344LmT9485F"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "IND"
region : "IN-KL"
city : "Cochin"
utcoffset : 330
accuracy : 11461
}
user_agent_data {
platform {
brand : "iPhone"
version : "18"
version : "0"
}
mobile : true
model : "iPhone"
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
bitness : "64"
source : USER_AGENT_STRING
}
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
session_duration_seconds : 660
App interstitial
OpenRTB Protobuf
Show me the example
Serialized request
id : "27q8F4ja125b5Ay5Lg5I8Y"
imp {
id : "1"
banner {
w : 368
h : 740
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 368
h : 740
}
format {
w : 300
h : 600
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "21.5.0"
instl : true
tagid : "7072441745"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 14400
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.026930272579193115
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.82
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 14443955188
publisher_settings_list_id : 7634109184153514733
publisher_settings_list_id : 4552400977800686866
allowed_vendor_type : 4374
allowed_vendor_type : 4651
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
is_app_open_ad : true
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "9.1.6"
bundle : "com.google.testapp"
publisher {
id : "pub-8897222327395144"
[ com . google . doubleclick . publisher ] {
country : "TH"
}
}
content {
url : "https://www.google.com"
userrating : "4.7"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "IND"
region : "IN-OR"
zip : "751024"
type : IP
utcoffset : 330
accuracy : 5126
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9149991
}
}
ipv6 : "2401:4900:3da4::"
carrier : "70210"
make : "Samsung"
model : "SM-A705GM"
os : "android"
osv : "11"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
lmt : true
w : 384
h : 812
pxratio : 2.813
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "11"
}
mobile : true
model : "SM-A705GM"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
session_id : "LFcNok-qRI2ea_Z5FPgRiA"
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 89
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
bcat : "IAB23-3"
bcat : "IAB23-4"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243220999.224400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z7C179-E2Rj2VZOiHt5vMyI25Z3W94Lk71Tbz95m005IfNm8OP88j46C27ovLV5yV57m"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
Show me the example
{
"id" : "27q8F4ja125b5Ay5Lg5I8Y" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 368 ,
"h" : 740 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 368 ,
"h" : 740
},
{
"w" : 300 ,
"h" : 600
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "21.5.0" ,
"instl" : 1 ,
"tagid" : "7072441745" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 14400 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.026930272579193115 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.82 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"14443955188"
],
"publisher_settings_list_id" : [
"7634109184153514733" ,
"4552400977800686866"
],
"allowed_vendor_type" : [
4374 ,
4651
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"is_app_open_ad" : 1 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "9.1.6" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8897222327395144" ,
"ext" : {
"country" : "TH"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.7" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "IND" ,
"region" : "IN-OR" ,
"zip" : "751024" ,
"type" : 2 ,
"utcoffset" : 330 ,
"accuracy" : 5126 ,
"ext" : {
"geo_criteria_id" : 9149991
}
},
"ipv6" : "2401:4900:3da4::" ,
"carrier" : "70210" ,
"make" : "Samsung" ,
"model" : "SM-A705GM" ,
"os" : "android" ,
"osv" : "11" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"lmt" : 1 ,
"w" : 384 ,
"h" : 812 ,
"pxratio" : 2.813 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"11"
]
},
"mobile" : 1 ,
"model" : "SM-A705GM" ,
"source" : 3
},
"ext" : {
"session_id" : "LFcNok-qRI2ea_Z5FPgRiA"
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 89
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB23-3" ,
"IAB23-4"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243220999.224400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z7C179-E2Rj2VZOiHt5vMyI25Z3W94Lk71Tbz95m005IfNm8OP88j46C27ovLV5yV57m" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "\275\302\334\306\350\275\013\246\272\341\347:\001\261e\316\266A\345-\275KY"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "fa"
adslot {
id : 1
width : 756
width : 336
height : 384
height : 280
excluded_attribute : 27
excluded_attribute : 18
allowed_vendor_type : 414
allowed_vendor_type : 780
excluded_sensitive_category : 19
excluded_sensitive_category : 4
matching_ad_data {
billing_id : 12608068331
billing_id : 32735556853
minimum_cpm_micros : 530000
}
matching_ad_data {
billing_id : 57993817261
billing_id : 38977320457
minimum_cpm_micros : 220000
}
slot_visibility : ABOVE_THE_FOLD
excluded_product_category : 10137
excluded_product_category : 13314
ad_block_key : 9588004964
publisher_settings_list_id : 5660377215376132006
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability : 74
click_through_rate : 0.010888527
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
api : OMID_1
api : MRAID_1
omidpn : "Google"
omidpv : "afma-sdk-a-v243220999.241199000.1"
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds-Android"
display_manager_version : "23.1.0"
}
is_test : false
timezone_offset : 210
mobile {
app_id : "com.google.testapp"
is_app : true
is_interstitial_request : true
is_mobile_web_optimized : true
app_name : "Test App"
app_rating : 4.392222
}
geo_criteria_id : 2276
publisher_settings_list_id : 12210881757835437691
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 5268591861321003271
device {
device_type : HIGHEND_PHONE
platform : "android"
brand : "Samsung"
model : "SM-A546E"
os_version {
major : 14
}
carrier_id : 0
screen_width : 756
screen_height : 384
screen_pixel_ratio_millis : 2813
screen_orientation : LANDSCAPE
limit_ad_tracking : false
connection_type : CELL_4G
}
publisher_country : "GB"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 300
google_query_id : "ANy-zCczd2-28ZNY4j78b8024p1s4MJUg62G4F8H3P1YS544377wezcJVi4h3I9LB3y7yW80"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "DEU"
utcoffset : 210
accuracy : 346648
}
user_agent_data {
platform {
brand : "Android"
version : "14"
}
mobile : true
model : "SM-A546E"
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
bitness : "64"
source : USER_AGENT_STRING
}
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
ip : IP_REDACTED
user_agent : USER_AGENT_COARSE
non_personalized_ads_reason : PUBLISHER_DECLARED_NPA
allow_user_data_collection : false
}
inventory_partner_domain : "OMITTED"
navigation_type : NAVIGATION_TYPE_UNKNOWN
session_duration_seconds : 25
App interstitial video
OpenRTB Protobuf
Show me the example
Serialized request
id : "Z75GBa308fk6hn20L15573"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 600
w : 808
h : 393
startdelay : 0
playbackmethod : AUTO_PLAY_SOUND_ON
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : FLOATING_PLACEMENT
playbackend : COMPLETION_OR_USER
maxseq : 2
poddur : 30
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.7.0"
instl : true
tagid : "4967856214"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.1879923790693283
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.5191752910614014
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 11004606416
publisher_settings_list_id : 8773808361916105146
publisher_settings_list_id : 3073503389278955207
allowed_vendor_type : 39523
allowed_vendor_type : 237
is_rewarded_inventory : true
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "O5O88B57"
versions : "2.0"
versions : "2.1"
fidelities : VIEW_THROUGH_ADS
fidelities : STOREKIT_RENDERED_ADS
skoverlay : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "4.90.0"
bundle : "com.google.testapp"
publisher {
id : "pub-7879459471889169"
[ com . google . doubleclick . publisher ] {
country : "TR"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ar"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "SAU"
region : "SA-02"
city : "Jiddah"
type : IP
utcoffset : 180
accuracy : 25209
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1012089
}
}
ipv6 : "2001:16a4:253::"
make : "Apple"
model : "iPhone12,1"
os : "iOS"
osv : "17.4.1"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "cd6a5706-5a73-4ab8-a2bb-cd19244bf295"
lmt : false
hwv : "iPhone12,1"
w : 896
h : 414
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "17"
version : "4"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 3
}
}
user {
id : "19G1O820z9ay0DxfvVm89xd7Gbh"
[ com . google . doubleclick . user ] {
session {
}
idage : 2592000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "USD"
bcat : "IAB7-39"
bcat : "IAB14-1"
bapp : "372513032"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v11.7.0"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z8zAo9-0x39o5pDG1Y19AT868LK88gvsh49Y6357Sb40978n97j8nn75XXGGp19xFp5E"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
OpenRTB JSON
Show me the example
{
"id" : "Z75GBa308fk6hn20L15573" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 600 ,
"w" : 808 ,
"h" : 393 ,
"startdelay" : 0 ,
"playbackmethod" : [
1
],
"pos" : 7 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 30 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.7.0" ,
"instl" : 1 ,
"tagid" : "4967856214" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.1879923790693283 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.5191752910614014 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"11004606416"
],
"publisher_settings_list_id" : [
"8773808361916105146" ,
"3073503389278955207"
],
"allowed_vendor_type" : [
39523 ,
237
],
"is_rewarded_inventory" : 1 ,
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"O5O88B57"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
0 ,
1
],
"skoverlay" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.90.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7879459471889169" ,
"ext" : {
"country" : "TR"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ar"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "SAU" ,
"region" : "SA-02" ,
"city" : "Jiddah" ,
"type" : 2 ,
"utcoffset" : 180 ,
"accuracy" : 25209 ,
"ext" : {
"geo_criteria_id" : 1012089
}
},
"ipv6" : "2001:16a4:253::" ,
"make" : "Apple" ,
"model" : "iPhone12,1" ,
"os" : "iOS" ,
"osv" : "17.4.1" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "cd6a5706-5a73-4ab8-a2bb-cd19244bf295" ,
"lmt" : 0 ,
"hwv" : "iPhone12,1" ,
"w" : 896 ,
"h" : 414 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"17" ,
"4"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 3
}
},
"user" : {
"id" : "19G1O820z9ay0DxfvVm89xd7Gbh" ,
"ext" : {
"idage" : 2592000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB7-39" ,
"IAB14-1"
],
"bapp" : [
"372513032"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.7.0" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z8zAo9-0x39o5pDG1Y19AT868LK88gvsh49Y6357Sb40978n97j8nn75XXGGp19xFp5E" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "\r[\217Z\313$\317\325\226\261\321\1775\317O7#\003\232\315\322y\242"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "ja"
adslot {
id : 1
width : 393
width : 375
height : 734
height : 667
excluded_attribute : 17
excluded_attribute : 20
allowed_vendor_type : 38523
allowed_vendor_type : 797
matching_ad_data {
billing_id : 95400492935
minimum_cpm_micros : 1610000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 2826108213
publisher_settings_list_id : 4043976311652409571
viewability : 87
click_through_rate : 0.2761753
video_completion_rate : 0.43977627
is_rewarded : true
allowed_ad_types : ALLOWED_AD_TYPE_VIDEO
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
session_depth : 1
api : OMID_1
api : MRAID_1
omidpn : "Google"
omidpv : "afma-sdk-i-v9.14.0"
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds-iOS"
display_manager_version : "9.14.0"
}
is_test : false
cookie_version : 1
google_user_id : "502CF94564uk2a9qWk698927A00"
timezone_offset : 540
mobile {
app_id : "751592940"
is_app : true
is_interstitial_request : true
is_mobile_web_optimized : true
encrypted_advertising_id : "\371\014\274[\224\356\250D\210\224\023\2518\230P.\000\325j1\310\341\215i\336\2063\213a\276b\263\236\201\007n"
app_name : "Test App"
advertising_id : "}\372\006\246c\347\275s\243|\353\326\272\305\021|"
skadn {
sourceapp : "751592940"
skadnetids : "113tdmXM"
versions : "2.0"
versions : "2.1"
supported_fidelity_types : STOREKIT_RENDERED_ADS
supported_fidelity_types : VIEW_THROUGH_ADS
}
}
video {
videoad_start_delay : 0
video_ad_skippable : REQUIRE_SKIPPABLE
skippable_max_ad_duration : 600000
allowed_video_formats : VIDEO_MP4
max_ads_in_pod : 2
end_cap_support : END_CAP_OPTIONAL
playback_method : AUTO_PLAY_SOUND_ON
is_clickable : true
placement : INTERSTITIAL
protocols : VAST_2_0
protocols : VAST_3_0
is_livestream : false
playback_cessation_mode : COMPLETION_OR_USER
max_pod_duration_seconds : 30
plcmt : PLCMT_INTERSTITIAL
inferred_plcmt : PLCMT_INTERSTITIAL
}
cookie_age_seconds : 1987200
geo_criteria_id : 9198798
publisher_settings_list_id : 11747008975924952385
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 2681496334840881279
device {
device_type : HIGHEND_PHONE
platform : "iphone"
brand : "Apple"
model : "iPhone17,1"
os_version {
major : 18
minor : 0
micro : 1
}
carrier_id : 0
screen_width : 393
screen_height : 852
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone17,1"
limit_ad_tracking : false
app_tracking_authorization_status : AUTHORIZED
connection_type : WIFI
}
publisher_country : "JP"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 1000
google_query_id : "ANy-zFwQ7x-eW9k8bHJRKvLLM9e761HV19R7ov42ZD0Xgyt270Y690867s819cwM7RA163W7"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-34"
city : "Hiroshima"
utcoffset : 540
accuracy : 6105
}
user_agent_data {
platform {
brand : "iPhone"
version : "18"
version : "0"
}
mobile : true
model : "iPhone"
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
bitness : "64"
source : USER_AGENT_STRING
}
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
session_duration_seconds : 370
App native
OpenRTB Protobuf
Show me the example
Serialized request
id : "3rF2U7Feg24806GjUY2Lr5"
imp {
id : "1"
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
tagid : "3320317218"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
data {
type : SPONSORED
len : 25
}
}
assets {
id : 5
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 6
img {
type : LOGO
wmin : 100
hmin : 100
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.10741956532001495
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.58
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 29846056590
publisher_settings_list_id : 4793646945897060511
publisher_settings_list_id : 3704654811398966070
allowed_vendor_type : 780
allowed_vendor_type : 237
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.2858465
creative_type : NATIVE
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
bundle : "com.google.testapp"
publisher {
id : "pub-9497839363952914"
[ com . google . doubleclick . publisher ] {
country : "HK"
}
}
content {
url : "https://www.google.com"
userrating : "4.4"
livestream : false
language : "ar"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "EGY"
region : "EG-ALX"
city : "Alexandria"
type : IP
utcoffset : 180
accuracy : 2052
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9198011
}
}
make : "Xiaomi"
model : "M2006C3MG"
os : "android"
osv : "10"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
lmt : false
w : 360
h : 725
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "M2006C3MG"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 14
}
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243799999.232400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z2g135-A631Sj54M16BCG6dC277E40D9nL3r921i0k2974f1q051601623F0i9232692"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
non_personalized_ads_reason : USER_OPT_OUT
allow_user_data_collection : false
}
}
OpenRTB JSON
Show me the example
{
"id" : "3rF2U7Feg24806GjUY2Lr5" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"tagid" : "3320317218" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":6,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.10741956532001495 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.58 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"29846056590"
],
"publisher_settings_list_id" : [
"4793646945897060511" ,
"3704654811398966070"
],
"allowed_vendor_type" : [
780 ,
237
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.2858465 ,
"creative_type" : 3
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-9497839363952914" ,
"ext" : {
"country" : "HK"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.4" ,
"livestream" : 0 ,
"language" : "ar"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "EGY" ,
"region" : "EG-ALX" ,
"city" : "Alexandria" ,
"type" : 2 ,
"utcoffset" : 180 ,
"accuracy" : 2052 ,
"ext" : {
"geo_criteria_id" : 9198011
}
},
"make" : "Xiaomi" ,
"model" : "M2006C3MG" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 360 ,
"h" : 725 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "M2006C3MG" ,
"source" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 14
}
}
},
"at" : 1 ,
"tmax" : 300 ,
"cur" : [
"USD"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.232400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z2g135-A631Sj54M16BCG6dC277E40D9nL3r921i0k2974f1q051601623F0i9232692" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"non_personalized_ads_reason" : [
3
],
"allow_user_data_collection" : 0
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "\\>\313j\000>Rh\321\301\367[\212\'j\204\273/\242\304\231\221\335"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "ja"
adslot {
id : 1
excluded_attribute : 25
excluded_attribute : 34
allowed_vendor_type : 3
allowed_vendor_type : 42
excluded_sensitive_category : 36
excluded_sensitive_category : 4
matching_ad_data {
billing_id : 41106584355
billing_id : 30773030290
minimum_cpm_micros : 130000
}
slot_visibility : ABOVE_THE_FOLD
excluded_product_category : 10031
ad_block_key : 1332130058
publisher_settings_list_id : 8685019249309350543
publisher_settings_list_id : 9740837501405857020
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
viewability : 83
allowed_ad_types : ALLOWED_AD_TYPE_NATIVE
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
api : MRAID_1
api : MRAID_2
native_ad_template {
required_fields : 83
recommended_fields : 388
headline_max_safe_length : 25
body_max_safe_length : 90
call_to_action_max_safe_length : 15
image_width : 1200
image_height : 627
app_icon_width : 100
app_icon_height : 100
}
omidpn : "Google"
omidpv : "afma-sdk-i-v11.5.0"
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 14400
billable_event_rate_bid_adjustment {
bid_adjustment : 1.0
creative_type : NATIVE
}
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds-iOS"
display_manager_version : "11.5.0"
}
is_test : false
timezone_offset : 540
mobile {
app_id : "627009739"
is_app : true
is_mobile_web_optimized : true
app_name : "Test App"
skadn {
sourceapp : "627009739"
skadnetids : "l6x39K4z"
versions : "2.0"
versions : "2.1"
supported_fidelity_types : STOREKIT_RENDERED_ADS
supported_fidelity_types : VIEW_THROUGH_ADS
}
}
postal_code : "10011"
geo_criteria_id : 9161820
publisher_type : PUBLISHER_OWNED_AND_OPERATED
device {
device_type : HIGHEND_PHONE
platform : "iphone"
brand : "Apple"
model : "iPhone10,3"
os_version {
major : 16
minor : 7
micro : 10
}
carrier_id : 0
screen_width : 375
screen_height : 812
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone10,3"
limit_ad_tracking : true
app_tracking_authorization_status : RESTRICTED
connection_type : WIFI
}
publisher_country : "US"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 300
google_query_id : "ANy-zrk77i-KbW4i79W0c018hwPx3aS9rl10TU52SMd7Sv82r01g5O4D20sxKTj53Xrr9VK0"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-36"
zip : "771-0212"
utcoffset : 540
accuracy : 1031
}
user_agent_data {
platform {
brand : "iPhone"
version : "16"
version : "7"
}
mobile : true
model : "iPhone"
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
bitness : "64"
source : USER_AGENT_STRING
}
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
Web video
OpenRTB Protobuf
Show me the example
Serialized request
id : "474xe8G3edB9ZG60IaK880"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 250
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : OMID_1
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_ARTICLE_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "8378930064"
bidfloor : 0.19
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.0012572698760777712
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.62
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 47460168025
publisher_settings_list_id : 5764601004062573461
publisher_settings_list_id : 9583254202940413383
allowed_vendor_type : 3
allowed_vendor_type : 42
dfp_ad_unit_code : "/3049200/google/test"
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
allowed_restricted_category : 33
allowed_restricted_category : 32
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
livestream : false
producer {
}
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
inventorypartnerdomain : "OMITTED"
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "TX"
metro : "618"
city : "Houston"
zip : "77032"
type : IP
utcoffset : - 300
accuracy : 3682
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9027607
}
}
ipv6 : "2600:100d:b045::"
carrier : "70092"
make : "Samsung"
model : "sm-a037u"
os : "android"
osv : "13"
devicetype : HIGHEND_PHONE
lmt : false
w : 412
h : 915
pxratio : 1.75
sua {
browsers {
brand : "Google Chrome"
version : "129"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "8"
version : "0"
}
platform {
brand : "Android"
version : "13"
version : "0"
}
mobile : true
model : "SM-A037U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
buyeruid : "8cw7780874mg61q5MBecJyQ8hXIoYQPM"
customdata : "l7898Ufx682216u9F0WUQsxMFr1956dw76p8ZAdpwA3586Y2"
data {
segment {
id : "OMITTED"
}
segment {
id : "OMITTED"
}
[ com . google . doubleclick . data ] {
segtax : 601
}
}
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
eids {
source : "OMITTED"
uids {
id : "12JD92JD8078S8J29SDOAKC0EF230337"
}
}
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
regs {
gpp : "OMITTED"
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "V68ZT9H20868b1ze4z5rWa"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_175726"
minimum_bid_to_win : 8.62
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-z732H2-9Z57W2Ufp82238m3DQ5T47oEIDlSkITGYWkX1CgL2VPch1wbeQV6kb1631u7h"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
OpenRTB JSON
Show me the example
{
"id" : "474xe8G3edB9ZG60IaK880" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 250 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
7
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "8378930064" ,
"bidfloor" : 0.19 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0012572698760777712 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.62 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"47460168025"
],
"publisher_settings_list_id" : [
"5764601004062573461" ,
"9583254202940413383"
],
"allowed_vendor_type" : [
3 ,
42
],
"dfp_ad_unit_code" : "/3049200/google/test" ,
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"allowed_restricted_category" : [
33 ,
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"inventorypartnerdomain" : "OMITTED" ,
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "TX" ,
"metro" : "618" ,
"city" : "Houston" ,
"zip" : "77032" ,
"type" : 2 ,
"utcoffset" : - 300 ,
"accuracy" : 3682 ,
"ext" : {
"geo_criteria_id" : 9027607
}
},
"ipv6" : "2600:100d:b045::" ,
"carrier" : "70092" ,
"make" : "Samsung" ,
"model" : "sm-a037u" ,
"os" : "android" ,
"osv" : "13" ,
"devicetype" : 4 ,
"lmt" : 0 ,
"w" : 412 ,
"h" : 915 ,
"pxratio" : 1.75 ,
"sua" : {
"browsers" : [
{
"brand" : "Google Chrome" ,
"version" : [
"129" ,
"0"
]
},
{
"brand" : "Not=A?Brand" ,
"version" : [
"8" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"13" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-A037U" ,
"source" : 2
}
},
"user" : {
"buyeruid" : "8cw7780874mg61q5MBecJyQ8hXIoYQPM" ,
"customdata" : "l7898Ufx682216u9F0WUQsxMFr1956dw76p8ZAdpwA3586Y2" ,
"data" : [
{
"segment" : [
{
"id" : "OMITTED"
},
{
"id" : "OMITTED"
}
],
"ext" : {
"segtax" : 601
}
}
],
"ext" : {
"eids" : [
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
},
{
"source" : "OMITTED" ,
"uids" : [
{
"id" : "12JD92JD8078S8J29SDOAKC0EF230337"
}
]
}
]
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"regs" : {
"gpp" : "OMITTED"
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"bid_feedback" : [
{
"request_id" : "V68ZT9H20868b1ze4z5rWa" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_175726" ,
"minimum_bid_to_win" : 8.62 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-z732H2-9Z57W2Ufp82238m3DQ5T47oEIDlSkITGYWkX1CgL2VPch1wbeQV6kb1631u7h" ,
"fcap_scope" : 1
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "J#\010\024\351\000\207\247\265\033\315\nA\251\257}\216\313\206\214\323\312\215"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "ja"
adslot {
id : 1
width : 1176
width : 480
height : 1046
height : 800
excluded_attribute : 7
excluded_attribute : 16
allowed_vendor_type : 4513
allowed_vendor_type : 485
excluded_sensitive_category : 36
excluded_sensitive_category : 31
matching_ad_data {
billing_id : 75752641104
billing_id : 20395399239
minimum_cpm_micros : 40000
}
matching_ad_data {
billing_id : 97958384088
billing_id : 56530052009
minimum_cpm_micros : 530000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 5888439717
publisher_settings_list_id : 4545709109957121468
allowed_restricted_category : 32
allowed_restricted_category : 33
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
iframing_state : UNKNOWN_IFRAME_STATE
viewability : 86
allowed_restricted_category_for_deals : 32
allowed_restricted_category_for_deals : 33
renderer : GOOGLE
is_rewarded : true
allowed_ad_types : ALLOWED_AD_TYPE_VIDEO
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
session_depth : 1
api : OMID_1
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
}
is_test : false
cookie_version : 1
google_user_id : "0bQri772Ba4h145n2m5dRK2e7IM"
timezone_offset : 540
mobile {
is_interstitial_request : true
}
video {
max_ad_duration : 30000
video_ad_skippable : BLOCK_SKIPPABLE
allowed_video_formats : VIDEO_MP4
end_cap_support : END_CAP_OPTIONAL
playback_method : CLICK_TO_PLAY
is_clickable : true
placement : INTERSTITIAL
protocols : VAST_2_0
protocols : VAST_3_0
playback_cessation_mode : COMPLETION_OR_USER
plcmt : PLCMT_INTERSTITIAL
inferred_plcmt : PLCMT_INTERSTITIAL
}
cookie_age_seconds : 57024000
hosted_match_data : "\207r9\204\322\022\324Ezf\263\305\373\3153\311\271i\305"
geo_criteria_id : 1009341
publisher_settings_list_id : 6038657471597087436
bid_response_feedback {
request_id : "\373\263!2t;\224C\363\372\224\220\376red"
creative_status_code : 79
event_notification_token : "token"
buyer_creative_id : "test_creative_id_378410"
minimum_bid_to_win : 114000000
feedback_type : BID_FEEDBACK
}
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 3153428956954513893
device {
device_type : PERSONAL_COMPUTER
platform : "Windows"
limit_ad_tracking : false
}
publisher_country : "JP"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 350
google_query_id : "ANy-zz9y8d-2p0141lC5k418ht4e0FOF2M06a40So6pmPJim2U4LWw2hERI5310mnf649802"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-14"
city : "Saiwai"
utcoffset : 540
accuracy : 1785
}
user_agent_data {
platform {
brand : "Windows"
version : "10"
version : "0"
}
mobile : false
architecture : "x86"
browsers {
brand : "Google Chrome"
version : "129"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "8"
version : "0"
}
bitness : "64"
source : CLIENT_HINTS_HIGH_ENTROPY
}
page_visibility : VISIBILITY_STATE_VISIBLE
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED"
Mobile web banner for exchange bidder
OpenRTB Protobuf
Show me the example
Serialized request
id : "W5rO389B0p836803G6tI3T"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
format {
w : 320
h : 100
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.1.0"
tagid : "3758755668"
bidfloor : 0.11
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.71
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 50962964480
dfp_ad_unit_code : "/5025729/google/test"
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "6.8.1"
bundle : "com.google.testapp"
publisher {
id : "pub-6120362493380457"
[ com . google . doubleclick . publisher ] {
country : "PL"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
language : "pl"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "POL"
region : "PL-MZ"
city : "Warsaw"
zip : "04"
type : IP
utcoffset : 120
accuracy : 2263
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9061066
}
}
carrier : "70872"
make : "Samsung"
model : "SM-A346B"
os : "android"
osv : "14"
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe"
lmt : false
w : 384
h : 758
pxratio : 2.813
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "SM-A346B"
source : USER_AGENT_STRING
}
}
user {
id : "a9S5d7s7r38o1q8ifv4U80GBxKA"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1215
consented_providers : 2567
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 464
}
idage : 25920000
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
regs {
gpp : "OMITTED"
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243799999.241199000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
}
OpenRTB JSON
Show me the example
{
"id" : "W5rO389B0p836803G6tI3T" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"expdir" : [
1 ,
2 ,
3 ,
4
],
"api" : [
3 ,
5
],
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 320 ,
"h" : 100
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "23.1.0" ,
"tagid" : "3758755668" ,
"bidfloor" : 0.11 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.71 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"50962964480"
],
"dfp_ad_unit_code" : "/5025729/google/test" ,
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 2
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.8.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-6120362493380457" ,
"ext" : {
"country" : "PL"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "pl"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "POL" ,
"region" : "PL-MZ" ,
"city" : "Warsaw" ,
"zip" : "04" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2263 ,
"ext" : {
"geo_criteria_id" : 9061066
}
},
"carrier" : "70872" ,
"make" : "Samsung" ,
"model" : "SM-A346B" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 6 ,
"devicetype" : 4 ,
"ifa" : "1f3ed9c7-e8d8-4cec-9167-2811375e2cbe" ,
"lmt" : 0 ,
"w" : 384 ,
"h" : 758 ,
"pxratio" : 2.813 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "SM-A346B" ,
"source" : 3
}
},
"user" : {
"id" : "a9S5d7s7r38o1q8ifv4U80GBxKA" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1215" ,
"2567"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 464
},
"idage" : 25920000
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"regs" : {
"gpp" : "OMITTED" ,
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.241199000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-z4luKF-u274F3WU34uUUoQ7E82k3L42z23v2K4T1k0eA7Rw8Xb6JeXDG6K703e88p491" ,
"fcap_scope" : 3
}
}
OpenRTB Protobuf
Show me the example
Serialized request
id : "o9j8MO3eW468670y7CVv1A"
imp {
id : "1"
banner {
w : 300
h : 250
pos : ABOVE_THE_FOLD
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
api : MRAID_1
api : MRAID_2
format {
w : 300
h : 250
}
format {
w : 320
h : 50
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 300
h : 250
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_FEED_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
embeddedoffsite : true
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
tagid : "6247365183"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 5
required : true
img {
type : ICON
wmin : 100
hmin : 100
}
}
assets {
id : 6
data {
type : RATING
len : 5
}
}
assets {
id : 7
data {
type : PRICE
len : 15
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "viewability"
value : 0.64
vendor : "EXCHANGE"
}
metric {
type : "session_depth"
value : 7.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 21221902373
billing_id : 53569531917
publisher_settings_list_id : 7651048085774412615
publisher_settings_list_id : 3305930710629093223
allowed_vendor_type : 3
allowed_vendor_type : 42
ampad : AMP_AD_NOT_ALLOWED
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.1452553
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App"
ver : "14.27.7"
bundle : "com.google.testapp"
publisher {
id : "pub-8822142511593237"
[ com . google . doubleclick . publisher ] {
country : "SE"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
producer {
}
language : "en"
}
storeurl : "https://www.google.com"
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED"
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "NGA"
region : "NG-LA"
city : "Lagos"
zip : "106104"
type : IP
utcoffset : 60
accuracy : 1559
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9198908
}
}
make : "Xiaomi"
model : "23129RAA4G"
os : "android"
osv : "14"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1"
lmt : false
w : 393
h : 792
pxratio : 2.75
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "14"
}
mobile : true
bitness : "64"
model : "23129RAA4G"
source : USER_AGENT_STRING
}
}
user {
id : "04X9BE2175274aL0C296l24WI68"
[ com . google . doubleclick . user ] {
session {
duration : 439
}
idage : 7776000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "USD"
cur : "EUR"
bcat : "IAB23-9"
bcat : "IAB14-1"
bapp : "com.ayoba.ayoba"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v243799999.232400000.1"
schain {
complete : 1
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : 1
}
ver : "1.0"
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : false
}
}
OpenRTB JSON
Show me the example
{
"id" : "o9j8MO3eW468670y7CVv1A" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 250 ,
"pos" : 1 ,
"battr" : [
6 ,
7
],
"api" : [
3 ,
5
],
"format" : [
{
"w" : 300 ,
"h" : 250
},
{
"w" : 320 ,
"h" : 50
}
]
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 300 ,
"h" : 250 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 4 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"tagid" : "6247365183" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"battr" : [
6 ,
7
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"required\":1,\"img\":{\"type\":1,\"wmin\":100,\"hmin\":100}},{\"id\":6,\"data\":{\"type\":3,\"len\":5}},{\"id\":7,\"data\":{\"type\":6,\"len\":15}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "viewability" ,
"value" : 0.64 ,
"vendor" : "EXCHANGE"
},
{
"type" : "session_depth" ,
"value" : 7.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"21221902373" ,
"53569531917"
],
"publisher_settings_list_id" : [
"7651048085774412615" ,
"3305930710629093223"
],
"allowed_vendor_type" : [
3 ,
42
],
"ampad" : 2 ,
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.1452553 ,
"creative_type" : 1
}
],
"ae" : 0
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "14.27.7" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8822142511593237" ,
"ext" : {
"country" : "SE"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com" ,
"ext" : {
"inventorypartnerdomain" : "OMITTED"
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "NGA" ,
"region" : "NG-LA" ,
"city" : "Lagos" ,
"zip" : "106104" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 1559 ,
"ext" : {
"geo_criteria_id" : 9198908
}
},
"make" : "Xiaomi" ,
"model" : "23129RAA4G" ,
"os" : "android" ,
"osv" : "14" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "94b6ef8c-99d8-4997-98d2-c2377bd7abd1" ,
"lmt" : 0 ,
"w" : 393 ,
"h" : 792 ,
"pxratio" : 2.75 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"14"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "23129RAA4G" ,
"source" : 3
}
},
"user" : {
"id" : "04X9BE2175274aL0C296l24WI68" ,
"ext" : {
"session" : {
"duration" : 439
},
"idage" : 7776000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"USD" ,
"EUR"
],
"bcat" : [
"IAB23-9" ,
"IAB14-1"
],
"bapp" : [
"com.ayoba.ayoba"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v243799999.232400000.1" ,
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
}
},
"ext" : {
"google_query_id" : "ANy-zM284h-2Q24Y9v315v54F50lLaqQ3hq549685jR3ack28k6J6Ko65F1aS73r197eM8zX" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 0
}
}
}
Google (Deprecated)
Show me the example
Serialized request
id : "\3213\327N\305\205|\363P-\002\271\321\255\2422a\336\344w\032\315\364"
ip : "\300\250"
user_agent : "OMITTED"
url : "https://www.google.com"
detected_language : "ko"
adslot {
id : 1
width : 336
width : 300
height : 280
height : 250
excluded_attribute : 16
excluded_attribute : 34
allowed_vendor_type : 3
allowed_vendor_type : 42
excluded_sensitive_category : 36
excluded_sensitive_category : 27
matching_ad_data {
billing_id : 46229095026
minimum_cpm_micros : 6000000
direct_deal {
direct_deal_id : 41020803
fixed_cpm_micros : 6000000
deal_type : AUCTION_PACKAGE
}
direct_deal {
direct_deal_id : 83063356
fixed_cpm_micros : 6000000
deal_type : AUCTION_PACKAGE
}
}
matching_ad_data {
billing_id : 97161713426
billing_id : 54565593373
minimum_cpm_micros : 60000
}
slot_visibility : BELOW_THE_FOLD
excluded_product_category : 10031
excluded_product_category : 10080
ad_block_key : 1676780364
publisher_settings_list_id : 4302366834898588447
publisher_settings_list_id : 5535773595467535705
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
iframing_state : UNKNOWN_IFRAME_STATE
viewability : 3
click_through_rate : 0.00045286646
renderer : GOOGLE
allowed_ad_types : ALLOWED_AD_TYPE_NATIVE
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
session_depth : 1
api : OMID_1
flexible_adslot_settings {
max_width : 412
max_height : 371
min_width : 300
min_height : 250
}
native_ad_template {
required_fields : 81
recommended_fields : 132
headline_max_safe_length : 25
body_max_safe_length : 90
call_to_action_max_safe_length : 15
image_width : 1200
image_height : 627
app_icon_width : 100
app_icon_height : 100
style_id : 188124
style_height : 250
style_width : 300
}
native_ad_template {
required_fields : 25
recommended_fields : 36
headline_max_safe_length : 90
body_max_safe_length : 90
call_to_action_max_safe_length : 15
advertiser_max_safe_length : 25
image_width : 1200
image_height : 627
logo_width : 100
logo_height : 100
style_id : 192343
style_height : 250
style_width : 300
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
impression_expiration_seconds : 3600
supported_auction_environment : SERVER_SIDE_AUCTION
}
is_test : false
cookie_version : 1
google_user_id : "s13Tq1N7711701GoYey29S07G4O"
timezone_offset : 540
mobile {
app_id : "com.google.testapp"
is_app : false
is_mobile_web_optimized : true
app_name : "Test App"
app_rating : 4.0387864
}
video {
video_ad_skippable : ALLOW_SKIPPABLE
allowed_video_formats : VIDEO_MP4
playback_method : INITIATE_ON_ENTERING_VIEWPORT_SOUND_OFF
is_clickable : true
placement : IN_ARTICLE
protocols : VAST_2_0
protocols : VAST_3_0
playback_cessation_mode : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
inferred_plcmt : PLCMT_NO_CONTENT_STANDALONE
}
cookie_age_seconds : 28512000
hosted_match_data : "\017\345\237\340\225\030\327\003\332\303-\t\267\244E\365*K\367"
geo_criteria_id : 9207704
publisher_type : PUBLISHER_OWNED_AND_OPERATED
device {
device_type : HIGHEND_PHONE
platform : "android"
brand : "Samsung"
model : "sm-n981n"
os_version {
major : 13
}
carrier_id : 0
screen_width : 412
screen_height : 915
screen_pixel_ratio_millis : 2625
screen_orientation : PORTRAIT
limit_ad_tracking : false
}
publisher_country : "KR"
publisher_id : "pub-1111111111111111"
response_deadline_ms : 350
google_query_id : "ANy-zPlGA9-Bn8zO1n4y6DiyW32gF8LE7901694954EJXoV4WF7nMGDL3Ao08pJ88w463SK6"
auction_type : FIRST_PRICE
geo {
lat : 0.0
lon : 0.0
country : "KOR"
region : "KR-29"
city : "Gwangju"
utcoffset : 540
accuracy : 3889
}
user_agent_data {
platform {
brand : "Android"
version : "13"
version : "0"
}
mobile : true
model : "SM-N981N"
browsers {
brand : "Chromium"
version : "130"
version : "0"
}
browsers {
brand : "Android WebView"
version : "130"
version : "0"
}
source : CLIENT_HINTS_HIGH_ENTROPY
}
page_visibility : VISIBILITY_STATE_VISIBLE
supply_chain {
complete : true
nodes {
advertising_system_identifier : "testdomain.com"
seller_identifier : "pub-1111111111111111"
handles_payment : true
}
version : "1.0"
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : false
}
inventory_partner_domain : "OMITTED"
navigation_type : NAVIGATION_TYPE_NAVIGATE