Uma interação de lances em tempo real começa quando o Google envia uma solicitação de lance ao seu aplicativo. Este guia explica como programar seu aplicativo para
processar a solicitação de bid.
Solicitação de análise
O Google envia uma solicitação de lance serializada em formatos OpenRTB JSON ou Protobuf, anexada como a carga útil de uma solicitação HTTP POST. O formato recebido depende da configuração do seu endpoint . Consulte Exemplo de solicitação de lance .
É preciso analisar essa solicitação para receber o BidRequest serializado. Se você estiver usando o formato Protobuf, baixe openrtb.proto e openrtb-adx.proto na página dados de referência e use-os para gerar uma biblioteca que pode ser usada para analisar a mensagem BidRequest. Por exemplo, o código C++ a seguir analisa uma solicitação usando uma carga útil POST em uma string:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Depois de ter o BidRequest, você pode trabalhar com ele como um
objeto, extraindo e interpretando os campos necessários. Por exemplo, em C++, a iteração de transações em um `BidRequest` do OpenRTB pode ser assim:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
IDs do faturamento
Você recebe uma solicitação de lance quando o inventário de anúncios de um publisher é segmentado por uma ou mais das suas
configurações de pré-segmentação . BidRequest.imp.ext.billing_id
será preenchido com os IDs de faturamento de todos os compradores qualificados e as configurações
relevantes de pré-segmentação. Além disso, para inventário de transação , é possível encontrar os IDs de faturamento associados aos compradores relevantes usando BidRequest.imp.pmp.deal.ext.billing_id. Ao fazer um lance, só é possível especificar os IDs de faturamento dos compradores incluídos na solicitação de lance.
Se vários IDs de faturamento forem incluídos na solicitação de lance, especifique o ID do comprador a quem você quer atribuir seu lance com o campo BidResponse.seatbid.bid.ext.billing_id.
imp {
ext {
// The billing IDs of all of your matching pretargeting configs and eligible child seats are
// stored in a flat list here.
billing_id: 123
billing_id: 456
billing_id: 789
}
pmp {
// All eligible deals are stored in a single flat list.
deal {
id: 1000
ext {
// The specific billing IDs eligible to bid on this deal are indicated here.
billing_id: 789
}
...
}
deal {
id: 2000
ext {
billing_id: 123
billing_id: 456
}
...
}
}
...
}
...
Determinar categorias bloqueadas
Quando você faz um lance, o criativo incluído não pode ter categorias detectadas que o publisher bloqueou. Caso contrário, o lance será filtrado do leilão.
Para encontrar as categorias bloqueadas de uma impressão, revise o campo BidRequest.bcat, que é preenchido com as categorias da taxonomia configurada para sua conta.
O exemplo a seguir mostra categorias bloqueadas com base em uma taxonomia de categoria de anúncio configurada:
Taxonomia de conteúdo 1.0 do IAB
// Bid request
{
// Indicates the blocked categories using IAB Content 1.0 Taxonomy.
"bcat" : [
"IAB9-9" , // Cigars
"IAB8-18" // Wine
]
"imp" : {
...
}
}
Taxonomia de categorias de anúncios do Google
// Bid request
{
// Indicates the blocked categories using Google Ad Category Taxonomy.
"bcat" : [
"10138" , // Cigar and tobacco collecting
"10080" , // Tobacco
"11649" , // Wine
"10674" , // Wine collecting
"13008" // Wine clubs
]
"imp" : {
...
}
}
Importante :para determinar quais categorias são detectadas nos seus
criativos, use o recurso creatives na API Real-time Bidding. Para mais detalhes sobre as categorias detectadas, consulte Recurso REST: bidders.creatives .
Arquivos de dicionário
A solicitação de lance usa identificadores definidos em arquivos de dicionário, que estão disponíveis na página de dados de referência .
Macros de URL do bidder
Também é possível inserir algumas informações do BidRequest nos URLs de endpoint de lances usando macros. Se você configurar um URL de endpoint com uma ou mais macros, elas serão expandidas se essas informações estiverem presentes na solicitação de lance. Isso pode ser útil, por exemplo, se você quiser fazer o balanceamento de carga com base em informações no BidRequest.
Entre em contato com seu gerente de contas para solicitar suporte a novas macros.
Macro Descrição
%%GOOGLE_USER_ID%%
Substituído pelo ID do usuário do Google encontrado em
BidRequest.user.id. Por exemplo, o URL do bidder
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%% será
substituído por algo como
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl no momento da
solicitação.
Se o ID do usuário do Google for desconhecido, a string vazia será substituída, com um
resultado semelhante a
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Substituído por 1 para indicar que a solicitação de lance é de um dispositivo móvel ou 0, caso contrário. Isso se baseia no valor de BidRequest.device.devicetype, em que os dispositivos móveis são indicados por HIGHEND_PHONE (4) ou Tablet (5).
%%HAS_VIDEO%%
Substituído por 1 para indicar que a solicitação de lance contém inventário de vídeo ou 0 caso contrário. Isso é baseado no fato de BidRequest.imp.video ser preenchido na solicitação de lance.
%%HOSTED_MATCH_DATA%%
Substituído por um valor com base em BidRequest.user.buyeruid.
%%MOBILE_IS_APP%%
Substituído por 1 para indicar que a solicitação de lance é para inventário de apps para dispositivos móveis ou 0, caso contrário. Isso depende de BidRequest.app estar preenchido.
Encontrar o ID do app para dispositivos móveis no URL da transação
As transações de aplicativos para dispositivos móveis vão gerar URLs assim:
mbappgewtimrzgyytanjyg4888888 .com
Use um decodificador de base 32 para decodificar a parte da string em negrito (gewtimrzgyytanjyg4888888 ).
Você pode usar um decodificador on-line , mas terá que colocar as letras em maiúsculas e substituir os 8s finais por valores =.
Portanto, ao decodificar esse valor:
GEWTIMRZGYYTANJYG4======
resulta em:
1 - 429610587
A string
429610587 é o ID do app iOS
iFunny .
Veja outro exemplo. O URL denunciado é:
mbappgewtgmjug4ytmmrtgm888888 .com
Decodificação desse valor:
GEWTGMJUG4YTMMRTGM======
resulta em:
1 - 314716233
O resultado
314716233 é o ID do app
TextNow para iOS.
Encontrar o nome do app para dispositivos móveis no URL da transação
Confira um exemplo de como conseguir o nome do app. O URL informado é este:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Decodificação desse valor:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
resulta em:
air.com.hypah.io.slither
O resultado equivale ao app Android
slither.io .
Campos do Open Bidding
As solicitações de lance enviadas aos bidders de troca e rede que participam do Open Bidding são semelhantes às do Authorized Buyers que participam dos lances em tempo real padrão. Os clientes do Open Bidding vão receber um pequeno número de campos adicionais, e alguns campos atuais podem ter usos alternativos. Isso inclui o seguinte:
OpenRTB
Detalhes
BidRequest.imp.ext.dfp_ad_unit_code
Contém o código de rede do publisher no Ad Manager seguido pela hierarquia de blocos de anúncios, separados por barras.
Por exemplo, isso apareceria com uma formatação semelhante a:
/1234/cruises/mars.
BidRequest.user.data.segment
Pares de chave-valor repetidos enviados do publisher para o bidder da troca.
É possível determinar que os valores são pares de chave-valor enviados pelo
publisher quando BidRequest.user.data.name está definido como
“Publisher Passed”.
Observação :no momento, esse campo é enviado apenas para participantes da versão Beta
fechada.
Declarar fornecedores permitidos
Os fornecedores de tecnologia que oferecem serviços como pesquisa, remarketing e veiculação de anúncios podem ter um papel na interação entre compradores e vendedores. Somente fornecedores aprovados pelo Google para participação em interações do Authorized Buyers são permitidos.
Para entender o BidRequest e criar seu BidResponse, você precisa conhecer as duas possibilidades diferentes de declarar fornecedores de tecnologia:
Alguns fornecedores não precisam ser declarados. Eles estão listados em Fornecedores externos certificados do Ad Manager .
Outros fornecedores só podem participar se forem declarados no
BidRequest:
Em BidRequest, o campo BidRequest.imp.ext.allowed_vendor_type especifica quais fornecedores são permitidos pelo vendedor. Os fornecedores que serão enviados no
allowed_vendor_type estão listados no
arquivo de dicionário vendors.txt .
Exemplo de solicitação de lance
Os exemplos a seguir representam amostras legíveis por humanos das solicitações Protobuf e JSON.
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "nz1Q895H43SP4ImxSmQa6b"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 339
hmax : 53
wmin : 227
hmin : 40
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 227
wmax : 339
hmin : 40
hmax : 53
}
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.4.0"
tagid : "1493802015"
bidfloor : 73.7217929849032
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0008632762474007905
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 1.0
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 86548870602
billing_id : 64050817605
publisher_settings_list_id : 1919771331799042254
publisher_settings_list_id : 8607682056454820141
allowed_vendor_type : 0
allowed_vendor_type : 9723
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 33
allowed_restricted_category : 32
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "1.2.15"
bundle : "com.google.testapp"
publisher {
id : "pub-2021944733829074"
[ com . google . doubleclick . publisher ] {
country : "SG"
}
}
content {
url : "https://www.google.com"
userrating : "4.9"
livestream : false
language : "sv"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "SWE"
region : "SE-O"
city : "Stenungsund"
zip : "472 31"
type : IP
utcoffset : 120
accuracy : 2913
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1012566
}
}
make : "Samsung"
model : "SM-A546B"
os : "android"
osv : "15"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "bc49e134-7f3b-4282-928e-5ffa35e1047f"
w : 339
h : 735
pxratio : 3.188
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "15"
}
mobile : true
bitness : "64"
model : "SM-A546B"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.97
charging : false
diskspace : 12800
audioout : AUDIO_SILENT
}
}
user {
id : "1E085g86030JZxtR8SO7g147Ygt"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 2415
consented_providers : 723
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 1080
depth : 610
requestssinceappopen : 1871
priorclicks : 0
}
idage : 10368000
}
}
at : FIRST_PRICE
tmax : 1000
cur : "JPY"
cur : "GBP"
bcat : "5"
bcat : "31"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v251815999.243220000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "nz1Q895H43SP4ImxSmQa6b" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 339 ,
"hmax" : 53 ,
"wmin" : 227 ,
"hmin" : 40 ,
"format" : [
{
"w" : 320 ,
"h" : 50
},
{
"w" : 300 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 227 ,
"wmax" : 339 ,
"hmin" : 40 ,
"hmax" : 53
}
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "23.4.0" ,
"tagid" : "1493802015" ,
"bidfloor" : 73.7217929849032 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0008632762474007905 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 1.0 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"86548870602" ,
"64050817605"
],
"publisher_settings_list_id" : [
"1919771331799042254" ,
"8607682056454820141"
],
"allowed_vendor_type" : [
0 ,
9723
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
33 ,
32
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "1.2.15" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-2021944733829074" ,
"ext" : {
"country" : "SG"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.9" ,
"livestream" : 0 ,
"language" : "sv"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "SWE" ,
"region" : "SE-O" ,
"city" : "Stenungsund" ,
"zip" : "472 31" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 2913 ,
"ext" : {
"geo_criteria_id" : 1012566
}
},
"make" : "Samsung" ,
"model" : "SM-A546B" ,
"os" : "android" ,
"osv" : "15" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "bc49e134-7f3b-4282-928e-5ffa35e1047f" ,
"w" : 339 ,
"h" : 735 ,
"pxratio" : 3.188 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"15"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "SM-A546B" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.97 ,
"charging" : 0 ,
"diskspace" : 12800 ,
"audioout" : 3
}
},
"user" : {
"id" : "1E085g86030JZxtR8SO7g147Ygt" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"2415" ,
"723"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 1080 ,
"depth" : 610 ,
"requestssinceappopen" : 1871 ,
"priorclicks" : 0
},
"idage" : 10368000
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"JPY" ,
"GBP"
],
"bcat" : [
"5" ,
"31"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v251815999.243220000.1"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zGnD1h-SFMwW30WOg7X29LI78CmEi6lwfZBDI4RXQ8h6ufYC9L0y2Y448cm0445Obh37" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Para converter a solicitação de lance em um formato binário, como você faria com o payload
POST em uma solicitação real, faça o seguinte (em C++). No entanto, isso não se aplica ao JSON 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
}
}
Feedback em tempo real
O feedback em tempo real está disponível para o Authorized Buyers, bem como para trocas e redes que usam o Open Bidding.
O feedback em tempo real preenche BidRequest.ext.bid_feedback com base no resultado de um ou mais lances feitos anteriormente e pode ser usado para encontrar detalhes, como se o lance venceu o leilão ou o lance mínimo necessário para vencer. Entre em contato com seu gerente de contas para ativar o feedback em tempo real.
Além dos campos padrão enviados no feedback de resposta do lance, você também pode enviar dados personalizados na resposta do lance usando o campo BidResponse.seatbid.bid.ext.event_notification_token. O event_notification_token são dados arbitrários conhecidos apenas pelo bidder que podem ajudar na depuração. Por exemplo, um novo ID de segmentação ou ID de lances que representa uma nova tática ou metadados associados ao criativo conhecidos apenas pelo bidder. Para mais detalhes, consulte o
arquivo de buffer de protocolo de extensões do OpenRTB .
Quando o Authorized Buyers envia uma solicitação de lance a um bidder, ele responde com um BidResponse. Se o bidder tiver o feedback em tempo real ativado, em uma solicitação de lance subsequente, o Authorized Buyers enviará feedback sobre a resposta em uma mensagem 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 ;
// 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 ;
}
Na mensagem, o primeiro campo que você precisa verificar é
bid_feedback.creative_status_code. Encontre o significado do código em
creative-status-codes.txt . Se você ganhar o lance, poderá desativar o feedback de preço. Para mais informações, consulte Como
desativar .
O feedback em tempo real inclui o ID da solicitação de lance e um dos seguintes itens:
Resultado do leilão
Feedback em tempo real
O comprador não enviou um lance.
Nada
O comprador enviou um lance que foi filtrado antes de chegar ao leilão.
O código de status do criativo (creative-status-codes.txt ).
O comprador enviou um lance, mas perdeu o leilão.
O código de status do criativo 79 (superado no leilão).
O comprador enviou um lance que venceu o leilão.
O preço de compensação e o código de status do criativo 1.
Para uma impressão de app e um código de status do criativo 83, o editor do app pode ter usado uma cascata de mediação. Portanto, o lance vencedor teria competido com outras demandas na cadeia de cascata de devolução do editor. Saiba como usar
sampled_mediation_cpm_ahead_of_auction_winner ao
fazer lances .
Exemplo
Confira a seguir um exemplo de feedback em tempo real, como visto em protocolos compatíveis:
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "19pl46RcGu32W09d2H1q80"
imp {
id : "1"
banner {
w : 200
h : 200
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 200
h : 200
}
format {
w : 300
h : 250
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 60
w : 300
h : 250
startdelay : 0
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_FEED_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "23.3.0"
tagid : "4530488526"
bidfloor : 27.72425931505949
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.008391381241381168
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.009718560613691807
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 85893299877
billing_id : 60049223504
publisher_settings_list_id : 9909889017109496788
publisher_settings_list_id : 2943173989636397861
allowed_vendor_type : 0
allowed_vendor_type : 39523
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "2.7.40.26"
bundle : "com.google.testapp"
publisher {
id : "pub-8704859943243339"
[ com . google . doubleclick . publisher ] {
country : "SG"
}
}
content {
url : "https://www.google.com"
userrating : "4.5"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "IND"
city : "Hyderabad"
type : IP
utcoffset : 330
accuracy : 19212
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1007740
}
}
make : "Realme"
model : "RMX3241"
os : "android"
osv : "13"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "fb42f237-08ec-4d91-ab96-1e1c83cc2af1"
w : 360
h : 716
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "13"
}
mobile : true
bitness : "64"
model : "RMX3241"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.23
charging : false
diskspace : 15700
audioout : AUDIO_SILENT
}
}
user {
id : "Q735u4sSGK5Y0N819k25O0Vv6I7"
[ com . google . doubleclick . user ] {
session {
duration : 2
depth : 11
requestssinceappopen : 11
priorclicks : 0
}
idage : 25920000
}
}
at : FIRST_PRICE
tmax : 2000
cur : "INR"
cur : "JPY"
bcat : "32"
bcat : "33"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v251815999.242402000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "3265hT3M9Uq7370Ou263Zp"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_122439"
minimum_bid_to_win : 5.93
feedbacktype : BID_FEEDBACK
}
bid_feedback {
request_id : "9024plcR9E3N4T0vb0y13c"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_122439"
minimum_bid_to_win : 175.0
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-z44alu-814Bakx696mrux1VsUu39Ob428vb0B2H4HD8ADAlLE6mkm17zq511d81N0Gf0"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "19pl46RcGu32W09d2H1q80" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 200 ,
"h" : 200 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 200 ,
"h" : 200
},
{
"w" : 300 ,
"h" : 250
}
]
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 60 ,
"w" : 300 ,
"h" : 250 ,
"startdelay" : 0 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"api" : [
3 ,
5
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 4 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4
}
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "23.3.0" ,
"tagid" : "4530488526" ,
"bidfloor" : 27.72425931505949 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.008391381241381168 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.009718560613691807 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"85893299877" ,
"60049223504"
],
"publisher_settings_list_id" : [
"9909889017109496788" ,
"2943173989636397861"
],
"allowed_vendor_type" : [
0 ,
39523
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "2.7.40.26" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-8704859943243339" ,
"ext" : {
"country" : "SG"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.5" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "IND" ,
"city" : "Hyderabad" ,
"type" : 2 ,
"utcoffset" : 330 ,
"accuracy" : 19212 ,
"ext" : {
"geo_criteria_id" : 1007740
}
},
"make" : "Realme" ,
"model" : "RMX3241" ,
"os" : "android" ,
"osv" : "13" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "fb42f237-08ec-4d91-ab96-1e1c83cc2af1" ,
"w" : 360 ,
"h" : 716 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"13"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "RMX3241" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.23 ,
"charging" : 0 ,
"diskspace" : 15700 ,
"audioout" : 3
}
},
"user" : {
"id" : "Q735u4sSGK5Y0N819k25O0Vv6I7" ,
"ext" : {
"session" : {
"duration" : 2 ,
"depth" : 11 ,
"requestssinceappopen" : 11 ,
"priorclicks" : 0
},
"idage" : 25920000
}
},
"at" : 1 ,
"tmax" : 2000 ,
"cur" : [
"INR" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v251815999.242402000.1"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "3265hT3M9Uq7370Ou263Zp" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_122439" ,
"minimum_bid_to_win" : 5.93 ,
"feedbacktype" : 1
},
{
"request_id" : "9024plcR9E3N4T0vb0y13c" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_122439" ,
"minimum_bid_to_win" : 175.0 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-z44alu-814Bakx696mrux1VsUu39Ob428vb0B2H4HD8ADAlLE6mkm17zq511d81N0Gf0" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Criar um modelo de lances para leilões de primeiro preço
Depois de fazer um lance em um leilão de primeiro preço, você vai receber feedback em tempo real, incluindo os campos minimum_bid_to_win e sampled_mediation_cpm_ahead_of_auction_winner, se o lance não tiver sido filtrado do leilão. Esses indicadores podem ser usados para informar sua lógica de lances sobre o quanto seu lance poderia ter sido maior ou menor para ganhar a impressão.
minimum_bid_to_win: o lance mínimo que poderia ter sido feito para vencer o leilão de lances em tempo real. Se você venceu o leilão, esse é o menor lance que poderia ter feito e ainda assim vencer. Se você perdeu o leilão, esse será o lance vencedor.
sampled_mediation_cpm_ahead_of_auction_winner: se houver outras redes na cadeia de mediação , o valor desse campo será um preço que representa um lance de amostra de uma das redes de mediação qualificadas que foi maior que o vencedor do leilão, ponderado pela taxa de preenchimento esperada. Esse valor será definido como 0 se nenhuma das redes na cadeia de mediação for preenchida ou se o editor não usar a mediação do SDK.
Como funciona
Para descrever os cálculos usados para determinar os valores possíveis de minimum_bid_to_win e sampled_mediation_cpm_ahead_of_auction_winner, primeiro precisamos definir o seguinte:
A seguir, os CPMs na cadeia de mediação em ordem decrescente:
\[C_1, C_2, …, C_n\]
A seguir, estão as taxas de preenchimento correspondentes aos CPMs na cadeia de mediação:
\[f_1, f_2, …, f_n\]
Esta é uma função usada para determinar o CPM esperado e a probabilidade dele com base no elemento \(i\)da cadeia de mediação e na taxa de preenchimento fornecida:
\(X_i = \{C_i\) com probabilidade \(f_i\); \(0\) com probabilidade \(1 - f_i\}\)
A cadeia de mediação vencedora final será:
\[\{C_1, C_2, …, C_K, W\}\]
em que \(W\) é o lance vencedor e \(C_K > W >= C_{K+1}\)
O preço de reserva, ou mínimo, é indicado como \(F\).
O segundo colocado é indicado como \(R\).
Cálculos para o vencedor do leilão
Campo
Cálculo
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) com probabilidade \(\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 o perdedor do leilão
Campo
Cálculo
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Suponha que um editor use lances em tempo real e uma cadeia de mediação de SDK da seguinte forma:
Cadeia de mediação do SDK
CPM esperado
Taxa de preenchimento
Rede 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Rede 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Rede 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Rede 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Suponha o seguinte resultado do leilão de RTB:
Leilão RTB
CPM
Vencedor do leilão (W)
US$ 1,00
Segundo colocado do leilão (R)
US$ 0,05
Preço de reserva / mínimo (F)
US$ 0
Lance que venceu o leilão
Confira um exemplo de como os valores e as probabilidades de minimum_bid_to_win e sampled_mediation_cpm_ahead_of_auction_winner são calculados para um lance vencedor.
minimum_bid_to_win
Probabilidade
\(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
Probabilidade
\(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\%\)
Observação :se o vencedor do leilão veicular o anúncio e receber uma notificação de faturamento, por exemplo, por um endpoint especificado em BidResponse.seatbid[].bid[].burl, ele poderá deduzir que nenhum dos CPMs de mediação amostrados foi preenchido e incluir a frequência com que isso ocorre no modelo.
Lances que perderam o leilão
Confira um exemplo de como os valores e as probabilidades de minimum_bid_to_win e sampled_mediation_cpm_ahead_of_auction_winner são calculados para um lance perdido.
minimum_bid_to_win
Probabilidade
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probabilidade
\(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\%\)
Observação :um valor sampled_mediation_cpm_ahead_of_auction_winner de 0 indica que o leilão de lances em tempo real foi vencido. No exemplo acima, espera-se que o vencedor do leilão não faça um lance maior que o de uma rede de mediação concorrente em 52,2% das vezes.
Separação de lances
O nivelamento de lances descreve o processamento de um único BidRequest complexo em várias solicitações de lance enviadas ao seu aplicativo. Quando uma solicitação de lance é simplificada, é possível saber quais solicitações faziam parte da original porque elas têm um valor idêntico no campo BidRequest.ext.google_query_id.
A redução de lances é ativada por padrão, mas você pode entrar em contato com seu gerente de contas se preferir desativá-la.
Algumas oportunidades de publicidade aceitam vários formatos. Com a separação de lances, cada formato é enviado em uma solicitação de lance distinta em que atributos como IDs de faturamento qualificados são relevantes para o formato especificado na solicitação.
As solicitações de lance com os seguintes formatos serão separadas em solicitações de lance distintas:
Banner
Vídeo
Áudio
Nativo
Confira abaixo um exemplo que mostra uma solicitação de lances JSON OpenRTB simplificada sem o achatamento do formato do anúncio em comparação com um conjunto equivalente de solicitações achatadas:
Pré-achatamento
Mostrar o exemplo
{
"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"
}
}
Pós-achatamento
Mostrar o exemplo
Solicitação 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"
}
}
Solicitação 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
Uma oportunidade de anúncio para um determinado bidder pode ser aplicável a vários tipos de transação, além do leilão aberto. Com a separação de lances para transações, uma solicitação de lance será enviada para o leilão aberto e uma para cada tipo de transação de preço fixo. Na prática, as restrições de anúncios podem variar entre leilões e tipos de transação de preço fixo. Por exemplo, para uma determinada oportunidade de anúncio em vídeo disponível para o leilão aberto e uma transação de preço fixo, um bidder vai receber solicitações de lance distintas para cada um, em que restrições como duração máxima do anúncio e se anúncios puláveis são permitidos podem variar. Como resultado, o achatamento aplicado à oportunidade de anúncio facilita a identificação das restrições de publicidade para o leilão aberto e a transação de preço fixo.
Observação :os leilões privados e os pacotes de leilão terão restrições idênticas ao leilão aberto e continuarão sendo incluídos nas solicitações de lance de leilão aberto.
Recurso pulável e duração do vídeo
A especificação OpenRTB não tem campos separados para especificar as durações máximas de vídeo de anúncios puláveis e não puláveis. A implementação do Google usa o nivelamento de lances para distinguir entre eles usando os campos BidRequest.video.maxduration e BidRequest.video.skip atuais.
Confira um exemplo de como o inventário de vídeo é reduzido quando a duração máxima de um anúncio não pulável é 15 e a duração máxima de um anúncio pulável é 60.
Exemplo
max_ad_duration
skip (verdadeiro OU falso)
Solicitação original sem simplificação
15
true
Solicitação separada nº 1: não pulável
15
false
Solicitação separada nº 2: pulável
60
true
A redução das solicitações de lance de duração de vídeo pulável só vai ocorrer quando estas condições forem atendidas:
A solicitação permite vídeo.
Vídeos puláveis e não puláveis são permitidos, e as duas durações máximas respectivas têm valores diferentes.
Essa solicitação é qualificada para leilão privado ou aberto.
Para desativar esse tipo de separação, entre em contato com seu gerente técnico de contas. Quando desativado, e o publisher permite anúncios em vídeo puláveis e não puláveis com durações máximas diferentes com base na capacidade de pular, skip seria definido como true e maxduration seria definido como a duração mais curta entre as restrições de anúncios puláveis e não puláveis.
Conjuntos de vídeos
As solicitações de lance para um conjunto de vídeos com várias oportunidades de anúncio são separadas, de modo que cada solicitação seja para uma oportunidade de anúncio individual desse conjunto.
Assim, você pode fazer lances em várias oportunidades de anúncio para um determinado conjunto.
Open Measurement
Com o Open Measurement, é possível especificar fornecedores terceirizados que oferecem serviços independentes de medição e verificação para anúncios veiculados em ambientes de apps para dispositivos móveis.
Para determinar se um editor aceita a Open Measurement na solicitação de lance, verifique se a oportunidade de anúncio exclui o atributo OmsdkType:
OMSDK 1.0 encontrado em Atributos de criativo que podem ser excluídos pelo editor . Isso pode ser encontrado no atributo battr para Banner ou Vídeo , dependendo do formato.
Para mais informações sobre como interpretar solicitações de lances que contêm sinais do Open Measurement, consulte o artigo da Central de Ajuda sobre o SDK do Open Measurement .
Exemplos de solicitações de lance
As seções a seguir mostram exemplos de solicitações de lances para diferentes tipos de anúncios.
Observação :as amostras do Protobuf incluem links para download de solicitações de lances serializadas semelhantes. Não há garantia de que eles sejam idênticos.
Banner de aplicativo
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "9NaI48SmPW7Zf3MAHR43DY"
imp {
id : "1"
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
wmax : 390
hmax : 61
wmin : 261
hmin : 46
format {
w : 320
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 261
wmax : 390
hmin : 46
hmax : 61
}
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "11.10.0"
tagid : "9396839755"
bidfloor : 1.0
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0016558143543079495
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.96
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 82364411103
publisher_settings_list_id : 2581479915860139166
publisher_settings_list_id : 1866597146354523937
allowed_vendor_type : 0
allowed_vendor_type : 4648
ampad : AMP_AD_NOT_ALLOWED
skadn {
sourceapp : "com.google.testapp"
skadnetids : "cF58w81X"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
billable_event_rate_bid_adjustment {
bid_adjustment : 1.033434
creative_type : HTML_SNIPPET
}
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "5.6.0"
bundle : "com.google.testapp"
publisher {
id : "pub-6156239328255091"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-27"
city : "Osaka"
type : IP
utcoffset : 540
accuracy : 8429
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1009540
}
}
ipv6 : "240a:61:20a7::"
carrier : "70000"
language : "ja"
make : "Apple"
model : "iPhone13,2"
os : "iOS"
osv : "18.6.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone13,2"
w : 390
h : 844
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SILENT
}
}
user {
[ com . google . doubleclick . user ] {
session {
duration : 270
depth : 12
requestssinceappopen : 12
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
cur : "JPY"
bcat : "3"
bcat : "4"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v11.10.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "9NaI48SmPW7Zf3MAHR43DY" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 50 ,
"pos" : 1 ,
"api" : [
3 ,
5
],
"wmax" : 390 ,
"hmax" : 61 ,
"wmin" : 261 ,
"hmin" : 46 ,
"format" : [
{
"w" : 320 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 261 ,
"wmax" : 390 ,
"hmin" : 46 ,
"hmax" : 61
}
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "11.10.0" ,
"tagid" : "9396839755" ,
"bidfloor" : 1.0 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0016558143543079495 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.96 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"82364411103"
],
"publisher_settings_list_id" : [
"2581479915860139166" ,
"1866597146354523937"
],
"allowed_vendor_type" : [
0 ,
4648
],
"ampad" : 2 ,
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"cF58w81X"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"billable_event_rate_bid_adjustment" : [
{
"bid_adjustment" : 1.033434 ,
"creative_type" : 1
}
],
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "5.6.0" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-6156239328255091" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-27" ,
"city" : "Osaka" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 8429 ,
"ext" : {
"geo_criteria_id" : 1009540
}
},
"ipv6" : "240a:61:20a7::" ,
"carrier" : "70000" ,
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iPhone13,2" ,
"os" : "iOS" ,
"osv" : "18.6.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone13,2" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 3
}
},
"user" : {
"ext" : {
"session" : {
"duration" : 270 ,
"depth" : 12 ,
"requestssinceappopen" : 12 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD" ,
"JPY"
],
"bcat" : [
"3" ,
"4"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v11.10.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-z7N096-BC94m1ooKoCOsHY5Aqf505y9370zhIav4249vkZ12R2ZiijB1x8I8XL5J1i25" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Intersticial de app
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "D3x8RPLO96R6T137tQ6168"
imp {
id : "1"
banner {
w : 360
h : 715
pos : AD_POSITION_FULLSCREEN
api : MRAID_1
api : MRAID_2
format {
w : 360
h : 715
}
format {
w : 320
h : 568
}
}
displaymanager : "GoogleMobileAds-Android"
displaymanagerver : "22.3.0"
instl : true
tagid : "5771994185"
bidfloor : 2764.414643547123
bidfloorcur : "JPY"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.03971313312649727
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.91
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 68640308112
billing_id : 56606437068
publisher_settings_list_id : 1984414516100776281
publisher_settings_list_id : 5846951473307279661
allowed_vendor_type : 0
allowed_vendor_type : 57823
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
bundle : "com.google.testapp"
publisher {
id : "pub-7405557148270612"
[ com . google . doubleclick . publisher ] {
country : "HK"
}
}
content {
url : "https://www.google.com"
userrating : "4.7"
livestream : false
language : "en"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "GBR"
region : "GB-ENG"
zip : "RH20"
type : IP
utcoffset : 60
accuracy : 2312
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9191103
}
}
ipv6 : "2a02:c7c:7c25::"
make : "Huawei"
model : "LYA-L09"
os : "android"
osv : "10"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
ifa : "0f0f33d1-fa18-4a2c-bc47-79ef855b5c16"
w : 360
h : 715
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "537"
version : "36"
}
platform {
brand : "Android"
version : "10"
}
mobile : true
model : "LYA-L09"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
metereddata : false
chargelevel : 0.93
charging : false
diskspace : 2100
audioout : AUDIO_SILENT
}
}
user {
id : "D17oNZQUJqB4Rt4n4Ec61AC9tee"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1205
consented_providers : 415
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 6
depth : 12
requestssinceappopen : 12
priorclicks : 0
}
idage : 44064000
}
}
at : FIRST_PRICE
tmax : 1500
cur : "EUR"
cur : "JPY"
bcat : "32"
bcat : "33"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-a-v251815999.232400000.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M"
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "D3x8RPLO96R6T137tQ6168" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 360 ,
"h" : 715 ,
"pos" : 7 ,
"api" : [
3 ,
5
],
"format" : [
{
"w" : 360 ,
"h" : 715
},
{
"w" : 320 ,
"h" : 568
}
]
},
"displaymanager" : "GoogleMobileAds-Android" ,
"displaymanagerver" : "22.3.0" ,
"instl" : 1 ,
"tagid" : "5771994185" ,
"bidfloor" : 2764.414643547123 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.03971313312649727 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.91 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"68640308112" ,
"56606437068"
],
"publisher_settings_list_id" : [
"1984414516100776281" ,
"5846951473307279661"
],
"allowed_vendor_type" : [
0 ,
57823
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7405557148270612" ,
"ext" : {
"country" : "HK"
}
},
"content" : {
"url" : "https://www.google.com" ,
"userrating" : "4.7" ,
"livestream" : 0 ,
"language" : "en"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GBR" ,
"region" : "GB-ENG" ,
"zip" : "RH20" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 2312 ,
"ext" : {
"geo_criteria_id" : 9191103
}
},
"ipv6" : "2a02:c7c:7c25::" ,
"make" : "Huawei" ,
"model" : "LYA-L09" ,
"os" : "android" ,
"osv" : "10" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"ifa" : "0f0f33d1-fa18-4a2c-bc47-79ef855b5c16" ,
"w" : 360 ,
"h" : 715 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"537" ,
"36"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"10"
]
},
"mobile" : 1 ,
"model" : "LYA-L09" ,
"source" : 3
},
"ext" : {
"metereddata" : 0 ,
"chargelevel" : 0.93 ,
"charging" : 0 ,
"diskspace" : 2100 ,
"audioout" : 3
}
},
"user" : {
"id" : "D17oNZQUJqB4Rt4n4Ec61AC9tee" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1205" ,
"415"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 6 ,
"depth" : 12 ,
"requestssinceappopen" : 12 ,
"priorclicks" : 0
},
"idage" : 44064000
}
},
"at" : 1 ,
"tmax" : 1500 ,
"cur" : [
"EUR" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-a-v251815999.232400000.1"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zc395b-x973i1113tK7P9K633CKoo3Pl45uz8D40mz3v48s9Zp604a8FsGL3893PT15M" ,
"fcap_scope" : 3 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Vídeo intersticial de app
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "179eb03K549H7I2584e7L6"
imp {
id : "1"
video {
mimes : "video/mp4"
linearity : LINEAR
maxduration : 30
w : 414
h : 816
startdelay : 0
playbackmethod : CLICK_TO_PLAY
pos : AD_POSITION_FULLSCREEN
companionad {
w : 414
h : 816
mimes : "text/css"
mimes : "image/jpeg"
format {
w : 414
h : 816
}
vcm : true
}
api : MRAID_1
api : MRAID_2
companiontype : STATIC
companiontype : HTML
protocols : VAST_2_0
protocols : VAST_3_0
skip : false
placement : FLOATING_PLACEMENT
playbackend : COMPLETION_OR_USER
maxseq : 2
poddur : 30
plcmt : PLCMT_INTERSTITIAL
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_INTERSTITIAL
}
}
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.7.0"
instl : true
tagid : "7757209244"
bidfloor : 0.01
bidfloorcur : "USD"
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.048289403319358826
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.1191580668091774
vendor : "EXCHANGE"
}
rwdd : true
[ com . google . doubleclick . imp ] {
billing_id : 55383762512
publisher_settings_list_id : 1847492880042777742
publisher_settings_list_id : 3770000868027227103
allowed_vendor_type : 0
allowed_vendor_type : 237
is_rewarded_inventory : true
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
skadn {
sourceapp : "com.google.testapp"
skadnetids : "306el65O"
versions : "2.0"
versions : "2.1"
fidelities : VIEW_THROUGH_ADS
fidelities : STOREKIT_RENDERED_ADS
skoverlay : true
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "6.5.1"
bundle : "com.google.testapp"
publisher {
id : "pub-9126361500211130"
[ com . google . doubleclick . publisher ] {
country : "GB"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "fr"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "FRA"
region : "FR-V"
zip : "01700"
type : IP
utcoffset : 120
accuracy : 3878
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9054913
}
}
ipv6 : "2a01:cb14:11e4::"
language : "fr"
make : "Apple"
model : "iPhone12,1"
os : "iOS"
osv : "18.5"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone12,1"
w : 414
h : 896
pxratio : 2.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "5"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
}
}
user {
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1097
consented_providers : 2963
additional_consent : "OMITTED"
}
consent : "OMITTED"
session {
duration : 7
depth : 23
requestssinceappopen : 23
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "USD"
bcat : "3"
bcat : "4"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
bapp : "529996768"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v12.7.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "179eb03K549H7I2584e7L6" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 30 ,
"w" : 414 ,
"h" : 816 ,
"startdelay" : 0 ,
"playbackmethod" : [
3
],
"pos" : 7 ,
"companionad" : [
{
"w" : 414 ,
"h" : 816 ,
"mimes" : [
"text/css" ,
"image/jpeg"
],
"format" : [
{
"w" : 414 ,
"h" : 816
}
],
"vcm" : 1
}
],
"api" : [
3 ,
5
],
"companiontype" : [
1 ,
2
],
"protocols" : [
2 ,
3
],
"skip" : 0 ,
"placement" : 5 ,
"playbackend" : 1 ,
"maxseq" : 2 ,
"poddur" : 30 ,
"plcmt" : 3 ,
"ext" : {
"inferredplcmt" : 3
}
},
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.7.0" ,
"instl" : 1 ,
"tagid" : "7757209244" ,
"bidfloor" : 0.01 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.048289403319358826 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.1191580668091774 ,
"vendor" : "EXCHANGE"
}
],
"rwdd" : 1 ,
"ext" : {
"billing_id" : [
"55383762512"
],
"publisher_settings_list_id" : [
"1847492880042777742" ,
"3770000868027227103"
],
"allowed_vendor_type" : [
0 ,
237
],
"is_rewarded_inventory" : 1 ,
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"306el65O"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
0 ,
1
],
"skoverlay" : 1
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "6.5.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-9126361500211130" ,
"ext" : {
"country" : "GB"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "fr"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "FRA" ,
"region" : "FR-V" ,
"zip" : "01700" ,
"type" : 2 ,
"utcoffset" : 120 ,
"accuracy" : 3878 ,
"ext" : {
"geo_criteria_id" : 9054913
}
},
"ipv6" : "2a01:cb14:11e4::" ,
"language" : "fr" ,
"make" : "Apple" ,
"model" : "iPhone12,1" ,
"os" : "iOS" ,
"osv" : "18.5" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone12,1" ,
"w" : 414 ,
"h" : 896 ,
"pxratio" : 2.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"5"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1
}
},
"user" : {
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1097" ,
"2963"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"session" : {
"duration" : 7 ,
"depth" : 23 ,
"requestssinceappopen" : 23 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"USD"
],
"bcat" : [
"3" ,
"4"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"bapp" : [
"529996768"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.7.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-ziHO5m-b7Qkgq8Om9TTzELn4d14HK6161373y5520g237O0317F2535zt405Mw054Ts5" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
App nativo
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "HYuQMewy7o4U9Jk0AYt543"
imp {
id : "1"
displaymanager : "GoogleMobileAds-iOS"
displaymanagerver : "12.6.0"
tagid : "4283347586"
bidfloor : 1841.9824245803225
bidfloorcur : "JPY"
secure : true
native {
ver : "1.2"
api : MRAID_1
api : MRAID_2
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
data {
type : SPONSORED
len : 25
}
}
assets {
id : 5
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 6
img {
type : LOGO
wmin : 100
hmin : 100
}
}
eventtrackers {
event : IMPRESSION
methods : IMG
}
eventtrackers {
event : OMID
methods : JS
}
privacy : true
}
}
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate"
value : 0.0035704318434000015
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.42
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 73917825312
billing_id : 58558932335
publisher_settings_list_id : 3148904898759409470
publisher_settings_list_id : 7478572817009281694
allowed_vendor_type : 0
allowed_vendor_type : 237
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
skadn {
sourceapp : "com.google.testapp"
skadnetids : "Q7B2W332"
skadnetids : "10wC1989"
versions : "2.0"
versions : "2.1"
fidelities : STOREKIT_RENDERED_ADS
fidelities : VIEW_THROUGH_ADS
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
jsver : "test-sdk_123456789"
}
}
app {
name : "Test App"
ver : "4.18.1"
bundle : "com.google.testapp"
publisher {
id : "pub-7029824543087220"
[ com . google . doubleclick . publisher ] {
country : "JP"
}
}
content {
url : "https://www.google.com"
livestream : false
language : "ja"
}
storeurl : "https://www.google.com"
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "JPN"
region : "JP-08"
city : "Tsukuba"
zip : "305-0861"
type : IP
utcoffset : 540
accuracy : 1562
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9168296
}
}
language : "ja"
make : "Apple"
model : "iPhone14,5"
os : "iOS"
osv : "18.6.2"
connectiontype : WIFI
devicetype : HIGHEND_PHONE
hwv : "iPhone14,5"
w : 390
h : 844
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
audioout : AUDIO_SPEAKER
}
}
user {
data {
id : "39"
segment {
id : "OMITTED"
}
segment {
id : "OMITTED"
}
[ com . google . doubleclick . data ] {
segtax : 4
}
}
[ com . google . doubleclick . user ] {
session {
duration : 10
depth : 83
requestssinceappopen : 83
priorclicks : 0
}
}
}
at : FIRST_PRICE
tmax : 1000
cur : "AUD"
cur : "BRL"
bcat : "4"
bcat : "32"
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google"
omidpv : "afma-sdk-i-v12.6.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113"
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "HYuQMewy7o4U9Jk0AYt543" ,
"imp" : [
{
"id" : "1" ,
"displaymanager" : "GoogleMobileAds-iOS" ,
"displaymanagerver" : "12.6.0" ,
"tagid" : "4283347586" ,
"bidfloor" : 1841.9824245803225 ,
"bidfloorcur" : "JPY" ,
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"api" : [
3 ,
5
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":6,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":555,\"methods\":[2]}],\"privacy\":1}"
},
"exp" : 3600 ,
"clickbrowser" : 1 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0035704318434000015 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.42 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"73917825312" ,
"58558932335"
],
"publisher_settings_list_id" : [
"3148904898759409470" ,
"7478572817009281694"
],
"allowed_vendor_type" : [
0 ,
237
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"skadn" : {
"sourceapp" : "com.google.testapp" ,
"skadnetids" : [
"Q7B2W332" ,
"10wC1989"
],
"versions" : [
"2.0" ,
"2.1"
],
"fidelities" : [
1 ,
0
]
},
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0 ,
"jsver" : "test-sdk_123456789"
}
}
],
"app" : {
"name" : "Test App" ,
"ver" : "4.18.1" ,
"bundle" : "com.google.testapp" ,
"publisher" : {
"id" : "pub-7029824543087220" ,
"ext" : {
"country" : "JP"
}
},
"content" : {
"url" : "https://www.google.com" ,
"livestream" : 0 ,
"language" : "ja"
},
"storeurl" : "https://www.google.com"
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "JPN" ,
"region" : "JP-08" ,
"city" : "Tsukuba" ,
"zip" : "305-0861" ,
"type" : 2 ,
"utcoffset" : 540 ,
"accuracy" : 1562 ,
"ext" : {
"geo_criteria_id" : 9168296
}
},
"language" : "ja" ,
"make" : "Apple" ,
"model" : "iPhone14,5" ,
"os" : "iOS" ,
"osv" : "18.6.2" ,
"connectiontype" : 2 ,
"devicetype" : 4 ,
"hwv" : "iPhone14,5" ,
"w" : 390 ,
"h" : 844 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
},
"ext" : {
"atts" : 2 ,
"audioout" : 1
}
},
"user" : {
"data" : [
{
"id" : "39" ,
"segment" : [
{
"id" : "OMITTED"
},
{
"id" : "OMITTED"
}
],
"ext" : {
"segtax" : 4
}
}
],
"ext" : {
"session" : {
"duration" : 10 ,
"depth" : 83 ,
"requestssinceappopen" : 83 ,
"priorclicks" : 0
}
}
},
"at" : 1 ,
"tmax" : 1000 ,
"cur" : [
"AUD" ,
"BRL"
],
"bcat" : [
"4" ,
"32"
],
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google" ,
"omidpv" : "afma-sdk-i-v12.6.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zeA4SO-5uTX8H7U5d0HkU9zRSoPKZuff5VUk04Fq0b341boSb3KUK81w20lbVye7O113" ,
"fcap_scope" : 4 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Vídeo na Web
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "9B5K1zj5T61jRM80t25s13"
imp {
id : "1"
video {
mimes : "application/javascript"
mimes : "video/mp4"
linearity : LINEAR
maxduration : 60
w : 306
h : 156
startdelay : 0
playbackmethod : ENTER_SOUND_OFF
pos : ABOVE_THE_FOLD
companionad {
w : 0
h : 0
mimes : "image/png"
mimes : "image/gif"
format {
w : 0
h : 0
}
}
api : VPAID_1
api : VPAID_2
companiontype : STATIC
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_STREAM_PLACEMENT
durfloors {
maxdur : 121
bidfloor : 628.6151504524262
}
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_ACCOMPANYING_CONTENT
embeddedoffsite : true
}
}
displaymanager : "GOOGLE"
tagid : "1064104152"
bidfloor : 628.6151504524262
bidfloorcur : "JPY"
pmp {
deals {
id : "45957820"
bidfloor : 628.615151
bidfloorcur : "JPY"
[ com . google . doubleclick . deal ] {
deal_type : AUCTION_PACKAGE
billing_id : 34409190968
billing_id : 31520375265
}
}
}
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.061625368893146515
vendor : "EXCHANGE"
}
metric {
type : "video_completion_rate"
value : 0.6049572825431824
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 63495119434
billing_id : 33073577463
publisher_settings_list_id : 2610320062869254712
publisher_settings_list_id : 3579681458579529403
allowed_vendor_type : 0
ampad : AMP_AD_NOT_ALLOWED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "IL"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
ntype : NAVIGATION_TYPE_UNKNOWN
}
}
device {
ua : "OMITTED"
ip : "192.168.1.0"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "OH"
metro : "558"
city : "Lima"
zip : "45806"
type : IP
utcoffset : - 240
accuracy : 6877
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9015962
}
}
make : "Samsung"
model : "sm-s921u"
os : "android"
osv : "15"
devicetype : HIGHEND_PHONE
w : 1080
h : 2340
sua {
browsers {
brand : "Chromium"
version : "140"
version : "0"
}
browsers {
brand : "Not=A?Brand"
version : "24"
version : "0"
}
platform {
brand : "Android"
version : "15"
version : "0"
}
mobile : true
model : "SM-S921U"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "2P499L961q5433F3W7910N24dm6"
buyeruid : "d1f6LSo115M9T6r3wjcX397Iu6231g73"
customdata : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI"
[ com . google . doubleclick . user ] {
idage : 432000
}
}
at : FIRST_PRICE
tmax : 350
cur : "TRY"
cur : "JPY"
bcat : "32"
bcat : "33"
source {
schain {
complete : false
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
[ com . google . doubleclick . source ] {
omidpn : "Google1"
omidpv : "h.3.719.1"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "iC415EO28u2s07s8qn220h"
creative_status_code : 80
event_notification_token {
payload : "token"
}
buyer_creative_id : "test_creative_id_459586"
minimum_bid_to_win : 0.69
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "9B5K1zj5T61jRM80t25s13" ,
"imp" : [
{
"id" : "1" ,
"video" : {
"mimes" : [
"application/javascript" ,
"video/mp4"
],
"linearity" : 1 ,
"maxduration" : 60 ,
"w" : 306 ,
"h" : 156 ,
"startdelay" : 0 ,
"playbackmethod" : [
6
],
"pos" : 1 ,
"companionad" : [
{
"w" : 0 ,
"h" : 0 ,
"mimes" : [
"image/png" ,
"image/gif"
],
"format" : [
{
"w" : 0 ,
"h" : 0
}
]
}
],
"api" : [
1 ,
2
],
"companiontype" : [
1
],
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 1 ,
"durfloors" : [
{
"maxdur" : 121 ,
"bidfloor" : 628.6151504524262
}
],
"ext" : {
"inferredplcmt" : 2 ,
"embeddedoffsite" : 1
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "1064104152" ,
"bidfloor" : 628.6151504524262 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "45957820" ,
"bidfloor" : 628.615151 ,
"bidfloorcur" : "JPY" ,
"ext" : {
"deal_type" : 4 ,
"billing_id" : [
"34409190968" ,
"31520375265"
]
}
}
]
},
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.061625368893146515 ,
"vendor" : "EXCHANGE"
},
{
"type" : "video_completion_rate" ,
"value" : 0.6049572825431824 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"63495119434" ,
"33073577463"
],
"publisher_settings_list_id" : [
"2610320062869254712" ,
"3579681458579529403"
],
"allowed_vendor_type" : [
0
],
"ampad" : 2 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"creative_enforcement_settings" : {
"policy_enforcement" : 2 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "IL"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"ntype" : 0
}
},
"device" : {
"ua" : "OMITTED" ,
"ip" : "192.168.1.0" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "OH" ,
"metro" : "558" ,
"city" : "Lima" ,
"zip" : "45806" ,
"type" : 2 ,
"utcoffset" : - 240 ,
"accuracy" : 6877 ,
"ext" : {
"geo_criteria_id" : 9015962
}
},
"make" : "Samsung" ,
"model" : "sm-s921u" ,
"os" : "android" ,
"osv" : "15" ,
"devicetype" : 4 ,
"w" : 1080 ,
"h" : 2340 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"140" ,
"0"
]
},
{
"brand" : "Not=A?Brand" ,
"version" : [
"24" ,
"0"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"15" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-S921U" ,
"source" : 2
}
},
"user" : {
"id" : "2P499L961q5433F3W7910N24dm6" ,
"buyeruid" : "d1f6LSo115M9T6r3wjcX397Iu6231g73" ,
"customdata" : "98f88k2F7Q9e99vqQIs7eH5OEch4603AQ1e4zo9vP0259ZWI" ,
"ext" : {
"idage" : 432000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"TRY" ,
"JPY"
],
"bcat" : [
"32" ,
"33"
],
"source" : {
"schain" : {
"complete" : 0 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
},
"ext" : {
"omidpn" : "Google1" ,
"omidpv" : "h.3.719.1"
}
},
"cattax" : 500 ,
"ext" : {
"bid_feedback" : [
{
"request_id" : "iC415EO28u2s07s8qn220h" ,
"creative_status_code" : 80 ,
"event_notification_token" : {
"payload" : "token"
},
"buyer_creative_id" : "test_creative_id_459586" ,
"minimum_bid_to_win" : 0.69 ,
"feedbacktype" : 1
}
],
"google_query_id" : "ANy-zk4xW4-6F6LW16t4c1LRx767c3V2OC7z3d7Z9TROv5359i3VMG9aT5b136WKCued3457" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}
Banner da Web para dispositivos móveis para um bidder de troca
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "7JU6159A685P1Yq6AZYs9c"
imp {
id : "1"
banner {
w : 300
h : 50
pos : SIDEBAR
format {
w : 300
h : 50
}
format {
w : 320
h : 100
}
}
displaymanager : "GOOGLE"
tagid : "5569141195"
bidfloor : 0.11
bidfloorcur : "USD"
secure : true
exp : 3600
metric {
type : "click_through_rate"
value : 0.00012157167657278478
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.54
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 29290087654
publisher_settings_list_id : 1176624544028271271
publisher_settings_list_id : 7690166540312314658
allowed_vendor_type : 0
dfp_ad_unit_code : "/4270097/google/test"
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
buyer_generated_request_data {
data : "Test Data"
}
buyer_generated_request_data {
data : "Test Data"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
open_bidding {
is_open_bidding : true
}
allowed_restricted_category : 32
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "US"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
uact {
wasact : true
isact : true
}
ntype : NAVIGATION_TYPE_NAVIGATE
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "USA"
region : "CA"
metro : "803"
city : "Los Angeles"
type : IP
utcoffset : - 420
accuracy : 20337
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1013962
}
}
ipv6 : "2a04:4e41:2959::"
make : "Apple"
model : "iphone"
os : "iOS"
osv : "18.6.2"
devicetype : HIGHEND_PHONE
w : 393
h : 852
pxratio : 3.0
sua {
browsers {
brand : "Mozilla"
version : "5"
version : "0"
}
browsers {
brand : "AppleWebKit"
version : "605"
version : "1"
}
platform {
brand : "iPhone"
version : "18"
version : "6"
}
mobile : true
bitness : "64"
model : "iPhone"
source : USER_AGENT_STRING
}
}
user {
[ com . google . doubleclick . user ] {
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
eids {
source : "OMITTED_SOURCE"
uids {
id : "OMITTED_ID"
}
}
}
}
at : FIRST_PRICE
tmax : 350
cur : "USD"
bcat : "IAB14-1"
bcat : "IAB17-11"
regs {
gpp : "OMITTED"
gpp_sid : USCA
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-z49Z28-30csCH3Q6L2592cP4mj84zr6ZQJ982HPa49dwsj1WphMK1goO8M62j84bh1PB"
fcap_scope : FREQUENCY_CAPPING_SCOPE_NONE
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "7JU6159A685P1Yq6AZYs9c" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 300 ,
"h" : 50 ,
"pos" : 6 ,
"format" : [
{
"w" : 300 ,
"h" : 50
},
{
"w" : 320 ,
"h" : 100
}
]
},
"displaymanager" : "GOOGLE" ,
"tagid" : "5569141195" ,
"bidfloor" : 0.11 ,
"bidfloorcur" : "USD" ,
"secure" : 1 ,
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.00012157167657278478 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.54 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"29290087654"
],
"publisher_settings_list_id" : [
"1176624544028271271" ,
"7690166540312314658"
],
"allowed_vendor_type" : [
0
],
"dfp_ad_unit_code" : "/4270097/google/test" ,
"ampad" : 3 ,
"buyer_generated_request_data" : [
{
"data" : "Test Data"
},
{
"data" : "Test Data"
}
],
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"open_bidding" : {
"is_open_bidding" : 1
},
"allowed_restricted_category" : [
32 ,
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "US"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 0 ,
"page_visibility" : 1 ,
"uact" : {
"wasact" : 1 ,
"isact" : 1
},
"ntype" : 1
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "USA" ,
"region" : "CA" ,
"metro" : "803" ,
"city" : "Los Angeles" ,
"type" : 2 ,
"utcoffset" : - 420 ,
"accuracy" : 20337 ,
"ext" : {
"geo_criteria_id" : 1013962
}
},
"ipv6" : "2a04:4e41:2959::" ,
"make" : "Apple" ,
"model" : "iphone" ,
"os" : "iOS" ,
"osv" : "18.6.2" ,
"devicetype" : 4 ,
"w" : 393 ,
"h" : 852 ,
"pxratio" : 3.0 ,
"sua" : {
"browsers" : [
{
"brand" : "Mozilla" ,
"version" : [
"5" ,
"0"
]
},
{
"brand" : "AppleWebKit" ,
"version" : [
"605" ,
"1"
]
}
],
"platform" : {
"brand" : "iPhone" ,
"version" : [
"18" ,
"6"
]
},
"mobile" : 1 ,
"bitness" : "64" ,
"model" : "iPhone" ,
"source" : 3
}
},
"user" : {
"ext" : {
"eids" : [
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
},
{
"source" : "OMITTED_SOURCE" ,
"uids" : [
{
"id" : "OMITTED_ID"
}
]
}
]
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"USD"
],
"bcat" : [
"IAB14-1" ,
"IAB17-11"
],
"regs" : {
"gpp" : "OMITTED" ,
"gpp_sid" : [
8
]
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
},
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 1 ,
"ext" : {
"google_query_id" : "ANy-z49Z28-30csCH3Q6L2592cP4mj84zr6ZQJ982HPa49dwsj1WphMK1goO8M62j84bh1PB" ,
"fcap_scope" : 1
}
}
Protobuf do OpenRTB
Mostrar o exemplo
Solicitação serializada
id : "rKxPN2rc298433R68335M1"
imp {
id : "1"
banner {
w : 320
h : 480
pos : SIDEBAR
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
wmax : 384
hmax : 480
wmin : 300
hmin : 50
format {
w : 320
h : 480
}
format {
w : 320
h : 50
}
[ com . google . doubleclick . banner_ext ] {
flexslot {
wmin : 300
wmax : 384
hmin : 50
hmax : 480
}
}
}
video {
mimes : "video/mp4"
linearity : LINEAR
w : 320
h : 480
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
playbackmethod : ENTER_SOUND_OFF
pos : BELOW_THE_FOLD
protocols : VAST_2_0
protocols : VAST_3_0
skip : true
placement : IN_ARTICLE_PLACEMENT
playbackend : LEAVING_OR_USER
plcmt : PLCMT_NO_CONTENT_STANDALONE
[ com . google . doubleclick . video ] {
inferredplcmt : PLCMT_NO_CONTENT_STANDALONE
}
}
displaymanager : "GOOGLE"
tagid : "9536033828"
bidfloor : 241.70793093803206
bidfloorcur : "JPY"
pmp {
deals {
id : "52277873"
bidfloor : 1397.489002
bidfloorcur : "JPY"
at : FIXED_PRICE
[ com . google . doubleclick . deal ] {
deal_type : PREFERRED_DEAL
publisher_blocks_overridden : true
creative_constraints {
mtypes : CREATIVE_MARKUP_BANNER
}
billing_id : 75764464008
billing_id : 72269403729
}
}
deals {
id : "75438087"
bidfloor : 399.282572
bidfloorcur : "JPY"
at : FIXED_PRICE
[ com . google . doubleclick . deal ] {
deal_type : PREFERRED_DEAL
publisher_blocks_overridden : true
creative_constraints {
mtypes : CREATIVE_MARKUP_BANNER
}
billing_id : 54698438246
billing_id : 73896418461
}
}
}
secure : true
native {
ver : "1.2"
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver : "1.2"
assets {
id : 1
required : true
title {
len : 25
}
}
assets {
id : 2
required : true
data {
type : DESC
len : 90
}
}
assets {
id : 3
data {
type : CTATEXT
len : 15
}
}
assets {
id : 4
required : true
data {
type : SPONSORED
len : 25
}
}
assets {
id : 5
required : true
img {
type : MAIN
wmin : 1200
hmin : 627
}
}
assets {
id : 6
img {
type : LOGO
wmin : 100
hmin : 100
}
}
plcmttype : IN_FEED
eventtrackers {
event : IMPRESSION
methods : IMG
}
privacy : true
[ com . google . doubleclick . native_ext ] {
pos : BELOW_THE_FOLD
}
}
}
exp : 3600
metric {
type : "click_through_rate"
value : 0.0041323439218103886
vendor : "EXCHANGE"
}
metric {
type : "viewability"
value : 0.34
vendor : "EXCHANGE"
}
[ com . google . doubleclick . imp ] {
billing_id : 73015827208
billing_id : 49611563199
publisher_settings_list_id : 8800547900990823335
publisher_settings_list_id : 7288715008664845891
allowed_vendor_type : 0
ampad : AMP_AD_ALLOWED_AND_EARLY_RENDERED
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category : 32
allowed_restricted_category : 33
creative_enforcement_settings {
policy_enforcement : POLICY_ENFORCEMENT_PLATFORM_POLICY
publisher_blocks_enforcement : PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment : SERVER_SIDE_AUCTION
ae : SERVER_SIDE_AUCTION
}
}
site {
page : "https://www.google.com"
publisher {
id : "pub-1111111111111111"
[ com . google . doubleclick . publisher ] {
country : "GB"
}
}
content {
livestream : false
language : "en"
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML_AMP
page_visibility : VISIBILITY_STATE_HIDDEN
ntype : NAVIGATION_TYPE_UNKNOWN
}
}
device {
ua : "OMITTED"
geo {
lat : 0.0
lon : 0.0
country : "GBR"
region : "GB-ENG"
city : "London"
zip : "SE1"
type : IP
utcoffset : 60
accuracy : 1437
[ com . google . doubleclick . geo ] {
geo_criteria_id : 9045888
}
}
ipv6 : "2a00:23ee:2870::"
carrier : "70062"
make : "Samsung"
model : "sm-a326b"
os : "android"
osv : "12"
devicetype : HIGHEND_PHONE
w : 385
h : 854
pxratio : 1.875
sua {
browsers {
brand : "Chromium"
version : "136"
}
browsers {
brand : "Google Chrome"
version : "136"
}
platform {
brand : "Android"
version : "12"
version : "0"
}
mobile : true
model : "SM-A326B"
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "91b09w734L84717xiK05zAZf5n0"
buyeruid : "8vo3pY3AoGtGr33C3l7675sM26SB7NB8"
customdata : "868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866"
consent : "OMITTED"
[ com . google . doubleclick . user ] {
consented_providers_settings {
consented_providers : 1725
consented_providers : 2922
additional_consent : "OMITTED"
}
consent : "OMITTED"
idage : 20736000
}
}
at : FIRST_PRICE
tmax : 350
cur : "GBP"
cur : "TRY"
bcat : "5"
bcat : "8"
regs {
[ com . google . doubleclick . regs ] {
gdpr : true
}
}
source {
schain {
complete : true
nodes {
asi : "testssp.com"
sid : "pub-1111111111111111"
hp : true
}
ver : "1.0"
}
}
cattax : GOOGLE_CATEGORIES
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m"
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection : true
}
}
JSON do OpenRTB
Mostrar o exemplo
{
"id" : "rKxPN2rc298433R68335M1" ,
"imp" : [
{
"id" : "1" ,
"banner" : {
"w" : 320 ,
"h" : 480 ,
"pos" : 6 ,
"battr" : [
6 ,
7
],
"wmax" : 384 ,
"hmax" : 480 ,
"wmin" : 300 ,
"hmin" : 50 ,
"format" : [
{
"w" : 320 ,
"h" : 480
},
{
"w" : 320 ,
"h" : 50
}
],
"ext" : {
"flexslot" : {
"wmin" : 300 ,
"wmax" : 384 ,
"hmin" : 50 ,
"hmax" : 480
}
}
},
"video" : {
"mimes" : [
"video/mp4"
],
"linearity" : 1 ,
"w" : 320 ,
"h" : 480 ,
"battr" : [
6 ,
7
],
"playbackmethod" : [
6
],
"pos" : 3 ,
"protocols" : [
2 ,
3
],
"skip" : 1 ,
"placement" : 3 ,
"playbackend" : 2 ,
"plcmt" : 4 ,
"ext" : {
"inferredplcmt" : 4
}
},
"displaymanager" : "GOOGLE" ,
"tagid" : "9536033828" ,
"bidfloor" : 241.70793093803206 ,
"bidfloorcur" : "JPY" ,
"pmp" : {
"deals" : [
{
"id" : "52277873" ,
"bidfloor" : 1397.489002 ,
"bidfloorcur" : "JPY" ,
"at" : 3 ,
"ext" : {
"deal_type" : 1 ,
"publisher_blocks_overridden" : 1 ,
"creative_constraints" : {
"mtypes" : [
1
]
},
"billing_id" : [
"75764464008" ,
"72269403729"
]
}
},
{
"id" : "75438087" ,
"bidfloor" : 399.282572 ,
"bidfloorcur" : "JPY" ,
"at" : 3 ,
"ext" : {
"deal_type" : 1 ,
"publisher_blocks_overridden" : 1 ,
"creative_constraints" : {
"mtypes" : [
1
]
},
"billing_id" : [
"54698438246" ,
"73896418461"
]
}
}
]
},
"secure" : 1 ,
"native" : {
"ver" : "1.2" ,
"battr" : [
6 ,
7
],
"request" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":5,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":6,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"plcmttype\":1,\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"pos\":3}}"
},
"exp" : 3600 ,
"metric" : [
{
"type" : "click_through_rate" ,
"value" : 0.0041323439218103886 ,
"vendor" : "EXCHANGE"
},
{
"type" : "viewability" ,
"value" : 0.34 ,
"vendor" : "EXCHANGE"
}
],
"ext" : {
"billing_id" : [
"73015827208" ,
"49611563199"
],
"publisher_settings_list_id" : [
"8800547900990823335" ,
"7288715008664845891"
],
"allowed_vendor_type" : [
0
],
"ampad" : 4 ,
"excluded_creatives" : [
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id" : "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category" : [
32 ,
33
],
"creative_enforcement_settings" : {
"policy_enforcement" : 1 ,
"publisher_blocks_enforcement" : 1
},
"auction_environment" : 0 ,
"ae" : 0
}
}
],
"site" : {
"page" : "https://www.google.com" ,
"publisher" : {
"id" : "pub-1111111111111111" ,
"ext" : {
"country" : "GB"
}
},
"content" : {
"livestream" : 0 ,
"language" : "en"
},
"mobile" : 1 ,
"ext" : {
"amp" : 1 ,
"page_visibility" : 2 ,
"ntype" : 0
}
},
"device" : {
"ua" : "OMITTED" ,
"geo" : {
"lat" : 0.0 ,
"lon" : 0.0 ,
"country" : "GBR" ,
"region" : "GB-ENG" ,
"city" : "London" ,
"zip" : "SE1" ,
"type" : 2 ,
"utcoffset" : 60 ,
"accuracy" : 1437 ,
"ext" : {
"geo_criteria_id" : 9045888
}
},
"ipv6" : "2a00:23ee:2870::" ,
"carrier" : "70062" ,
"make" : "Samsung" ,
"model" : "sm-a326b" ,
"os" : "android" ,
"osv" : "12" ,
"devicetype" : 4 ,
"w" : 385 ,
"h" : 854 ,
"pxratio" : 1.875 ,
"sua" : {
"browsers" : [
{
"brand" : "Chromium" ,
"version" : [
"136"
]
},
{
"brand" : "Google Chrome" ,
"version" : [
"136"
]
}
],
"platform" : {
"brand" : "Android" ,
"version" : [
"12" ,
"0"
]
},
"mobile" : 1 ,
"model" : "SM-A326B" ,
"source" : 2
}
},
"user" : {
"id" : "91b09w734L84717xiK05zAZf5n0" ,
"buyeruid" : "8vo3pY3AoGtGr33C3l7675sM26SB7NB8" ,
"customdata" : "868uz0uj2AjUDOD604yq2d8KwN8dhQyH2Qlulc9m2oF4f866" ,
"consent" : "OMITTED" ,
"ext" : {
"consented_providers_settings" : {
"consented_providers" : [
"1725" ,
"2922"
],
"additional_consent" : "OMITTED"
},
"consent" : "OMITTED" ,
"idage" : 20736000
}
},
"at" : 1 ,
"tmax" : 350 ,
"cur" : [
"GBP" ,
"TRY"
],
"bcat" : [
"5" ,
"8"
],
"regs" : {
"ext" : {
"gdpr" : 1
}
},
"source" : {
"schain" : {
"complete" : 1 ,
"nodes" : [
{
"asi" : "testssp.com" ,
"sid" : "pub-1111111111111111" ,
"hp" : 1
}
],
"ver" : "1.0"
}
},
"cattax" : 500 ,
"ext" : {
"google_query_id" : "ANy-zAo260-k5UV8JFUsGCH92VU2O823b532U1q8Gzs72ny20W3Tnhi3rod972Z990D7324m" ,
"fcap_scope" : 2 ,
"privacy_treatments" : {
"allow_user_data_collection" : 1
}
}
}