outlined_flag
Google's real-time bidding bid requests are sent as HTTP POST requests in OpenRTB JSON or Protobuf format, requiring parsing to access the BidRequest
object.
Processing bid requests involves parsing the request, identifying billing IDs, using dictionary files for identifiers, leveraging bidder URL macros, and understanding mobile app ID extraction and Open Bidding fields.
Real-time feedback on previous bids is available to Authorized Buyers and Open Bidding participants, including creative status, minimum bid to win, and sampled mediation CPMs for first-price auctions, aiding in bidding strategy improvement.
Bid flattening breaks down complex bid requests into simpler ones, sharing the same BidRequest.ext.google_query_id
and applied for opportunities with multiple ad formats, deals, varying video durations, and video pods.
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.
Parse request
Google sends a bid request serialized in either OpenRTB JSON or Protobuf
formats, attached as the payload of an HTTP POST request. The format received
depends on the configuration of your endpoint
. See Example bid request
for an example.
You must parse this request to receive the serialized BidRequest
. If you are using the Protobuf format, you must
download openrtb.proto
and openrtb-adx.proto
from the reference data
page, and use them to
generate a library that can be used to parse the BidRequest
message. 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 buyers
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.
imp {
ext {
// The billing IDs of all of your matching pretargeting configs and eligible child seats are
// stored in a flat list here.
billing_id: 123
billing_id: 456
billing_id: 789
}
pmp {
// All eligible deals are stored in a single flat list.
deal {
id: 1000
ext {
// The specific billing IDs eligible to bid on this deal are indicated here.
billing_id: 789
}
...
}
deal {
id: 2000
ext {
billing_id: 123
billing_id: 456
}
...
}
}
...
}
...
Determine blocked categories
When you place a bid, the included creative must not have detected categories that the publisher
blocked. Otherwise the bid is filtered from the auction.
You can find the blocked categories for an impression by reviewing the BidRequest.bcat
field, which is populated with categories in the taxonomy
configured for your account.
The following example shows blocked categories based on a configured ad category taxonomy:
IAB Content Taxonomy 1.0
// Bid request
{
// Indicates the blocked categories using IAB Content 1.0 Taxonomy.
"bcat"
:
[
"IAB9-9"
,
// Cigars
"IAB8-18"
// Wine
]
"imp"
:
{
...
}
}
Google Ad Category Taxonomy
// Bid request
{
// Indicates the blocked categories using Google Ad Category Taxonomy.
"bcat"
:
[
"10138"
,
// Cigar and tobacco collecting
"10080"
,
// Tobacco
"11649"
,
// Wine
"10674"
,
// Wine collecting
"13008"
// Wine clubs
]
"imp"
:
{
...
}
}
Important:
To determine which categories are detected for your
creatives, use the creatives
resource in the Real-time Bidding API. For details on
detected categories, see REST Resource: bidders.creatives
.
Dictionary files
The bid request uses identifiers defined in dictionary files, which are
available on the reference data
page.
Bidder URL macros
Optionally, some information from the BidRequest
can be
inserted into bidding endpoint URLs using macros. If you configure an endpoint
URL with one or more macros, they will be expanded if that information is
present in the bid request. This can be useful, for example, if you would like
to perform load balancing based on information in the BidRequest
.
Contact your account manager to request support for new macros.
Find mobile app ID from transaction URL
Mobile application transactions will report URLs that look like this:
mbapp gewtimrzgyytanjyg4888888 .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:
mbapp gewtgmjug4ytmmrtgm888888 .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:
mbapp MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .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:
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
:
"nz1Q895H43SP4ImxSmQa6b"
imp
{
id
:
"1"
banner
{
w
:
320
h
:
50
pos
:
ABOVE_THE_FOLD
api
:
MRAID_1
api
:
MRAID_2
wmax
:
339
hmax
:
53
wmin
:
227
hmin
:
40
format
{
w
:
320
h
:
50
}
format
{
w
:
300
h
:
50
}
[
com
.
google
.
doubleclick
.
banner_ext
]
{
flexslot
{
wmin
:
227
wmax
:
339
hmin
:
40
hmax
:
53
}
}
}
displaymanager
:
"GoogleMobileAds-Android"
displaymanagerver
:
"23.4.0"
tagid
:
"1493802015"
bidfloor
:
73.7217929849032
bidfloorcur
:
"JPY"
secure
:
true
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.0008632762474007905
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
1.0
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
86548870602
billing_id
:
64050817605
publisher_settings_list_id
:
1919771331799042254
publisher_settings_list_id
:
8607682056454820141
allowed_vendor_type
:
0
allowed_vendor_type
:
9723
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
:
33
allowed_restricted_category
:
32
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
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
ver
:
"1.2.15"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-2021944733829074"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"SG"
}
}
content
{
url
:
"https://www.google.com"
userrating
:
"4.9"
livestream
:
false
language
:
"sv"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
ip
:
"192.168.1.0"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"SWE"
region
:
"SE-O"
city
:
"Stenungsund"
zip
:
"472 31"
type
:
IP
utcoffset
:
120
accuracy
:
2913
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
1012566
}
}
make
:
"Samsung"
model
:
"SM-A546B"
os
:
"android"
osv
:
"15"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
ifa
:
"bc49e134-7f3b-4282-928e-5ffa35e1047f"
w
:
339
h
:
735
pxratio
:
3.188
sua
{
browsers
{
brand
:
"Mozilla"
version
:
"5"
version
:
"0"
}
browsers
{
brand
:
"AppleWebKit"
version
:
"537"
version
:
"36"
}
platform
{
brand
:
"Android"
version
:
"15"
}
mobile
:
true
bitness
:
"64"
model
:
"SM-A546B"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
metereddata
:
false
chargelevel
:
0.97
charging
:
false
diskspace
:
12800
audioout
:
AUDIO_SILENT
}
}
user
{
id
:
"1E085g86030JZxtR8SO7g147Ygt"
consent
:
"OMITTED"
[
com
.
google
.
doubleclick
.
user
]
{
consented_providers_settings
{
consented_providers
:
2415
consented_providers
:
723
additional_consent
:
"OMITTED"
}
consent
:
"OMITTED"
session
{
duration
:
1080
depth
:
610
requestssinceappopen
:
1871
priorclicks
:
0
}
idage
:
10368000
}
}
at
:
FIRST_PRICE
tmax
:
1000
cur
:
"JPY"
cur
:
"GBP"
bcat
:
"5"
bcat
:
"31"
regs
{
[
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-v251815999.243220000.1"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"nz1Q895H43SP4ImxSmQa6b"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
320
,
"h"
:
50
,
"pos"
:
1
,
"api"
:
[
3
,
5
],
"wmax"
:
339
,
"hmax"
:
53
,
"wmin"
:
227
,
"hmin"
:
40
,
"format"
:
[
{
"w"
:
320
,
"h"
:
50
},
{
"w"
:
300
,
"h"
:
50
}
],
"ext"
:
{
"flexslot"
:
{
"wmin"
:
227
,
"wmax"
:
339
,
"hmin"
:
40
,
"hmax"
:
53
}
}
},
"displaymanager"
:
"GoogleMobileAds-Android"
,
"displaymanagerver"
:
"23.4.0"
,
"tagid"
:
"1493802015"
,
"bidfloor"
:
73.7217929849032
,
"bidfloorcur"
:
"JPY"
,
"secure"
:
1
,
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.0008632762474007905
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
1.0
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"86548870602"
,
"64050817605"
],
"publisher_settings_list_id"
:
[
"1919771331799042254"
,
"8607682056454820141"
],
"allowed_vendor_type"
:
[
0
,
9723
],
"ampad"
:
2
,
"excluded_creatives"
:
[
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category"
:
[
33
,
32
],
"creative_enforcement_settings"
:
{
"policy_enforcement"
:
2
,
"publisher_blocks_enforcement"
:
1
},
"auction_environment"
:
0
,
"ae"
:
0
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"ver"
:
"1.2.15"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-2021944733829074"
,
"ext"
:
{
"country"
:
"SG"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"userrating"
:
"4.9"
,
"livestream"
:
0
,
"language"
:
"sv"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"ip"
:
"192.168.1.0"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"SWE"
,
"region"
:
"SE-O"
,
"city"
:
"Stenungsund"
,
"zip"
:
"472 31"
,
"type"
:
2
,
"utcoffset"
:
120
,
"accuracy"
:
2913
,
"ext"
:
{
"geo_criteria_id"
:
1012566
}
},
"make"
:
"Samsung"
,
"model"
:
"SM-A546B"
,
"os"
:
"android"
,
"osv"
:
"15"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"ifa"
:
"bc49e134-7f3b-4282-928e-5ffa35e1047f"
,
"w"
:
339
,
"h"
:
735
,
"pxratio"
:
3.188
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"537"
,
"36"
]
}
],
"platform"
:
{
"brand"
:
"Android"
,
"version"
:
[
"15"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"SM-A546B"
,
"source"
:
3
},
"ext"
:
{
"metereddata"
:
0
,
"chargelevel"
:
0.97
,
"charging"
:
0
,
"diskspace"
:
12800
,
"audioout"
:
3
}
},
"user"
:
{
"id"
:
"1E085g86030JZxtR8SO7g147Ygt"
,
"consent"
:
"OMITTED"
,
"ext"
:
{
"consented_providers_settings"
:
{
"consented_providers"
:
[
"2415"
,
"723"
],
"additional_consent"
:
"OMITTED"
},
"consent"
:
"OMITTED"
,
"session"
:
{
"duration"
:
1080
,
"depth"
:
610
,
"requestssinceappopen"
:
1871
,
"priorclicks"
:
0
},
"idage"
:
10368000
}
},
"at"
:
1
,
"tmax"
:
1000
,
"cur"
:
[
"JPY"
,
"GBP"
],
"bcat"
:
[
"5"
,
"31"
],
"regs"
:
{
"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-v251815999.243220000.1"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37"
,
"fcap_scope"
:
3
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
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.
Real-time feedback populates BidRequest.ext.bid_feedback
based
on the outcome of one or more bids you placed earlier, and can be used to find
details such as whether the bid won the auction, or the minimum bid needed to
have won the auction. Contact your account manager to enable real-time
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 the OpenRTB Extensions Protocol Buffer file
.
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
;
//
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
;
}
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:
Sample
The following is a sample of real-time feedback as seen in supported
protocols:
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"19pl46RcGu32W09d2H1q80"
imp
{
id
:
"1"
banner
{
w
:
200
h
:
200
pos
:
ABOVE_THE_FOLD
api
:
MRAID_1
api
:
MRAID_2
format
{
w
:
200
h
:
200
}
format
{
w
:
300
h
:
250
}
}
video
{
mimes
:
"video/mp4"
linearity
:
LINEAR
maxduration
:
60
w
:
300
h
:
250
startdelay
:
0
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
}
}
displaymanager
:
"GoogleMobileAds-Android"
displaymanagerver
:
"23.3.0"
tagid
:
"4530488526"
bidfloor
:
27.72425931505949
bidfloorcur
:
"JPY"
secure
:
true
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.008391381241381168
vendor
:
"EXCHANGE"
}
metric
{
type
:
"video_completion_rate"
value
:
0.009718560613691807
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
85893299877
billing_id
:
60049223504
publisher_settings_list_id
:
9909889017109496788
publisher_settings_list_id
:
2943173989636397861
allowed_vendor_type
:
0
allowed_vendor_type
:
39523
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
ae
:
SERVER_SIDE_AUCTION
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
ver
:
"2.7.40.26"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-8704859943243339"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"SG"
}
}
content
{
url
:
"https://www.google.com"
userrating
:
"4.5"
livestream
:
false
language
:
"en"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
ip
:
"192.168.1.0"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"IND"
city
:
"Hyderabad"
type
:
IP
utcoffset
:
330
accuracy
:
19212
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
1007740
}
}
make
:
"Realme"
model
:
"RMX3241"
os
:
"android"
osv
:
"13"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
ifa
:
"fb42f237-08ec-4d91-ab96-1e1c83cc2af1"
w
:
360
h
:
716
pxratio
:
3.0
sua
{
browsers
{
brand
:
"Mozilla"
version
:
"5"
version
:
"0"
}
browsers
{
brand
:
"AppleWebKit"
version
:
"537"
version
:
"36"
}
platform
{
brand
:
"Android"
version
:
"13"
}
mobile
:
true
bitness
:
"64"
model
:
"RMX3241"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
metereddata
:
false
chargelevel
:
0.23
charging
:
false
diskspace
:
15700
audioout
:
AUDIO_SILENT
}
}
user
{
id
:
"Q735u4sSGK5Y0N819k25O0Vv6I7"
[
com
.
google
.
doubleclick
.
user
]
{
session
{
duration
:
2
depth
:
11
requestssinceappopen
:
11
priorclicks
:
0
}
idage
:
25920000
}
}
at
:
FIRST_PRICE
tmax
:
2000
cur
:
"INR"
cur
:
"JPY"
bcat
:
"32"
bcat
:
"33"
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-v251815999.242402000.1"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
bid_feedback
{
request_id
:
"3265hT3M9Uq7370Ou263Zp"
creative_status_code
:
80
event_notification_token
{
payload
:
"token"
}
buyer_creative_id
:
"test_creative_id_122439"
minimum_bid_to_win
:
5.93
feedbacktype
:
BID_FEEDBACK
}
bid_feedback
{
request_id
:
"9024plcR9E3N4T0vb0y13c"
creative_status_code
:
80
event_notification_token
{
payload
:
"token"
}
buyer_creative_id
:
"test_creative_id_122439"
minimum_bid_to_win
:
175.0
feedbacktype
:
BID_FEEDBACK
}
google_query_id
:
"ANy-z44alu-814Bakx696mrux1VsUu39Ob428vb0B2H4HD8ADAlLE6mkm17zq511d81N0Gf0"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"19pl46RcGu32W09d2H1q80"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
200
,
"h"
:
200
,
"pos"
:
1
,
"api"
:
[
3
,
5
],
"format"
:
[
{
"w"
:
200
,
"h"
:
200
},
{
"w"
:
300
,
"h"
:
250
}
]
},
"video"
:
{
"mimes"
:
[
"video/mp4"
],
"linearity"
:
1
,
"maxduration"
:
60
,
"w"
:
300
,
"h"
:
250
,
"startdelay"
:
0
,
"playbackmethod"
:
[
6
],
"pos"
:
1
,
"api"
:
[
3
,
5
],
"protocols"
:
[
2
,
3
],
"skip"
:
1
,
"placement"
:
4
,
"playbackend"
:
2
,
"plcmt"
:
4
,
"ext"
:
{
"inferredplcmt"
:
4
}
},
"displaymanager"
:
"GoogleMobileAds-Android"
,
"displaymanagerver"
:
"23.3.0"
,
"tagid"
:
"4530488526"
,
"bidfloor"
:
27.72425931505949
,
"bidfloorcur"
:
"JPY"
,
"secure"
:
1
,
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.008391381241381168
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"video_completion_rate"
,
"value"
:
0.009718560613691807
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"85893299877"
,
"60049223504"
],
"publisher_settings_list_id"
:
[
"9909889017109496788"
,
"2943173989636397861"
],
"allowed_vendor_type"
:
[
0
,
39523
],
"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
,
"ae"
:
0
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"ver"
:
"2.7.40.26"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-8704859943243339"
,
"ext"
:
{
"country"
:
"SG"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"userrating"
:
"4.5"
,
"livestream"
:
0
,
"language"
:
"en"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"ip"
:
"192.168.1.0"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"IND"
,
"city"
:
"Hyderabad"
,
"type"
:
2
,
"utcoffset"
:
330
,
"accuracy"
:
19212
,
"ext"
:
{
"geo_criteria_id"
:
1007740
}
},
"make"
:
"Realme"
,
"model"
:
"RMX3241"
,
"os"
:
"android"
,
"osv"
:
"13"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"ifa"
:
"fb42f237-08ec-4d91-ab96-1e1c83cc2af1"
,
"w"
:
360
,
"h"
:
716
,
"pxratio"
:
3.0
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"537"
,
"36"
]
}
],
"platform"
:
{
"brand"
:
"Android"
,
"version"
:
[
"13"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"RMX3241"
,
"source"
:
3
},
"ext"
:
{
"metereddata"
:
0
,
"chargelevel"
:
0.23
,
"charging"
:
0
,
"diskspace"
:
15700
,
"audioout"
:
3
}
},
"user"
:
{
"id"
:
"Q735u4sSGK5Y0N819k25O0Vv6I7"
,
"ext"
:
{
"session"
:
{
"duration"
:
2
,
"depth"
:
11
,
"requestssinceappopen"
:
11
,
"priorclicks"
:
0
},
"idage"
:
25920000
}
},
"at"
:
1
,
"tmax"
:
2000
,
"cur"
:
[
"INR"
,
"JPY"
],
"bcat"
:
[
"32"
,
"33"
],
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
},
"ext"
:
{
"omidpn"
:
"Google"
,
"omidpv"
:
"afma-sdk-a-v251815999.242402000.1"
}
},
"cattax"
:
500
,
"ext"
:
{
"bid_feedback"
:
[
{
"request_id"
:
"3265hT3M9Uq7370Ou263Zp"
,
"creative_status_code"
:
80
,
"event_notification_token"
:
{
"payload"
:
"token"
},
"buyer_creative_id"
:
"test_creative_id_122439"
,
"minimum_bid_to_win"
:
5.93
,
"feedbacktype"
:
1
},
{
"request_id"
:
"9024plcR9E3N4T0vb0y13c"
,
"creative_status_code"
:
80
,
"event_notification_token"
:
{
"payload"
:
"token"
},
"buyer_creative_id"
:
"test_creative_id_122439"
,
"minimum_bid_to_win"
:
175.0
,
"feedbacktype"
:
1
}
],
"google_query_id"
:
"ANy-z44alu-814Bakx696mrux1VsUu39Ob428vb0B2H4HD8ADAlLE6mkm17zq511d81N0Gf0"
,
"fcap_scope"
:
3
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
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
Calculations for auction loser
Assume a publisher uses both real-time bidding and an SDK mediation chain as
follows:
Assume the following as the result of the RTB auction:
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.
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.
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.
Skippability and Video Duration
The OpenRTB spec doesn't have separate fields for specifying the maximum
video durations of skippable and non-skippable ads. Google's implementation
uses bid flattening to distinguish between these using the existing BidRequest.video.maxduration
and BidRequest.video.skip
fields.
The following is an example of how video inventory is flattened when the
maximum duration of a non-skippable ad is 15
and the maximum
duration of a skippable ad is 60
.
Skippable video duration bid request flattening will only take place when
these conditions are met:
The request allows video.
Both skippable and non-skippable videos are allowed, and the two respective
max durations differ in value.
This request is Private Auction or Open Auction-eligible.
You can opt out from this type of flattening by contacting your technical
account manager. When disabled, and the publisher allows both skippable and
non-skippable video ads with different maximum durations based on skippability, skip
would be set to true
and maxduration
would be set to whichever duration is shorter between
skippable and non-skippable ad constraints.
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
:
"9NaI48SmPW7Zf3MAHR43DY"
imp
{
id
:
"1"
banner
{
w
:
320
h
:
50
pos
:
ABOVE_THE_FOLD
api
:
MRAID_1
api
:
MRAID_2
wmax
:
390
hmax
:
61
wmin
:
261
hmin
:
46
format
{
w
:
320
h
:
50
}
[
com
.
google
.
doubleclick
.
banner_ext
]
{
flexslot
{
wmin
:
261
wmax
:
390
hmin
:
46
hmax
:
61
}
}
}
displaymanager
:
"GoogleMobileAds-iOS"
displaymanagerver
:
"11.10.0"
tagid
:
"9396839755"
bidfloor
:
1.0
bidfloorcur
:
"JPY"
secure
:
true
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.0016558143543079495
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
0.96
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
82364411103
publisher_settings_list_id
:
2581479915860139166
publisher_settings_list_id
:
1866597146354523937
allowed_vendor_type
:
0
allowed_vendor_type
:
4648
ampad
:
AMP_AD_NOT_ALLOWED
skadn
{
sourceapp
:
"com.google.testapp"
skadnetids
:
"cF58w81X"
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
:
1.033434
creative_type
:
HTML_SNIPPET
}
ae
:
SERVER_SIDE_AUCTION
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
ver
:
"5.6.0"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-6156239328255091"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"JP"
}
}
content
{
url
:
"https://www.google.com"
livestream
:
false
language
:
"ja"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"JPN"
region
:
"JP-27"
city
:
"Osaka"
type
:
IP
utcoffset
:
540
accuracy
:
8429
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
1009540
}
}
ipv6
:
"240a:61:20a7::"
carrier
:
"70000"
language
:
"ja"
make
:
"Apple"
model
:
"iPhone13,2"
os
:
"iOS"
osv
:
"18.6.2"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
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
:
"18"
version
:
"6"
}
mobile
:
true
bitness
:
"64"
model
:
"iPhone"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
atts
:
2
audioout
:
AUDIO_SILENT
}
}
user
{
[
com
.
google
.
doubleclick
.
user
]
{
session
{
duration
:
270
depth
:
12
requestssinceappopen
:
12
priorclicks
:
0
}
}
}
at
:
FIRST_PRICE
tmax
:
1000
cur
:
"USD"
cur
:
"JPY"
bcat
:
"3"
bcat
:
"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-i-v11.10.0"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"9NaI48SmPW7Zf3MAHR43DY"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
320
,
"h"
:
50
,
"pos"
:
1
,
"api"
:
[
3
,
5
],
"wmax"
:
390
,
"hmax"
:
61
,
"wmin"
:
261
,
"hmin"
:
46
,
"format"
:
[
{
"w"
:
320
,
"h"
:
50
}
],
"ext"
:
{
"flexslot"
:
{
"wmin"
:
261
,
"wmax"
:
390
,
"hmin"
:
46
,
"hmax"
:
61
}
}
},
"displaymanager"
:
"GoogleMobileAds-iOS"
,
"displaymanagerver"
:
"11.10.0"
,
"tagid"
:
"9396839755"
,
"bidfloor"
:
1.0
,
"bidfloorcur"
:
"JPY"
,
"secure"
:
1
,
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.0016558143543079495
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
0.96
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"82364411103"
],
"publisher_settings_list_id"
:
[
"2581479915860139166"
,
"1866597146354523937"
],
"allowed_vendor_type"
:
[
0
,
4648
],
"ampad"
:
2
,
"skadn"
:
{
"sourceapp"
:
"com.google.testapp"
,
"skadnetids"
:
[
"cF58w81X"
],
"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"
:
1.033434
,
"creative_type"
:
1
}
],
"ae"
:
0
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"ver"
:
"5.6.0"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-6156239328255091"
,
"ext"
:
{
"country"
:
"JP"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"livestream"
:
0
,
"language"
:
"ja"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"JPN"
,
"region"
:
"JP-27"
,
"city"
:
"Osaka"
,
"type"
:
2
,
"utcoffset"
:
540
,
"accuracy"
:
8429
,
"ext"
:
{
"geo_criteria_id"
:
1009540
}
},
"ipv6"
:
"240a:61:20a7::"
,
"carrier"
:
"70000"
,
"language"
:
"ja"
,
"make"
:
"Apple"
,
"model"
:
"iPhone13,2"
,
"os"
:
"iOS"
,
"osv"
:
"18.6.2"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"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"
:
[
"18"
,
"6"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"iPhone"
,
"source"
:
3
},
"ext"
:
{
"atts"
:
2
,
"audioout"
:
3
}
},
"user"
:
{
"ext"
:
{
"session"
:
{
"duration"
:
270
,
"depth"
:
12
,
"requestssinceappopen"
:
12
,
"priorclicks"
:
0
}
}
},
"at"
:
1
,
"tmax"
:
1000
,
"cur"
:
[
"USD"
,
"JPY"
],
"bcat"
:
[
"3"
,
"4"
],
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
},
"ext"
:
{
"omidpn"
:
"Google"
,
"omidpv"
:
"afma-sdk-i-v11.10.0"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25"
,
"fcap_scope"
:
4
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
App interstitial
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"D3x8RPLO96R6T137tQ6168"
imp
{
id
:
"1"
banner
{
w
:
360
h
:
715
pos
:
AD_POSITION_FULLSCREEN
api
:
MRAID_1
api
:
MRAID_2
format
{
w
:
360
h
:
715
}
format
{
w
:
320
h
:
568
}
}
displaymanager
:
"GoogleMobileAds-Android"
displaymanagerver
:
"22.3.0"
instl
:
true
tagid
:
"5771994185"
bidfloor
:
2764.414643547123
bidfloorcur
:
"JPY"
secure
:
true
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.03971313312649727
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
0.91
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
68640308112
billing_id
:
56606437068
publisher_settings_list_id
:
1984414516100776281
publisher_settings_list_id
:
5846951473307279661
allowed_vendor_type
:
0
allowed_vendor_type
:
57823
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
ae
:
SERVER_SIDE_AUCTION
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-7405557148270612"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"HK"
}
}
content
{
url
:
"https://www.google.com"
userrating
:
"4.7"
livestream
:
false
language
:
"en"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"GBR"
region
:
"GB-ENG"
zip
:
"RH20"
type
:
IP
utcoffset
:
60
accuracy
:
2312
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
9191103
}
}
ipv6
:
"2a02:c7c:7c25::"
make
:
"Huawei"
model
:
"LYA-L09"
os
:
"android"
osv
:
"10"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
ifa
:
"0f0f33d1-fa18-4a2c-bc47-79ef855b5c16"
w
:
360
h
:
715
pxratio
:
3.0
sua
{
browsers
{
brand
:
"Mozilla"
version
:
"5"
version
:
"0"
}
browsers
{
brand
:
"AppleWebKit"
version
:
"537"
version
:
"36"
}
platform
{
brand
:
"Android"
version
:
"10"
}
mobile
:
true
model
:
"LYA-L09"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
metereddata
:
false
chargelevel
:
0.93
charging
:
false
diskspace
:
2100
audioout
:
AUDIO_SILENT
}
}
user
{
id
:
"D17oNZQUJqB4Rt4n4Ec61AC9tee"
consent
:
"OMITTED"
[
com
.
google
.
doubleclick
.
user
]
{
consented_providers_settings
{
consented_providers
:
1205
consented_providers
:
415
additional_consent
:
"OMITTED"
}
consent
:
"OMITTED"
session
{
duration
:
6
depth
:
12
requestssinceappopen
:
12
priorclicks
:
0
}
idage
:
44064000
}
}
at
:
FIRST_PRICE
tmax
:
1500
cur
:
"EUR"
cur
:
"JPY"
bcat
:
"32"
bcat
:
"33"
regs
{
[
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-v251815999.232400000.1"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"D3x8RPLO96R6T137tQ6168"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
360
,
"h"
:
715
,
"pos"
:
7
,
"api"
:
[
3
,
5
],
"format"
:
[
{
"w"
:
360
,
"h"
:
715
},
{
"w"
:
320
,
"h"
:
568
}
]
},
"displaymanager"
:
"GoogleMobileAds-Android"
,
"displaymanagerver"
:
"22.3.0"
,
"instl"
:
1
,
"tagid"
:
"5771994185"
,
"bidfloor"
:
2764.414643547123
,
"bidfloorcur"
:
"JPY"
,
"secure"
:
1
,
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.03971313312649727
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
0.91
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"68640308112"
,
"56606437068"
],
"publisher_settings_list_id"
:
[
"1984414516100776281"
,
"5846951473307279661"
],
"allowed_vendor_type"
:
[
0
,
57823
],
"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
,
"ae"
:
0
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-7405557148270612"
,
"ext"
:
{
"country"
:
"HK"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"userrating"
:
"4.7"
,
"livestream"
:
0
,
"language"
:
"en"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"GBR"
,
"region"
:
"GB-ENG"
,
"zip"
:
"RH20"
,
"type"
:
2
,
"utcoffset"
:
60
,
"accuracy"
:
2312
,
"ext"
:
{
"geo_criteria_id"
:
9191103
}
},
"ipv6"
:
"2a02:c7c:7c25::"
,
"make"
:
"Huawei"
,
"model"
:
"LYA-L09"
,
"os"
:
"android"
,
"osv"
:
"10"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"ifa"
:
"0f0f33d1-fa18-4a2c-bc47-79ef855b5c16"
,
"w"
:
360
,
"h"
:
715
,
"pxratio"
:
3.0
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"537"
,
"36"
]
}
],
"platform"
:
{
"brand"
:
"Android"
,
"version"
:
[
"10"
]
},
"mobile"
:
1
,
"model"
:
"LYA-L09"
,
"source"
:
3
},
"ext"
:
{
"metereddata"
:
0
,
"chargelevel"
:
0.93
,
"charging"
:
0
,
"diskspace"
:
2100
,
"audioout"
:
3
}
},
"user"
:
{
"id"
:
"D17oNZQUJqB4Rt4n4Ec61AC9tee"
,
"consent"
:
"OMITTED"
,
"ext"
:
{
"consented_providers_settings"
:
{
"consented_providers"
:
[
"1205"
,
"415"
],
"additional_consent"
:
"OMITTED"
},
"consent"
:
"OMITTED"
,
"session"
:
{
"duration"
:
6
,
"depth"
:
12
,
"requestssinceappopen"
:
12
,
"priorclicks"
:
0
},
"idage"
:
44064000
}
},
"at"
:
1
,
"tmax"
:
1500
,
"cur"
:
[
"EUR"
,
"JPY"
],
"bcat"
:
[
"32"
,
"33"
],
"regs"
:
{
"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-v251815999.232400000.1"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M"
,
"fcap_scope"
:
3
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
App interstitial video
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"179eb03K549H7I2584e7L6"
imp
{
id
:
"1"
video
{
mimes
:
"video/mp4"
linearity
:
LINEAR
maxduration
:
30
w
:
414
h
:
816
startdelay
:
0
playbackmethod
:
CLICK_TO_PLAY
pos
:
AD_POSITION_FULLSCREEN
companionad
{
w
:
414
h
:
816
mimes
:
"text/css"
mimes
:
"image/jpeg"
format
{
w
:
414
h
:
816
}
vcm
:
true
}
api
:
MRAID_1
api
:
MRAID_2
companiontype
:
STATIC
companiontype
:
HTML
protocols
:
VAST_2_0
protocols
:
VAST_3_0
skip
:
false
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
:
"12.7.0"
instl
:
true
tagid
:
"7757209244"
bidfloor
:
0.01
bidfloorcur
:
"USD"
secure
:
true
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.048289403319358826
vendor
:
"EXCHANGE"
}
metric
{
type
:
"video_completion_rate"
value
:
0.1191580668091774
vendor
:
"EXCHANGE"
}
rwdd
:
true
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
55383762512
publisher_settings_list_id
:
1847492880042777742
publisher_settings_list_id
:
3770000868027227103
allowed_vendor_type
:
0
allowed_vendor_type
:
237
is_rewarded_inventory
:
true
ampad
:
AMP_AD_NOT_ALLOWED
excluded_creatives
{
buyer_creative_id
:
"EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives
{
buyer_creative_id
:
"EXCLUDED_BUYER_CREATIVE_ID"
}
skadn
{
sourceapp
:
"com.google.testapp"
skadnetids
:
"306el65O"
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
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
ver
:
"6.5.1"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-9126361500211130"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"GB"
}
}
content
{
url
:
"https://www.google.com"
livestream
:
false
language
:
"fr"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"FRA"
region
:
"FR-V"
zip
:
"01700"
type
:
IP
utcoffset
:
120
accuracy
:
3878
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
9054913
}
}
ipv6
:
"2a01:cb14:11e4::"
language
:
"fr"
make
:
"Apple"
model
:
"iPhone12,1"
os
:
"iOS"
osv
:
"18.5"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
hwv
:
"iPhone12,1"
w
:
414
h
:
896
pxratio
:
2.0
sua
{
browsers
{
brand
:
"Mozilla"
version
:
"5"
version
:
"0"
}
browsers
{
brand
:
"AppleWebKit"
version
:
"605"
version
:
"1"
}
platform
{
brand
:
"iPhone"
version
:
"18"
version
:
"5"
}
mobile
:
true
bitness
:
"64"
model
:
"iPhone"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
atts
:
2
audioout
:
AUDIO_SPEAKER
}
}
user
{
consent
:
"OMITTED"
[
com
.
google
.
doubleclick
.
user
]
{
consented_providers_settings
{
consented_providers
:
1097
consented_providers
:
2963
additional_consent
:
"OMITTED"
}
consent
:
"OMITTED"
session
{
duration
:
7
depth
:
23
requestssinceappopen
:
23
priorclicks
:
0
}
}
}
at
:
FIRST_PRICE
tmax
:
1000
cur
:
"USD"
bcat
:
"3"
bcat
:
"4"
regs
{
[
com
.
google
.
doubleclick
.
regs
]
{
gdpr
:
true
}
}
bapp
:
"529996768"
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-v12.7.0"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"179eb03K549H7I2584e7L6"
,
"imp"
:
[
{
"id"
:
"1"
,
"video"
:
{
"mimes"
:
[
"video/mp4"
],
"linearity"
:
1
,
"maxduration"
:
30
,
"w"
:
414
,
"h"
:
816
,
"startdelay"
:
0
,
"playbackmethod"
:
[
3
],
"pos"
:
7
,
"companionad"
:
[
{
"w"
:
414
,
"h"
:
816
,
"mimes"
:
[
"text/css"
,
"image/jpeg"
],
"format"
:
[
{
"w"
:
414
,
"h"
:
816
}
],
"vcm"
:
1
}
],
"api"
:
[
3
,
5
],
"companiontype"
:
[
1
,
2
],
"protocols"
:
[
2
,
3
],
"skip"
:
0
,
"placement"
:
5
,
"playbackend"
:
1
,
"maxseq"
:
2
,
"poddur"
:
30
,
"plcmt"
:
3
,
"ext"
:
{
"inferredplcmt"
:
3
}
},
"displaymanager"
:
"GoogleMobileAds-iOS"
,
"displaymanagerver"
:
"12.7.0"
,
"instl"
:
1
,
"tagid"
:
"7757209244"
,
"bidfloor"
:
0.01
,
"bidfloorcur"
:
"USD"
,
"secure"
:
1
,
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.048289403319358826
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"video_completion_rate"
,
"value"
:
0.1191580668091774
,
"vendor"
:
"EXCHANGE"
}
],
"rwdd"
:
1
,
"ext"
:
{
"billing_id"
:
[
"55383762512"
],
"publisher_settings_list_id"
:
[
"1847492880042777742"
,
"3770000868027227103"
],
"allowed_vendor_type"
:
[
0
,
237
],
"is_rewarded_inventory"
:
1
,
"ampad"
:
2
,
"excluded_creatives"
:
[
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn"
:
{
"sourceapp"
:
"com.google.testapp"
,
"skadnetids"
:
[
"306el65O"
],
"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
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"ver"
:
"6.5.1"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-9126361500211130"
,
"ext"
:
{
"country"
:
"GB"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"livestream"
:
0
,
"language"
:
"fr"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"FRA"
,
"region"
:
"FR-V"
,
"zip"
:
"01700"
,
"type"
:
2
,
"utcoffset"
:
120
,
"accuracy"
:
3878
,
"ext"
:
{
"geo_criteria_id"
:
9054913
}
},
"ipv6"
:
"2a01:cb14:11e4::"
,
"language"
:
"fr"
,
"make"
:
"Apple"
,
"model"
:
"iPhone12,1"
,
"os"
:
"iOS"
,
"osv"
:
"18.5"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"hwv"
:
"iPhone12,1"
,
"w"
:
414
,
"h"
:
896
,
"pxratio"
:
2.0
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"605"
,
"1"
]
}
],
"platform"
:
{
"brand"
:
"iPhone"
,
"version"
:
[
"18"
,
"5"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"iPhone"
,
"source"
:
3
},
"ext"
:
{
"atts"
:
2
,
"audioout"
:
1
}
},
"user"
:
{
"consent"
:
"OMITTED"
,
"ext"
:
{
"consented_providers_settings"
:
{
"consented_providers"
:
[
"1097"
,
"2963"
],
"additional_consent"
:
"OMITTED"
},
"consent"
:
"OMITTED"
,
"session"
:
{
"duration"
:
7
,
"depth"
:
23
,
"requestssinceappopen"
:
23
,
"priorclicks"
:
0
}
}
},
"at"
:
1
,
"tmax"
:
1000
,
"cur"
:
[
"USD"
],
"bcat"
:
[
"3"
,
"4"
],
"regs"
:
{
"ext"
:
{
"gdpr"
:
1
}
},
"bapp"
:
[
"529996768"
],
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
},
"ext"
:
{
"omidpn"
:
"Google"
,
"omidpv"
:
"afma-sdk-i-v12.7.0"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5"
,
"fcap_scope"
:
4
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
App native
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"HYuQMewy7o4U9Jk0AYt543"
imp
{
id
:
"1"
displaymanager
:
"GoogleMobileAds-iOS"
displaymanagerver
:
"12.6.0"
tagid
:
"4283347586"
bidfloor
:
1841.9824245803225
bidfloorcur
:
"JPY"
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
}
eventtrackers
{
event
:
OMID
methods
:
JS
}
privacy
:
true
}
}
exp
:
3600
clickbrowser
:
true
metric
{
type
:
"click_through_rate"
value
:
0.0035704318434000015
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
0.42
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
73917825312
billing_id
:
58558932335
publisher_settings_list_id
:
3148904898759409470
publisher_settings_list_id
:
7478572817009281694
allowed_vendor_type
:
0
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"
}
skadn
{
sourceapp
:
"com.google.testapp"
skadnetids
:
"Q7B2W332"
skadnetids
:
"10wC1989"
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
ae
:
SERVER_SIDE_AUCTION
jsver
:
"test-sdk_123456789"
}
}
app
{
name
:
"Test App"
ver
:
"4.18.1"
bundle
:
"com.google.testapp"
publisher
{
id
:
"pub-7029824543087220"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"JP"
}
}
content
{
url
:
"https://www.google.com"
livestream
:
false
language
:
"ja"
}
storeurl
:
"https://www.google.com"
}
device
{
ua
:
"OMITTED"
ip
:
"192.168.1.0"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"JPN"
region
:
"JP-08"
city
:
"Tsukuba"
zip
:
"305-0861"
type
:
IP
utcoffset
:
540
accuracy
:
1562
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
9168296
}
}
language
:
"ja"
make
:
"Apple"
model
:
"iPhone14,5"
os
:
"iOS"
osv
:
"18.6.2"
connectiontype
:
WIFI
devicetype
:
HIGHEND_PHONE
hwv
:
"iPhone14,5"
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
:
"18"
version
:
"6"
}
mobile
:
true
bitness
:
"64"
model
:
"iPhone"
source
:
USER_AGENT_STRING
}
[
com
.
google
.
doubleclick
.
device
]
{
atts
:
2
audioout
:
AUDIO_SPEAKER
}
}
user
{
data
{
id
:
"39"
segment
{
id
:
"OMITTED"
}
segment
{
id
:
"OMITTED"
}
[
com
.
google
.
doubleclick
.
data
]
{
segtax
:
4
}
}
[
com
.
google
.
doubleclick
.
user
]
{
session
{
duration
:
10
depth
:
83
requestssinceappopen
:
83
priorclicks
:
0
}
}
}
at
:
FIRST_PRICE
tmax
:
1000
cur
:
"AUD"
cur
:
"BRL"
bcat
:
"4"
bcat
:
"32"
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-v12.6.0"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"HYuQMewy7o4U9Jk0AYt543"
,
"imp"
:
[
{
"id"
:
"1"
,
"displaymanager"
:
"GoogleMobileAds-iOS"
,
"displaymanagerver"
:
"12.6.0"
,
"tagid"
:
"4283347586"
,
"bidfloor"
:
1841.9824245803225
,
"bidfloorcur"
:
"JPY"
,
"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]},{\"event\":555,\"methods\":[2]}],\"privacy\":1}"
},
"exp"
:
3600
,
"clickbrowser"
:
1
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.0035704318434000015
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
0.42
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"73917825312"
,
"58558932335"
],
"publisher_settings_list_id"
:
[
"3148904898759409470"
,
"7478572817009281694"
],
"allowed_vendor_type"
:
[
0
,
237
],
"ampad"
:
2
,
"excluded_creatives"
:
[
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id"
:
"EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn"
:
{
"sourceapp"
:
"com.google.testapp"
,
"skadnetids"
:
[
"Q7B2W332"
,
"10wC1989"
],
"versions"
:
[
"2.0"
,
"2.1"
],
"fidelities"
:
[
1
,
0
]
},
"creative_enforcement_settings"
:
{
"policy_enforcement"
:
2
,
"publisher_blocks_enforcement"
:
1
},
"auction_environment"
:
0
,
"ae"
:
0
,
"jsver"
:
"test-sdk_123456789"
}
}
],
"app"
:
{
"name"
:
"Test App"
,
"ver"
:
"4.18.1"
,
"bundle"
:
"com.google.testapp"
,
"publisher"
:
{
"id"
:
"pub-7029824543087220"
,
"ext"
:
{
"country"
:
"JP"
}
},
"content"
:
{
"url"
:
"https://www.google.com"
,
"livestream"
:
0
,
"language"
:
"ja"
},
"storeurl"
:
"https://www.google.com"
},
"device"
:
{
"ua"
:
"OMITTED"
,
"ip"
:
"192.168.1.0"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"JPN"
,
"region"
:
"JP-08"
,
"city"
:
"Tsukuba"
,
"zip"
:
"305-0861"
,
"type"
:
2
,
"utcoffset"
:
540
,
"accuracy"
:
1562
,
"ext"
:
{
"geo_criteria_id"
:
9168296
}
},
"language"
:
"ja"
,
"make"
:
"Apple"
,
"model"
:
"iPhone14,5"
,
"os"
:
"iOS"
,
"osv"
:
"18.6.2"
,
"connectiontype"
:
2
,
"devicetype"
:
4
,
"hwv"
:
"iPhone14,5"
,
"w"
:
390
,
"h"
:
844
,
"pxratio"
:
3.0
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"605"
,
"1"
]
}
],
"platform"
:
{
"brand"
:
"iPhone"
,
"version"
:
[
"18"
,
"6"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"iPhone"
,
"source"
:
3
},
"ext"
:
{
"atts"
:
2
,
"audioout"
:
1
}
},
"user"
:
{
"data"
:
[
{
"id"
:
"39"
,
"segment"
:
[
{
"id"
:
"OMITTED"
},
{
"id"
:
"OMITTED"
}
],
"ext"
:
{
"segtax"
:
4
}
}
],
"ext"
:
{
"session"
:
{
"duration"
:
10
,
"depth"
:
83
,
"requestssinceappopen"
:
83
,
"priorclicks"
:
0
}
}
},
"at"
:
1
,
"tmax"
:
1000
,
"cur"
:
[
"AUD"
,
"BRL"
],
"bcat"
:
[
"4"
,
"32"
],
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
},
"ext"
:
{
"omidpn"
:
"Google"
,
"omidpv"
:
"afma-sdk-i-v12.6.0"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113"
,
"fcap_scope"
:
4
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
Web video
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"9B5K1zj5T61jRM80t25s13"
imp
{
id
:
"1"
video
{
mimes
:
"application/javascript"
mimes
:
"video/mp4"
linearity
:
LINEAR
maxduration
:
60
w
:
306
h
:
156
startdelay
:
0
playbackmethod
:
ENTER_SOUND_OFF
pos
:
ABOVE_THE_FOLD
companionad
{
w
:
0
h
:
0
mimes
:
"image/png"
mimes
:
"image/gif"
format
{
w
:
0
h
:
0
}
}
api
:
VPAID_1
api
:
VPAID_2
companiontype
:
STATIC
protocols
:
VAST_2_0
protocols
:
VAST_3_0
skip
:
true
placement
:
IN_STREAM_PLACEMENT
durfloors
{
maxdur
:
121
bidfloor
:
628.6151504524262
}
[
com
.
google
.
doubleclick
.
video
]
{
inferredplcmt
:
PLCMT_ACCOMPANYING_CONTENT
embeddedoffsite
:
true
}
}
displaymanager
:
"GOOGLE"
tagid
:
"1064104152"
bidfloor
:
628.6151504524262
bidfloorcur
:
"JPY"
pmp
{
deals
{
id
:
"45957820"
bidfloor
:
628.615151
bidfloorcur
:
"JPY"
[
com
.
google
.
doubleclick
.
deal
]
{
deal_type
:
AUCTION_PACKAGE
billing_id
:
34409190968
billing_id
:
31520375265
}
}
}
secure
:
true
exp
:
3600
metric
{
type
:
"click_through_rate"
value
:
0.061625368893146515
vendor
:
"EXCHANGE"
}
metric
{
type
:
"video_completion_rate"
value
:
0.6049572825431824
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
63495119434
billing_id
:
33073577463
publisher_settings_list_id
:
2610320062869254712
publisher_settings_list_id
:
3579681458579529403
allowed_vendor_type
:
0
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
ae
:
SERVER_SIDE_AUCTION
}
}
site
{
page
:
"https://www.google.com"
publisher
{
id
:
"pub-1111111111111111"
[
com
.
google
.
doubleclick
.
publisher
]
{
country
:
"IL"
}
}
content
{
livestream
:
false
language
:
"en"
}
mobile
:
true
[
com
.
google
.
doubleclick
.
site
]
{
amp
:
DIALECT_HTML
page_visibility
:
VISIBILITY_STATE_VISIBLE
ntype
:
NAVIGATION_TYPE_UNKNOWN
}
}
device
{
ua
:
"OMITTED"
ip
:
"192.168.1.0"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"USA"
region
:
"OH"
metro
:
"558"
city
:
"Lima"
zip
:
"45806"
type
:
IP
utcoffset
:
-
240
accuracy
:
6877
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
9015962
}
}
make
:
"Samsung"
model
:
"sm-s921u"
os
:
"android"
osv
:
"15"
devicetype
:
HIGHEND_PHONE
w
:
1080
h
:
2340
sua
{
browsers
{
brand
:
"Chromium"
version
:
"140"
version
:
"0"
}
browsers
{
brand
:
"Not=A?Brand"
version
:
"24"
version
:
"0"
}
platform
{
brand
:
"Android"
version
:
"15"
version
:
"0"
}
mobile
:
true
model
:
"SM-S921U"
source
:
CLIENT_HINTS_HIGH_ENTROPY
}
}
user
{
id
:
"2P499L961q5433F3W7910N24dm6"
buyeruid
:
"d1f6LSo115M9T6r3wjcX397Iu6231g73"
customdata
:
"98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI"
[
com
.
google
.
doubleclick
.
user
]
{
idage
:
432000
}
}
at
:
FIRST_PRICE
tmax
:
350
cur
:
"TRY"
cur
:
"JPY"
bcat
:
"32"
bcat
:
"33"
source
{
schain
{
complete
:
false
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
]
{
omidpn
:
"Google1"
omidpv
:
"h.3.719.1"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
bid_feedback
{
request_id
:
"iC415EO28u2s07s8qn220h"
creative_status_code
:
80
event_notification_token
{
payload
:
"token"
}
buyer_creative_id
:
"test_creative_id_459586"
minimum_bid_to_win
:
0.69
feedbacktype
:
BID_FEEDBACK
}
google_query_id
:
"ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"9B5K1zj5T61jRM80t25s13"
,
"imp"
:
[
{
"id"
:
"1"
,
"video"
:
{
"mimes"
:
[
"application/javascript"
,
"video/mp4"
],
"linearity"
:
1
,
"maxduration"
:
60
,
"w"
:
306
,
"h"
:
156
,
"startdelay"
:
0
,
"playbackmethod"
:
[
6
],
"pos"
:
1
,
"companionad"
:
[
{
"w"
:
0
,
"h"
:
0
,
"mimes"
:
[
"image/png"
,
"image/gif"
],
"format"
:
[
{
"w"
:
0
,
"h"
:
0
}
]
}
],
"api"
:
[
1
,
2
],
"companiontype"
:
[
1
],
"protocols"
:
[
2
,
3
],
"skip"
:
1
,
"placement"
:
1
,
"durfloors"
:
[
{
"maxdur"
:
121
,
"bidfloor"
:
628.6151504524262
}
],
"ext"
:
{
"inferredplcmt"
:
2
,
"embeddedoffsite"
:
1
}
},
"displaymanager"
:
"GOOGLE"
,
"tagid"
:
"1064104152"
,
"bidfloor"
:
628.6151504524262
,
"bidfloorcur"
:
"JPY"
,
"pmp"
:
{
"deals"
:
[
{
"id"
:
"45957820"
,
"bidfloor"
:
628.615151
,
"bidfloorcur"
:
"JPY"
,
"ext"
:
{
"deal_type"
:
4
,
"billing_id"
:
[
"34409190968"
,
"31520375265"
]
}
}
]
},
"secure"
:
1
,
"exp"
:
3600
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.061625368893146515
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"video_completion_rate"
,
"value"
:
0.6049572825431824
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"63495119434"
,
"33073577463"
],
"publisher_settings_list_id"
:
[
"2610320062869254712"
,
"3579681458579529403"
],
"allowed_vendor_type"
:
[
0
],
"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
,
"ae"
:
0
}
}
],
"site"
:
{
"page"
:
"https://www.google.com"
,
"publisher"
:
{
"id"
:
"pub-1111111111111111"
,
"ext"
:
{
"country"
:
"IL"
}
},
"content"
:
{
"livestream"
:
0
,
"language"
:
"en"
},
"mobile"
:
1
,
"ext"
:
{
"amp"
:
0
,
"page_visibility"
:
1
,
"ntype"
:
0
}
},
"device"
:
{
"ua"
:
"OMITTED"
,
"ip"
:
"192.168.1.0"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"USA"
,
"region"
:
"OH"
,
"metro"
:
"558"
,
"city"
:
"Lima"
,
"zip"
:
"45806"
,
"type"
:
2
,
"utcoffset"
:
-
240
,
"accuracy"
:
6877
,
"ext"
:
{
"geo_criteria_id"
:
9015962
}
},
"make"
:
"Samsung"
,
"model"
:
"sm-s921u"
,
"os"
:
"android"
,
"osv"
:
"15"
,
"devicetype"
:
4
,
"w"
:
1080
,
"h"
:
2340
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Chromium"
,
"version"
:
[
"140"
,
"0"
]
},
{
"brand"
:
"Not=A?Brand"
,
"version"
:
[
"24"
,
"0"
]
}
],
"platform"
:
{
"brand"
:
"Android"
,
"version"
:
[
"15"
,
"0"
]
},
"mobile"
:
1
,
"model"
:
"SM-S921U"
,
"source"
:
2
}
},
"user"
:
{
"id"
:
"2P499L961q5433F3W7910N24dm6"
,
"buyeruid"
:
"d1f6LSo115M9T6r3wjcX397Iu6231g73"
,
"customdata"
:
"98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI"
,
"ext"
:
{
"idage"
:
432000
}
},
"at"
:
1
,
"tmax"
:
350
,
"cur"
:
[
"TRY"
,
"JPY"
],
"bcat"
:
[
"32"
,
"33"
],
"source"
:
{
"schain"
:
{
"complete"
:
0
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
},
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
},
"ext"
:
{
"omidpn"
:
"Google1"
,
"omidpv"
:
"h.3.719.1"
}
},
"cattax"
:
500
,
"ext"
:
{
"bid_feedback"
:
[
{
"request_id"
:
"iC415EO28u2s07s8qn220h"
,
"creative_status_code"
:
80
,
"event_notification_token"
:
{
"payload"
:
"token"
},
"buyer_creative_id"
:
"test_creative_id_459586"
,
"minimum_bid_to_win"
:
0.69
,
"feedbacktype"
:
1
}
],
"google_query_id"
:
"ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457"
,
"fcap_scope"
:
2
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}
Mobile web banner for exchange bidder
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"7JU6159A685P1Yq6AZYs9c"
imp
{
id
:
"1"
banner
{
w
:
300
h
:
50
pos
:
SIDEBAR
format
{
w
:
300
h
:
50
}
format
{
w
:
320
h
:
100
}
}
displaymanager
:
"GOOGLE"
tagid
:
"5569141195"
bidfloor
:
0.11
bidfloorcur
:
"USD"
secure
:
true
exp
:
3600
metric
{
type
:
"click_through_rate"
value
:
0.00012157167657278478
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
0.54
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
29290087654
publisher_settings_list_id
:
1176624544028271271
publisher_settings_list_id
:
7690166540312314658
allowed_vendor_type
:
0
dfp_ad_unit_code
:
"/4270097/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
:
32
allowed_restricted_category
:
33
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
language
:
"en"
}
mobile
:
true
[
com
.
google
.
doubleclick
.
site
]
{
amp
:
DIALECT_HTML
page_visibility
:
VISIBILITY_STATE_VISIBLE
uact
{
wasact
:
true
isact
:
true
}
ntype
:
NAVIGATION_TYPE_NAVIGATE
}
}
device
{
ua
:
"OMITTED"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"USA"
region
:
"CA"
metro
:
"803"
city
:
"Los Angeles"
type
:
IP
utcoffset
:
-
420
accuracy
:
20337
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
1013962
}
}
ipv6
:
"2a04:4e41:2959::"
make
:
"Apple"
model
:
"iphone"
os
:
"iOS"
osv
:
"18.6.2"
devicetype
:
HIGHEND_PHONE
w
:
393
h
:
852
pxratio
:
3.0
sua
{
browsers
{
brand
:
"Mozilla"
version
:
"5"
version
:
"0"
}
browsers
{
brand
:
"AppleWebKit"
version
:
"605"
version
:
"1"
}
platform
{
brand
:
"iPhone"
version
:
"18"
version
:
"6"
}
mobile
:
true
bitness
:
"64"
model
:
"iPhone"
source
:
USER_AGENT_STRING
}
}
user
{
[
com
.
google
.
doubleclick
.
user
]
{
eids
{
source
:
"OMITTED_SOURCE"
uids
{
id
:
"OMITTED_ID"
}
}
eids
{
source
:
"OMITTED_SOURCE"
uids
{
id
:
"OMITTED_ID"
}
}
}
}
at
:
FIRST_PRICE
tmax
:
350
cur
:
"USD"
bcat
:
"IAB14-1"
bcat
:
"IAB17-11"
regs
{
gpp
:
"OMITTED"
gpp_sid
:
USCA
}
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"
}
}
cattax
:
IAB_CONTENT_1_0
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-z49Z28-30csCH3Q6L2592cP4mj84zr6ZQJ982HPa49dwsj1WphMK1goO8M62j84bh1PB"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_NONE
}
OpenRTB JSON
Show me the example
{
"id"
:
"7JU6159A685P1Yq6AZYs9c"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
300
,
"h"
:
50
,
"pos"
:
6
,
"format"
:
[
{
"w"
:
300
,
"h"
:
50
},
{
"w"
:
320
,
"h"
:
100
}
]
},
"displaymanager"
:
"GOOGLE"
,
"tagid"
:
"5569141195"
,
"bidfloor"
:
0.11
,
"bidfloorcur"
:
"USD"
,
"secure"
:
1
,
"exp"
:
3600
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.00012157167657278478
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
0.54
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"29290087654"
],
"publisher_settings_list_id"
:
[
"1176624544028271271"
,
"7690166540312314658"
],
"allowed_vendor_type"
:
[
0
],
"dfp_ad_unit_code"
:
"/4270097/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"
:
[
32
,
33
],
"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
,
"uact"
:
{
"wasact"
:
1
,
"isact"
:
1
},
"ntype"
:
1
}
},
"device"
:
{
"ua"
:
"OMITTED"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"USA"
,
"region"
:
"CA"
,
"metro"
:
"803"
,
"city"
:
"Los Angeles"
,
"type"
:
2
,
"utcoffset"
:
-
420
,
"accuracy"
:
20337
,
"ext"
:
{
"geo_criteria_id"
:
1013962
}
},
"ipv6"
:
"2a04:4e41:2959::"
,
"make"
:
"Apple"
,
"model"
:
"iphone"
,
"os"
:
"iOS"
,
"osv"
:
"18.6.2"
,
"devicetype"
:
4
,
"w"
:
393
,
"h"
:
852
,
"pxratio"
:
3.0
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Mozilla"
,
"version"
:
[
"5"
,
"0"
]
},
{
"brand"
:
"AppleWebKit"
,
"version"
:
[
"605"
,
"1"
]
}
],
"platform"
:
{
"brand"
:
"iPhone"
,
"version"
:
[
"18"
,
"6"
]
},
"mobile"
:
1
,
"bitness"
:
"64"
,
"model"
:
"iPhone"
,
"source"
:
3
}
},
"user"
:
{
"ext"
:
{
"eids"
:
[
{
"source"
:
"OMITTED_SOURCE"
,
"uids"
:
[
{
"id"
:
"OMITTED_ID"
}
]
},
{
"source"
:
"OMITTED_SOURCE"
,
"uids"
:
[
{
"id"
:
"OMITTED_ID"
}
]
}
]
}
},
"at"
:
1
,
"tmax"
:
350
,
"cur"
:
[
"USD"
],
"bcat"
:
[
"IAB14-1"
,
"IAB17-11"
],
"regs"
:
{
"gpp"
:
"OMITTED"
,
"gpp_sid"
:
[
8
]
},
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
},
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
}
},
"cattax"
:
1
,
"ext"
:
{
"google_query_id"
:
"ANy-z49Z28-30csCH3Q6L2592cP4mj84zr6ZQJ982HPa49dwsj1WphMK1goO8M62j84bh1PB"
,
"fcap_scope"
:
1
}
}
OpenRTB Protobuf
Show me the example
Serialized request
id
:
"rKxPN2rc298433R68335M1"
imp
{
id
:
"1"
banner
{
w
:
320
h
:
480
pos
:
SIDEBAR
battr
:
VIDEO_IN_BANNER_AUTO_PLAY
battr
:
VIDEO_IN_BANNER_USER_INITIATED
wmax
:
384
hmax
:
480
wmin
:
300
hmin
:
50
format
{
w
:
320
h
:
480
}
format
{
w
:
320
h
:
50
}
[
com
.
google
.
doubleclick
.
banner_ext
]
{
flexslot
{
wmin
:
300
wmax
:
384
hmin
:
50
hmax
:
480
}
}
}
video
{
mimes
:
"video/mp4"
linearity
:
LINEAR
w
:
320
h
:
480
battr
:
VIDEO_IN_BANNER_AUTO_PLAY
battr
:
VIDEO_IN_BANNER_USER_INITIATED
playbackmethod
:
ENTER_SOUND_OFF
pos
:
BELOW_THE_FOLD
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
}
}
displaymanager
:
"GOOGLE"
tagid
:
"9536033828"
bidfloor
:
241.70793093803206
bidfloorcur
:
"JPY"
pmp
{
deals
{
id
:
"52277873"
bidfloor
:
1397.489002
bidfloorcur
:
"JPY"
at
:
FIXED_PRICE
[
com
.
google
.
doubleclick
.
deal
]
{
deal_type
:
PREFERRED_DEAL
publisher_blocks_overridden
:
true
creative_constraints
{
mtypes
:
CREATIVE_MARKUP_BANNER
}
billing_id
:
75764464008
billing_id
:
72269403729
}
}
deals
{
id
:
"75438087"
bidfloor
:
399.282572
bidfloorcur
:
"JPY"
at
:
FIXED_PRICE
[
com
.
google
.
doubleclick
.
deal
]
{
deal_type
:
PREFERRED_DEAL
publisher_blocks_overridden
:
true
creative_constraints
{
mtypes
:
CREATIVE_MARKUP_BANNER
}
billing_id
:
54698438246
billing_id
:
73896418461
}
}
}
secure
:
true
native
{
ver
:
"1.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
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
}
}
plcmttype
:
IN_FEED
eventtrackers
{
event
:
IMPRESSION
methods
:
IMG
}
privacy
:
true
[
com
.
google
.
doubleclick
.
native_ext
]
{
pos
:
BELOW_THE_FOLD
}
}
}
exp
:
3600
metric
{
type
:
"click_through_rate"
value
:
0.0041323439218103886
vendor
:
"EXCHANGE"
}
metric
{
type
:
"viewability"
value
:
0.34
vendor
:
"EXCHANGE"
}
[
com
.
google
.
doubleclick
.
imp
]
{
billing_id
:
73015827208
billing_id
:
49611563199
publisher_settings_list_id
:
8800547900990823335
publisher_settings_list_id
:
7288715008664845891
allowed_vendor_type
:
0
ampad
:
AMP_AD_ALLOWED_AND_EARLY_RENDERED
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_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
:
"GB"
}
}
content
{
livestream
:
false
language
:
"en"
}
mobile
:
true
[
com
.
google
.
doubleclick
.
site
]
{
amp
:
DIALECT_HTML_AMP
page_visibility
:
VISIBILITY_STATE_HIDDEN
ntype
:
NAVIGATION_TYPE_UNKNOWN
}
}
device
{
ua
:
"OMITTED"
geo
{
lat
:
0.0
lon
:
0.0
country
:
"GBR"
region
:
"GB-ENG"
city
:
"London"
zip
:
"SE1"
type
:
IP
utcoffset
:
60
accuracy
:
1437
[
com
.
google
.
doubleclick
.
geo
]
{
geo_criteria_id
:
9045888
}
}
ipv6
:
"2a00:23ee:2870::"
carrier
:
"70062"
make
:
"Samsung"
model
:
"sm-a326b"
os
:
"android"
osv
:
"12"
devicetype
:
HIGHEND_PHONE
w
:
385
h
:
854
pxratio
:
1.875
sua
{
browsers
{
brand
:
"Chromium"
version
:
"136"
}
browsers
{
brand
:
"Google Chrome"
version
:
"136"
}
platform
{
brand
:
"Android"
version
:
"12"
version
:
"0"
}
mobile
:
true
model
:
"SM-A326B"
source
:
CLIENT_HINTS_HIGH_ENTROPY
}
}
user
{
id
:
"91b09w734L84717xiK05zAZf5n0"
buyeruid
:
"8vo3pY3AoGtGr33C3l7675sM26SB7NB8"
customdata
:
"868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866"
consent
:
"OMITTED"
[
com
.
google
.
doubleclick
.
user
]
{
consented_providers_settings
{
consented_providers
:
1725
consented_providers
:
2922
additional_consent
:
"OMITTED"
}
consent
:
"OMITTED"
idage
:
20736000
}
}
at
:
FIRST_PRICE
tmax
:
350
cur
:
"GBP"
cur
:
"TRY"
bcat
:
"5"
bcat
:
"8"
regs
{
[
com
.
google
.
doubleclick
.
regs
]
{
gdpr
:
true
}
}
source
{
schain
{
complete
:
true
nodes
{
asi
:
"testssp.com"
sid
:
"pub-1111111111111111"
hp
:
true
}
ver
:
"1.0"
}
}
cattax
:
GOOGLE_CATEGORIES
[
com
.
google
.
doubleclick
.
bid_request
]
{
google_query_id
:
"ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m"
fcap_scope
:
FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments
{
allow_user_data_collection
:
true
}
}
OpenRTB JSON
Show me the example
{
"id"
:
"rKxPN2rc298433R68335M1"
,
"imp"
:
[
{
"id"
:
"1"
,
"banner"
:
{
"w"
:
320
,
"h"
:
480
,
"pos"
:
6
,
"battr"
:
[
6
,
7
],
"wmax"
:
384
,
"hmax"
:
480
,
"wmin"
:
300
,
"hmin"
:
50
,
"format"
:
[
{
"w"
:
320
,
"h"
:
480
},
{
"w"
:
320
,
"h"
:
50
}
],
"ext"
:
{
"flexslot"
:
{
"wmin"
:
300
,
"wmax"
:
384
,
"hmin"
:
50
,
"hmax"
:
480
}
}
},
"video"
:
{
"mimes"
:
[
"video/mp4"
],
"linearity"
:
1
,
"w"
:
320
,
"h"
:
480
,
"battr"
:
[
6
,
7
],
"playbackmethod"
:
[
6
],
"pos"
:
3
,
"protocols"
:
[
2
,
3
],
"skip"
:
1
,
"placement"
:
3
,
"playbackend"
:
2
,
"plcmt"
:
4
,
"ext"
:
{
"inferredplcmt"
:
4
}
},
"displaymanager"
:
"GOOGLE"
,
"tagid"
:
"9536033828"
,
"bidfloor"
:
241.70793093803206
,
"bidfloorcur"
:
"JPY"
,
"pmp"
:
{
"deals"
:
[
{
"id"
:
"52277873"
,
"bidfloor"
:
1397.489002
,
"bidfloorcur"
:
"JPY"
,
"at"
:
3
,
"ext"
:
{
"deal_type"
:
1
,
"publisher_blocks_overridden"
:
1
,
"creative_constraints"
:
{
"mtypes"
:
[
1
]
},
"billing_id"
:
[
"75764464008"
,
"72269403729"
]
}
},
{
"id"
:
"75438087"
,
"bidfloor"
:
399.282572
,
"bidfloorcur"
:
"JPY"
,
"at"
:
3
,
"ext"
:
{
"deal_type"
:
1
,
"publisher_blocks_overridden"
:
1
,
"creative_constraints"
:
{
"mtypes"
:
[
1
]
},
"billing_id"
:
[
"54698438246"
,
"73896418461"
]
}
}
]
},
"secure"
:
1
,
"native"
:
{
"ver"
:
"1.2"
,
"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,\"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}}],\"plcmttype\":1,\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"pos\":3}}"
},
"exp"
:
3600
,
"metric"
:
[
{
"type"
:
"click_through_rate"
,
"value"
:
0.0041323439218103886
,
"vendor"
:
"EXCHANGE"
},
{
"type"
:
"viewability"
,
"value"
:
0.34
,
"vendor"
:
"EXCHANGE"
}
],
"ext"
:
{
"billing_id"
:
[
"73015827208"
,
"49611563199"
],
"publisher_settings_list_id"
:
[
"8800547900990823335"
,
"7288715008664845891"
],
"allowed_vendor_type"
:
[
0
],
"ampad"
:
4
,
"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"
:
1
,
"publisher_blocks_enforcement"
:
1
},
"auction_environment"
:
0
,
"ae"
:
0
}
}
],
"site"
:
{
"page"
:
"https://www.google.com"
,
"publisher"
:
{
"id"
:
"pub-1111111111111111"
,
"ext"
:
{
"country"
:
"GB"
}
},
"content"
:
{
"livestream"
:
0
,
"language"
:
"en"
},
"mobile"
:
1
,
"ext"
:
{
"amp"
:
1
,
"page_visibility"
:
2
,
"ntype"
:
0
}
},
"device"
:
{
"ua"
:
"OMITTED"
,
"geo"
:
{
"lat"
:
0.0
,
"lon"
:
0.0
,
"country"
:
"GBR"
,
"region"
:
"GB-ENG"
,
"city"
:
"London"
,
"zip"
:
"SE1"
,
"type"
:
2
,
"utcoffset"
:
60
,
"accuracy"
:
1437
,
"ext"
:
{
"geo_criteria_id"
:
9045888
}
},
"ipv6"
:
"2a00:23ee:2870::"
,
"carrier"
:
"70062"
,
"make"
:
"Samsung"
,
"model"
:
"sm-a326b"
,
"os"
:
"android"
,
"osv"
:
"12"
,
"devicetype"
:
4
,
"w"
:
385
,
"h"
:
854
,
"pxratio"
:
1.875
,
"sua"
:
{
"browsers"
:
[
{
"brand"
:
"Chromium"
,
"version"
:
[
"136"
]
},
{
"brand"
:
"Google Chrome"
,
"version"
:
[
"136"
]
}
],
"platform"
:
{
"brand"
:
"Android"
,
"version"
:
[
"12"
,
"0"
]
},
"mobile"
:
1
,
"model"
:
"SM-A326B"
,
"source"
:
2
}
},
"user"
:
{
"id"
:
"91b09w734L84717xiK05zAZf5n0"
,
"buyeruid"
:
"8vo3pY3AoGtGr33C3l7675sM26SB7NB8"
,
"customdata"
:
"868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866"
,
"consent"
:
"OMITTED"
,
"ext"
:
{
"consented_providers_settings"
:
{
"consented_providers"
:
[
"1725"
,
"2922"
],
"additional_consent"
:
"OMITTED"
},
"consent"
:
"OMITTED"
,
"idage"
:
20736000
}
},
"at"
:
1
,
"tmax"
:
350
,
"cur"
:
[
"GBP"
,
"TRY"
],
"bcat"
:
[
"5"
,
"8"
],
"regs"
:
{
"ext"
:
{
"gdpr"
:
1
}
},
"source"
:
{
"schain"
:
{
"complete"
:
1
,
"nodes"
:
[
{
"asi"
:
"testssp.com"
,
"sid"
:
"pub-1111111111111111"
,
"hp"
:
1
}
],
"ver"
:
"1.0"
}
},
"cattax"
:
500
,
"ext"
:
{
"google_query_id"
:
"ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m"
,
"fcap_scope"
:
2
,
"privacy_treatments"
:
{
"allow_user_data_collection"
:
1
}
}
}