Una interacción de ofertas en tiempo real comienza cuando Google envía una solicitud de oferta a tu aplicación. En esta guía, se explica cómo codificar tu aplicación para
procesar la solicitud de oferta.
Precaución: El protocolo de RTB de Google dejó de estar disponible. En los ejemplos de esta guía, se usará la implementación de Protobuf de OpenRTB de Google, a menos que se indique lo contrario.
Cómo analizar la solicitud de Protobuf
Google envía una solicitud de oferta como un búfer de protocolo serializado adjunto como la carga útil binaria de una solicitud HTTP POST. Content-Type
se configura como application/octet-stream
. Consulta Ejemplo de solicitud de oferta para ver un ejemplo.
Debes analizar esta solicitud en una instancia del mensaje BidRequest
. Según el protocolo que elijas, BidRequest
se define en openrtb.proto
o en realtime-bidding.proto
, que dejó de estar disponible, que se puede obtener en la página de datos de referencia . Puedes analizar el mensaje con el método ParseFromString()
en la clase generada para BidRequest
. Por ejemplo, el siguiente código de C++ analiza una solicitud dada una carga útil POST en una cadena:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Una vez que tengas el BidRequest
, podrás trabajar con él como un
objeto, extraer e interpretar los campos que necesites. Por ejemplo, en C++, iterar por las ofertas en una "BidRequest" de OpenRTB podría verse de la siguiente manera:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
IDs de facturación
Recibes una solicitud de oferta cuando una o más de tus
configuraciones de segmentación previa segmentan el inventario de anuncios de un publicador. BidRequest.imp.ext.billing_id
se propagará con los IDs de facturación de los compradores aptos y las configuraciones de segmentación previa relevantes. Además, para el inventario de ofertas , puedes encontrar los IDs de facturación asociados con el comprador relevante con BidRequest.imp.pmp.deal.ext.billing_id
. Cuando se realiza una oferta, solo se pueden especificar los IDs de facturación de los compradores incluidos en la solicitud de oferta.
Si se incluyen varios IDs de facturación en la solicitud de oferta, debes especificar el ID de facturación del comprador al que deseas atribuir tu oferta con el campo BidResponse.seatbid.bid.ext.billing_id
.
Archivos de diccionario
La solicitud de oferta usa identificadores definidos en archivos de diccionario, que están disponibles en la página Datos de referencia .
Macros de URL de oferta del protocolo de RTB de Google
De manera opcional, algunos campos de BidRequest
se pueden insertar en la URL que se usa en la solicitud HTTP POST. Esto es útil, por ejemplo, si usas un frontend ligero que balancea la carga en varios backends con un valor de la solicitud. Comunícate con tu administrador técnico de cuentas para solicitar asistencia con macros nuevas.
Macro Descripción
%%GOOGLE_USER_ID%%
Se reemplazó por el google_user_id
de BidRequest
. Por ejemplo, la URL del ofertante
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%% se reemplazará por algo como
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl en el momento de la solicitud.
Si el ID de usuario de Google es desconocido, se reemplaza la cadena vacía, con un resultado similar al siguiente:
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Se reemplaza por 1
o 0
cuando se llama a has_mobile()
de BidRequest
.
%%HAS_VIDEO%%
Se reemplaza por 1
(verdadero) o 0
(falso) cuando se llama a has_video()
de BidRequest
.
%%HOSTED_MATCH_DATA%%
Se reemplaza por el valor del campo hosted_match_data
de BidRequest
.
%%MOBILE_IS_APP%%
Se reemplaza por 1
(verdadero) o 0
(falso) del campo mobile.is_app
de BidRequest
.
Cómo encontrar el ID de la app para dispositivos móviles a partir de la URL de la transacción
Las transacciones de aplicaciones para dispositivos móviles informarán URLs que se ven de la siguiente manera:
mbappgewtimrzgyytanjyg4888888 .com
Usa un decodificador de base 32 para decodificar la parte de la cadena en negrita
(gewtimrzgyytanjyg4888888
).
Puedes usar un decodificador en línea , pero tendrás que escribir las letras en mayúsculas y reemplazar los 8
finales por valores =
.
Por lo tanto, la decodificación de este valor es la siguiente:
GEWTIMRZGYYTANJYG4======
genera lo siguiente:
1 - 429610587
La cadena
429610587
es el ID de la app para iOS
iFunny .
Les doy otro ejemplo. La URL denunciada es la siguiente:
mbappgewtgmjug4ytmmrtgm888888 .com
Decodifica este valor:
GEWTGMJUG4YTMMRTGM======
genera lo siguiente:
1 - 314716233
El resultado
314716233
es el ID de la app para la app para iOS
TextNow .
Cómo encontrar el nombre de la app para dispositivos móviles a partir de la URL de la transacción
Este es un ejemplo para obtener el nombre de la app. La URL informada es la siguiente:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Decodifica este valor:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
genera lo siguiente:
air.com.hypah.io.slither
El resultado equivale a la app para Android
slither.io .
Campos de Open Bidding
Las solicitudes de oferta que se envían a los ofertantes de intercambios y redes que participan en Open Bidding son similares a las de Authorized Buyers que participan en las ofertas en tiempo real estándar. Los clientes de Open Bidding recibirán una pequeña cantidad de campos adicionales, y algunos campos existentes pueden tener usos alternativos. Entre estos, se incluyen los siguientes:
OpenRTB
Authorized Buyers
Detalles
BidRequest.imp[].ext.dfp_ad_unit_code
BidRequest.adslot[].dfp_ad_unit_code
Contiene el código de red de Ad Manager del publicador seguido de la jerarquía de la unidad de anuncios, separada por barras diagonales.
A modo de ejemplo, esto aparecería con un formato similar al siguiente:
/1234/cruises/mars
.
BidRequest.user.data[].segment[]
BidRequest.adslot[].exchange_bidding.key_value[]
Pares clave-valor repetidos que se envían del publicador al ofertante de intercambio.
Puedes determinar que los valores son pares clave-valor que envía el publicador cuando BidRequest.user.data[].name
se establece en “Publisher Passed”
.
Nota: Actualmente, este campo solo se envía a los participantes de la versión beta cerrada.
Cómo declarar proveedores permitidos
Los proveedores de tecnología que proporcionan servicios como investigación, remarketing y publicación de anuncios pueden desempeñar un papel en la interacción entre compradores y vendedores. Solo se permiten proveedores que Google haya verificado para participar en las interacciones de Authorized Buyers.
Para comprender el BidRequest
y crear tu BidResponse
, debes conocer las dos posibilidades diferentes para declarar proveedores de tecnología:
No es necesario declarar algunos proveedores, ya que aparecen en la sección Proveedores externos certificados de Ad Manager .
Otros proveedores solo pueden participar si se declaran en BidRequest
:
En BidRequest
, el campo BidRequest.imp.ext.allowed_vendor_type
especifica qué proveedores permite el vendedor. Los proveedores que se enviarán en allowed_vendor_type
se enumeran en el archivo de diccionario vendors.txt
.
Ejemplo de solicitud de oferta
En los siguientes ejemplos, se representan muestras legibles por humanos de las solicitudes de Protobuf y JSON.
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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"
Para convertir la solicitud de oferta en un formato binario, como lo harías con la carga útil POST en una solicitud real, puedes hacer lo siguiente (en C++). Sin embargo, ten en cuenta que esto no se aplica a JSON de OpenRTB.
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
}
}
Comentarios en tiempo real
Los comentarios en tiempo real están disponibles para Authorized Buyers, así como para los intercambios y las redes que usan Open Bidding.
Los comentarios de la respuesta a la oferta se admiten en la solicitud de oferta posterior para OpenRTB y el protocolo RTB de Google obsoleto. En el caso de OpenRTB, se envía en BidRequest.ext.bid_feedback
.
Además de los campos predeterminados que se envían en los comentarios de la respuesta de la oferta, también puedes enviar datos personalizados en la respuesta de la oferta con el campo BidResponse.seatbid.bid.ext.event_notification_token
. event_notification_token
son datos arbitrarios que solo conoce el ofertante y que pueden ayudar con la depuración, por ejemplo, un nuevo ID de segmentación o de oferta que representa una táctica nueva, o metadatos asociados con la creatividad que solo conoce el ofertante. Para obtener más información, consulta el Búfer de protocolo de extensiones de OpenRTB para OpenRTB o el protocolo de RTB de Google obsoleto.
Advertencia: Si tienes extremos de ofertas configurados para usar OpenRTB y Google RTB, un problema conocido es que un event_notification_token
configurado en una respuesta a la oferta para un protocolo puede aparecer en los comentarios de la respuesta a la oferta en el otro protocolo. Debes establecer event_notification_token
en tu respuesta de oferta como una cadena UTF-8 en ambos protocolos. De lo contrario, es posible que las solicitudes de oferta que incluyen el token no se puedan serializar y no lleguen a tus extremos.
Cuando Authorized Buyers envía una solicitud de oferta a un ofertante, este responde con un BidResponse
. Si el ofertante tiene habilitados los comentarios en tiempo real, en una solicitud de oferta posterior, Authorized Buyers envía comentarios sobre la respuesta en un mensaje BidFeedback
:
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 ;
}
En este mensaje, el primer campo que debes verificar es bid_feedback.creative_status_code
. Puedes encontrar el significado del código en
creative-status-codes.txt . Ten en cuenta que, si ganas la oferta, puedes inhabilitar los comentarios sobre el precio. Para obtener más información, consulta Cómo inhabilitar la función .
Los comentarios en tiempo real incluyen el ID de la solicitud de oferta y una de las siguientes opciones:
Resultado de la subasta
Comentarios en tiempo real
El comprador no envió una oferta.
Nada.
El comprador envió una oferta que se filtró antes de llegar a la subasta.
El código de estado de la creatividad (creative-status-codes.txt ).
El comprador envió una oferta, pero perdió la subasta.
El código de estado de la creatividad 79
(se superó la oferta en la subasta)
El comprador envió una oferta que ganó la subasta.
El precio de liquidación y el código de estado de la creatividad 1
Para una impresión de aplicación y un código de estado de creatividad de 83
, el publicador de la aplicación podría haber estado usando una cascada de mediación y, por lo tanto, la oferta ganadora habría competido con otra demanda en la cadena de cascada de notificaciones de conversión del publicador. Obtén información para usar sampled_mediation_cpm_ahead_of_auction_winner
cuando realices ofertas .
Muestra
El siguiente es un ejemplo de comentarios en tiempo real, como se ve en los protocolos compatibles:
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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
Crea un modelo de ofertas para subastas de primer precio
Después de realizar una oferta en una subasta de primer precio, recibirás comentarios en tiempo real, incluidos los campos minimum_bid_to_win
y sampled_mediation_cpm_ahead_of_auction_winner
, si la oferta no se filtró de la subasta. Estos indicadores se pueden usar para fundamentar tu lógica de ofertas sobre qué tan alta o baja podría haber sido tu oferta para ganar la impresión.
minimum_bid_to_win
: Es la oferta mínima que se podría haber realizado para ganar la subasta de ofertas en tiempo real. Si ganaste la subasta, esta será la oferta más baja que podrías haber realizado y, aún así, ganar. Si perdiste la subasta, esta será la oferta ganadora.
sampled_mediation_cpm_ahead_of_auction_winner
: Si hay otras redes en la cadena de mediación , el valor de este campo es un precio que representa una oferta de muestra de una de las redes de mediación aptas que fue superior a la oferta ganadora de la subasta, ponderada por el porcentaje de anuncios publicados esperado. Se establecerá en 0 si se espera que ninguna de las redes de la cadena de mediación se complete o si el publicador no usa la mediación del SDK.
Cómo funciona
Para describir los cálculos que se usan para determinar los valores posibles para minimum_bid_to_win
y sampled_mediation_cpm_ahead_of_auction_winner
, primero debemos definir lo siguiente:
A continuación, se muestran los CPM de la cadena de mediación en orden descendente:
\[C_1, C_2, …, C_n\]
A continuación, se muestran las tasas de relleno correspondientes para los CPM en la cadena de mediación:
\[f_1, f_2, …, f_n\]
La siguiente es una función que se usa para determinar el CPM esperado y su probabilidad a partir del elemento de la cadena de mediación \(i\), según la tasa de relleno determinada:
\(X_i = \{C_i\) con probabilidad \(f_i\); \(0\) con probabilidad \(1 - f_i\}\)
La cadena de mediación ganadora final será la siguiente:
\[\{C_1, C_2, …, C_K, W\}\]
en el que \(W\) es la oferta ganadora y \(C_K > W >= C_{K+1}\)
El precio de reserva, o mínimo, se indica como \(F\).
La oferta en segundo lugar se indica como \(R\).
Cálculos para el ganador de la subasta
Campo
Cálculo
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) con probabilidad \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
Para \(1 <= i <= K\).
Cálculos para el perdedor de la subasta
Campo
Cálculo
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Supongamos que un publicador usa ofertas en tiempo real y una cadena de mediación de SDK de la siguiente manera:
Cadena de mediación de SDK
CPM esperado
Tasa de relleno
Red 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Red 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Red 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Red 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Supongamos lo siguiente como resultado de la subasta de RTB:
Subasta de RTB
CPM
Ganador de la subasta (W)
USD 1.00
Subcampeón de la subasta (R)
$0.05
Precio de reserva / precio mínimo (F)
USD 0
Oferta que ganó la subasta
El siguiente es un ejemplo de cómo se calculan los valores y las probabilidades de minimum_bid_to_win
y sampled_mediation_cpm_ahead_of_auction_winner
para una oferta que ganó.
minimum_bid_to_win
Probabilidad
\(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
Probabilidad
\(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\%\)
Nota: Si el ganador de la subasta publica su anuncio y recibe una notificación de facturación, por ejemplo, a través de un extremo especificado en BidResponse.seatbid[].bid[].burl
, puede deducir que ninguno de los CPM de mediación muestreados terminó de completarse y puede incluir la frecuencia con la que esto ocurre en su modelo.
Ofertas que perdieron la subasta
El siguiente es un ejemplo de cómo se calculan los valores y las probabilidades de minimum_bid_to_win
y sampled_mediation_cpm_ahead_of_auction_winner
para una oferta que perdió.
minimum_bid_to_win
Probabilidad
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probabilidad
\(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\%\)
Nota: Un valor de sampled_mediation_cpm_ahead_of_auction_winner
de 0 indica que ganó la subasta de ofertas en tiempo real. En el ejemplo anterior, se espera que una red de mediación de la competencia no supere la oferta del ganador de la subasta el 52.2% del tiempo.
Separación de ofertas
La aplanación de ofertas describe el procesamiento de un solo BidRequest
complejo en varias solicitudes de ofertas que se envían a tu aplicación. Cuando se aplana una solicitud de oferta, puedes saber cuáles solicitudes de oferta formaron parte de la original, ya que tendrán un valor idéntico en el campo BidRequest.ext.google_query_id
.
La aplanación de ofertas está habilitada de forma predeterminada, pero puedes comunicarte con tu administrador de cuenta si prefieres inhabilitarla.
Algunas oportunidades publicitarias pueden aceptar varios formatos. Con la aplanación de ofertas, cada formato se envía en una solicitud de oferta distinta en la que los atributos, como los IDs de facturación aptos, son relevantes para el formato especificado en la solicitud.
Las solicitudes de oferta que contengan los siguientes formatos se separarán en solicitudes de oferta distintas:
Banner
Video
Audio
Nativo
A continuación, se muestra un ejemplo de una solicitud de oferta JSON de OpenRTB simplificada sin aplanar el formato del anuncio en comparación con un conjunto equivalente de solicitudes aplanadas:
Pre-flatten
Muéstrame el ejemplo
{
"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"
}
}
Después de la aplanación
Muéstrame el ejemplo
Solicitud 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"
}
}
Solicitud 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"
}
}
Ofertas
Una oportunidad de anuncio para un ofertante determinado se puede aplicar a varios tipos de acuerdos, además de la subasta abierta. Con la aplanación de ofertas para los acuerdos, se enviará una solicitud de oferta para la subasta abierta y una para cada tipo de acuerdo de precio fijo. En la práctica, las restricciones de anuncios pueden diferir entre las subastas y los tipos de acuerdos de precio fijo. Por ejemplo, para una oportunidad de anuncio de video determinada que está disponible para la subasta abierta y un acuerdo de precio fijo, un ofertante recibirá solicitudes de oferta distintas para cada una, en las que las restricciones, como la duración máxima del anuncio y si se permiten los anuncios que se pueden omitir, pueden diferir. Como resultado, la aplanación aplicada a la oportunidad de anuncios te permite discernir con mayor facilidad las restricciones de anuncios para la subasta abierta y el acuerdo de precio fijo.
Nota: Las subastas privadas y los paquetes de subastas tendrán restricciones idénticas a las de la subasta abierta y se seguirán incluyendo en las solicitudes de ofertas de subasta abierta.
Duración máxima de video que se puede omitir
El protocolo de Google y la implementación de OpenRTB admiten los siguientes campos para la duración y la posibilidad de omitir el video:
Duración
Duración que se puede omitir
Posibilidad de omitir
Protocolo de Google
max_ad_duration
skippable_max_ad_duration
video_ad_skippable
OpenRTB
maxduration
N/A
skip
Esto significa que, si bien el protocolo de Google puede tener una duración detallada que se puede omitir y que no se puede omitir, la implementación de OpenRTB solo tiene un valor de duración máxima.
Antes de la aplanación de ofertas, maxduration
de OpenRTB se establecería en el valor más bajo de los campos max_ad_duration
y skippable_max_ad_duration
del protocolo de Google. Este comportamiento ahora cambió para enviar dos solicitudes de oferta independientes cuando estos valores difieren: una que representa el maxduration
para las oportunidades que se pueden omitir y la otra para las que no se pueden omitir.
En los siguientes ejemplos, se muestra cómo se traduce una solicitud de protocolo de Google a OpenRTB antes y después de la aplanación de ofertas. La solicitud de protocolo de Google equivalente tiene un max_ad_duration
de 15
y un skippable_max_ad_duration
de 60
.
Ejemplo
max_ad_duration
skip
(verdadero O falso)
Solicitud original sin aplanar
15
true
Solicitud nivelada n.° 1: No se puede omitir
15
false
Solicitud nivelada n° 2: Se puede omitir
60
true
La separación de solicitudes de ofertas de duración de video que se puede omitir solo se realizará cuando se cumplan estas condiciones:
La solicitud permite videos.
Se permiten videos que se pueden omitir y que no se pueden omitir, y las dos duraciones máximas respectivas difieren en valor.
Esta solicitud es apta para subastas privadas o subastas abiertas.
La cuenta del ofertante tiene extremos OpenRTB activos.
Para inhabilitar este tipo de aplanamiento, comunícate con tu administrador técnico de cuentas.
Grupos de anuncios de video
Las solicitudes de ofertas para un grupo de anuncios de video con varias oportunidades de anuncios se aplanan, de modo que cada solicitud de oferta sea para una oportunidad de anuncio individual de ese grupo.
Esto te permite ofertar por varias oportunidades de anuncios para un grupo determinado.
Open Measurement
Open Measurement te permite especificar proveedores externos que proporcionan servicios de medición y verificación independientes para los anuncios publicados en entornos de aplicaciones para dispositivos móviles.
Para determinar si un publicador admite la medición abierta en la solicitud de oferta, verifica si la oportunidad de anuncio excluye el atributo OmsdkType:
OMSDK 1.0
que se encuentra en Atributos de creatividad que puede excluir el publicador . Se encuentra en el atributo battr
para Banner o Video , según el formato.
Para obtener más información sobre cómo interpretar las solicitudes de oferta que contienen indicadores de Open Measurement, consulta el artículo del Centro de ayuda del SDK de Open Measurement .
Solicitudes de oferta de muestra
En las siguientes secciones, se muestran solicitudes de oferta de muestra para diferentes tipos de anuncios.
Nota: Las muestras de Protobuf incluyen vínculos de descarga a solicitudes de oferta serializadas similares. No se garantiza que sean idénticas.
Banner de la app
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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
Anuncio intersticial de aplicación
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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
Anuncio intersticial de video en la aplicación
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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 nativa
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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"
Video web
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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"
Banner de la Web móvil para ofertantes de intercambio
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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
}
}
Protobuf de OpenRTB
Muéstrame el ejemplo
Solicitud serializada
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
}
}
JSON de OpenRTB
Muéstrame el ejemplo
{
"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 (obsoleto)
Muéstrame el ejemplo
Solicitud serializada
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