Interakcja z określaniem stawek w czasie rzeczywistym rozpoczyna się, gdy Google wysyła pytanie o stawkę do
Twojej aplikacji. Ten przewodnik wyjaśnia, jak zakodować aplikację pod kątem
do przetwarzania pytania o stawkę.
Żądanie analizy
Google wysyła pytanie o stawkę jako zserializowany bufor protokołu dołączony jako
ładunek binarny żądania HTTP POST. Content-Type
jest ustawiony na
application/octet-stream
Przykładowe pytanie znajdziesz w sekcji Przykładowe pytanie o stawkę .
Musisz przeanalizować to żądanie w instancji BidRequest
. Pole BidRequest
jest zdefiniowane w zakresie realtime-bidding.proto
,
które znajdziesz na stronie z danymi referencyjnymi . Możesz przeanalizować wiadomość
za pomocą metody ParseFromString()
w wygenerowanej klasie dla argumentu
BidRequest
Na przykład ten kod w C++ analizuje żądanie
dla danego ładunku POST w ciągu znaków:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Gdy już masz BidRequest
, możesz używać go jako
wyodrębniania i interpretowania potrzebnych pól. Na przykład w polu
C++:
for ( int i = 0 ; i < bid_request . adslot_size (); ++ i ) {
const BidRequest_AdSlot & adslot = bid_request . adslot ( i );
// Decide what to bid on adslot .
}
Niektóre informacje wysłane w aplikacji BidRequest
, na przykład Użytkownik Google
Identyfikator, język i lokalizacja geograficzna nie zawsze są dostępne. Jeśli masz
grupy reklam z kierowaniem wstępnym , które korzystają z nieznanych informacji
wyświetlenia, grupy reklam nie zostaną dopasowane. W przypadkach, gdy brakuje
w przypadku warunków kierowania wstępnego pytania o stawkę nie mają znaczenia.
wysyłane z pominiętymi informacjami.
Informacje o grupie reklam z kierowaniem wstępnym znajdziesz na stronie
MatchingAdData
grupę na każdą zmienną AdSlot
. Zawiera on
identyfikator pierwszej pasującej grupy reklam z grupy reklam z kierowaniem wstępnym, która skłoniła Google do wyświetlenia
wysyła pytanie o stawkę, czyli grupę reklam i kampanię, które zostały obciążone
jeśli Twoja odpowiedź wygra aukcję dla tego wyświetlenia. W przypadku określonych wartości
okoliczności, musisz wyraźnie określić billing_id
dla
w BidResponse.AdSlot
, np. gdy
BidRequest.AdSlot
ma więcej niż jeden element typu matching_ad_data
.
Więcej informacji na temat ograniczeń dotyczących treści stawki:
realtime-bidding.proto
.
Pliki słownika
Pytanie o stawkę wykorzystuje identyfikatory zdefiniowane w plikach słownika, czyli
dostępne w danych referencyjnych
stronę.
Makra adresu URL stawki
Opcjonalnie niektóre pola BidRequest
można wstawić do
adres URL użyty w żądaniu HTTP POST, Jest to przydatne, jeśli na przykład używasz
uproszczony frontend, który równoważy obciążenie z wieloma backendami za pomocą wartości
od wniosku. Skontaktuj się z technicznym menedżerem konta, by poprosić o pomoc
nowych makr.
Makro Opis
%%GOOGLE_USER_ID%%
Zastąpione przez: google_user_id
od BidRequest
. Na przykład adres URL licytującego
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
zostanie zastąpione przez coś w rodzaju
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
w odpowiednim momencie.
Jeśli identyfikator użytkownika Google jest nieznany, pusty ciąg jest zastępowany znakiem
wynik podobny do
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Podczas połączenia zamieniono na 1
lub 0
has_mobile()
użytkownika BidRequest
.
%%HAS_VIDEO%%
Zastępowana wartością 1
(prawda) lub 0
(fałsz)
podczas połączenia z: has_video()
użytkownika BidRequest
.
%%HOSTED_MATCH_DATA%%
Zastąpiono wartością pola hosted_match_data
.
od BidRequest
.
%%MOBILE_IS_APP%%
Zastępowana wartością 1
(prawda) lub 0
(fałsz)
z pola mobile.is_app
użytkownika BidRequest
.
Znajdowanie identyfikatora aplikacji mobilnej z adresu URL transakcji
Transakcje dotyczące aplikacji mobilnych będą zawierać adresy URL podobne do tych:
mbappgewtimrzgyytanjyg4888888 .com
Zdekoduj pogrubioną część ciągu za pomocą dekodera base-32
(gewtimrzgyytanjyg4888888
).
Za pomocą adresu online
, ale musisz zapisać wielkie litery i zastąpić końcowego
Elementy typu 8
z =
wartościami.
Dlatego dekoduję tę wartość:
GEWTIMRZGYYTANJYG4======
daje:
1 - 429610587
Ciąg
429610587
to identyfikator aplikacji na iOS.
iFunny .
Oto kolejny przykład. Zgłoszony adres URL:
mbappgewtgmjug4ytmmrtgm888888 .com
Dekodowanie tej wartości:
GEWTGMJUG4YTMMRTGM======
daje:
1 - 314716233
Wynik
314716233
to identyfikator aplikacji na iOS.
TextNow .
Znajdowanie nazwy aplikacji mobilnej z adresu URL transakcji
Oto przykład uzyskania nazwy aplikacji. Zgłoszony adres URL wygląda tak:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Dekodowanie tej wartości:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
daje:
air.com.hypah.io.slither
Wynik jest taki sam jak aplikacja na Androida.
slither.io .
Pola Otwartego ustalania stawek
Pytania o stawkę wysłane do giełd i sieciowych licytujących uczestniczących w programie Open
Określanie stawek jest podobne do tych w Authorized Buyers, którzy uczestniczą w standardowym
określania stawek w czasie rzeczywistym. Klienci korzystający z Otwartego ustalania stawek otrzymają niewielką liczbę
dodatkowych pól, a kilka z istniejących pól może mieć alternatywne zastosowania. Te
należy uwzględnić następujące elementy:
OpenRTB
Authorized Buyers.
Szczegóły
BidRequest.imp[].ext.dfp_ad_unit_code
BidRequest.adslot[].dfp_ad_unit_code
Zawiera kod sieci Ad Managera wydawcy, po którym następuje reklama.
hierarchii jednostek rozdzielanych ukośnikami.
Mogłoby to wyglądać np. z użyciem formatowania podobnego do:
/1234/cruises/mars
BidRequest.user.data[].segment[]
BidRequest.adslot[].exchange_bidding.key_value[]
Powtórzone pary klucz-wartość wysłane od wydawcy do systemu licytującego na giełdzie.
Można ustalić, że wartości są parami klucz-wartość wysyłanymi przez metodę
Wydawca, gdy BidRequest.user.data[].name
ma wartość
“Publisher Passed”
Uwaga: to pole jest obecnie wysyłane tylko do zamkniętych testów beta
uczestników.
Zadeklaruj dozwolonych dostawców
dostawców technologii, którzy świadczą usługi takie jak badania, remarketing i
wyświetlanie reklam może odgrywać rolę w interakcjach między kupującymi i sprzedawcami. Tylko
dostawcy, którzy zostali zweryfikowani przez Google pod kątem udziału w programie Authorized Buyers;
interakcje.
Aby poznać BidRequest
i utworzyć
BidResponse
, musisz znać te 2 różne
możliwości definiowania dostawców technologii:
Niektórych dostawców nie trzeba deklarować. ci dostawcy są wyszczególnini w Centrum pomocy Authorized Buyers .
Pozostali dostawcy mogą uczestniczyć tylko wtedy, gdy są zadeklarowani w
BidRequest
i BidResponse
:
BidRequest
, allowed_vendor_type
określa dostawców, na których używanie zezwala sprzedawca. Dostawcy, którzy zostaną przekierowani
pole allowed_vendor_type
BidRequest
jest
wymienionych w Vendors.txt
słownik.
W polu BidResponse
w polu vendor_type
określa, z którego z tych dozwolonych dostawców kupujący chce skorzystać.
Przykładowe pytanie o stawkę
Poniższe przykłady przedstawiają czytelne dla człowieka próbki Protobuf i
Żądania JSON.
Google
Pokaż przykład
id : "\ 2509 \ 326 c \ 203 \ 245 \ 3079 ! \ 301 \ 334 U \ 316 Wz \ 240 _ \ 252 \ 367 S \ 230 ) \ 303 "
user_agent : "Mozilla / 5.0 ( Linux ; Android 10 ; SM - J610FN ; wv ) AppleWebKit / 537.36 ( KHTML , like Gecko ) Version / 4.0 Chrome / 123.0.0.0 Mobile Safari / 537.36 ( Mobile ) "
url : "https : //www.google.com "
detected_language : "fr "
adslot {
id : 1
width : 320
width : 300
height : 50
height : 50
excluded_attribute : 22
excluded_attribute : 95
allowed_vendor_type : 3
allowed_vendor_type : 42
excluded_sensitive_category : 36
excluded_sensitive_category : 19
matching_ad_data {
billing_id : 30279159795
billing_id : 91462636804
minimum_cpm_micros : 520000
}
matching_ad_data {
billing_id : 20531517860
billing_id : 81128918204
minimum_cpm_micros : 40000
}
slot_visibility : ABOVE_THE_FOLD
excluded_product_category : 10159
ad_block_key : 1008473386
publisher_settings_list_id : 2398179148724909589
publisher_settings_list_id : 2783982084227045767
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
consented_providers_settings {
consented_providers : 976
consented_providers : 1127
additional_consent_string : "OMITTED "
}
regs_gdpr : true
api : OMID_1
api : MRAID_1
flexible_adslot_settings {
max_width : 320
max_height : 50
min_width : 214
min_height : 33
}
omidpn : "Google "
omidpv : "afma - sdk - a - v240304999 .12451000.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
timezone_offset : 120
mobile {
app_id : "com . google . testapp "
is_app : true
app_name : "Test App "
app_rating : 4.2959895
}
postal_code : "10011 "
geo_criteria_id : 1001400
publisher_type : PUBLISHER_OWNED_AND_OPERATED
device {
device_type : HIGHEND_PHONE
platform : "android "
brand : "Samsung "
model : "SM - J610FN "
os_version {
major : 10
}
carrier_id : 0
screen_width : 412
screen_height : 798
screen_pixel_ratio_millis : 1750
screen_orientation : PORTRAIT
limit_ad_tracking : false
connection_type : WIFI
}
publisher_country : "DE "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 1000
google_query_id : "ANy - zlKU2N - bX715350yWM17iAQg20R03ek41611E29hE35cvag5h91O1gYs9308t71bZ9k7 "
auction_type : FIRST_PRICE
geo {
lat : 50.46
lon : 4.85
country : "BEL "
region : "BE - WNA "
city : "Namur "
zip : "5000 "
utcoffset : 120
accuracy : 7471
}
user_agent_data {
platform {
brand : "Android "
version : "10 "
}
mobile : true
model : "SM - J610FN "
browsers {
brand : "Mozilla "
version : "5 "
version : "0 "
}
browsers {
brand : "AppleWebKit "
version : "537 "
version : "36 "
}
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 {
ip : IP_REDACTED
user_agent : USER_AGENT_COARSENED
non_personalized_ads_reason : PUBLISHER_DECLARED_NPA
allow_user_data_collection : false
device_storage_restriction_reason : INSUFFICIENT_USER_CONSENT
}
inventory_partner_domain : "OMITTED "
Plik JSON OpenRTB
Pokaż przykład
{
"id ": "219 DAI11M3120s2d8M4xgR ",
"imp ": [
{
"id ": "1 ",
"banner ": {
"w ": 300 ,
"h ": 250 ,
"pos ": 3 ,
"battr ": [
6 ,
7
],
"wmax ": 300 ,
"hmax ": 250 ,
"wmin ": 200 ,
"hmin ": 200 ,
"format ": [
{
"w ": 300 ,
"h ": 250
},
{
"w ": 200 ,
"h ": 200
}
]
},
"displaymanager ": "GOOGLE ",
"tagid ": "7820275329 ",
"bidfloor ": 0.08 ,
"bidfloorcur ": "USD ",
"secure ": 1 ,
"exp ": 3600 ,
"metric ": [
{
"type ": "click_through_rate ",
"value ": 0.00022253872884903103 ,
"vendor ": "EXCHANGE "
},
{
"type ": "viewability ",
"value ": 0.01 ,
"vendor ": "EXCHANGE "
}
],
"ext ": {
"billing_id ": [
54460865479
],
"publisher_settings_list_id ": [
5406346852112173352 ,
7576925985766584885
],
"allowed_vendor_type ": [
3 ,
42
],
"ampad ": 3 ,
"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 ,
"ae ": 0
}
}
],
"site ": {
"page ": "https : //www.google.com",
"publisher ": {
"id ": "pub - 1111111111111111 ",
"ext ": {
"country ": "GB "
}
},
"content ": {
"livestream ": 0 ,
"language ": "en "
},
"mobile ": 1 ,
"ext ": {
"amp ": 0 ,
"page_visibility ": 1 ,
"inventorypartnerdomain ": "OMITTED "
}
},
"device ": {
"ua ": "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 17 _4_1 like Mac OS X ) AppleWebKit / 537.36 ( KHTML , like Gecko ) Chrome / 124.0.0.0 Mobile Safari / 537.36 ",
"ip ": "192.168.1.0 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "GBR ",
"region ": "GB - ENG ",
"city ": "Leeds ",
"type ": 2 ,
"utcoffset ": 60 ,
"accuracy ": 7356
},
"carrier ": "70062 ",
"make ": "Apple ",
"model ": "iphone ",
"os ": "iOS ",
"osv ": "17.4.1 ",
"devicetype ": 4 ,
"lmt ": 0 ,
"w ": 393 ,
"h ": 852 ,
"pxratio ": 3 ,
"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
},
},
"user ": {
"ext ": {
"consented_providers_settings ": {
"consented_providers ": [
"1800 ",
"2878 "
],
"additional_consent ": "OMITTED "
},
"consent ": "OMITTED "
}
},
"at ": 1 ,
"tmax ": 300 ,
"cur ": [
"USD "
],
"bcat ": [
"IAB23 - 5 ",
"IAB23 - 7 "
],
"regs ": {
"ext ": {
"gdpr ": 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 ": {
"google_query_id ": "ANy - z1n326 - 9 P8x09i2I5f85oXp7N1r61w0p681H008U29MK56111D9VJn1nRRp4P7eB5Y9H ",
"fcap_scope ": 5 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Bufor protokołu OpenRTB
Pokaż przykład
id : "803 txXnQe99Y0e3070L5xO "
imp {
id : "1 "
banner {
w : 468
h : 60
pos : BELOW_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
format {
w : 468
h : 60
}
format {
w : 300
h : 50
}
}
displaymanager : "GOOGLE "
tagid : "1614017459 "
bidfloor : 0.01
bidfloorcur : "USD "
secure : true
exp : 3600
metric {
type : "viewability "
value : 0.25
vendor : "EXCHANGE "
}
metric {
type : "session_depth "
value : 1.0
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 51570472186
dfp_ad_unit_code : "/2336960/google/ test "
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
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 : "en "
}
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Mozilla /5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/ 537.36 "
geo {
lat : 0.0
lon : 0.0
country : "IND "
region : "IN - UP "
type : IP
utcoffset : 330
accuracy : 8141
}
ipv6 : "2409 : 4053 : 401 :: "
os : "X11 "
devicetype : PERSONAL_COMPUTER
lmt : false
pxratio : 2.0
sua {
browsers {
brand : "Google Chrome "
version : "123 "
version : "0 "
}
browsers {
brand : "Not : A - Brand "
version : "8 "
version : "0 "
}
platform {
brand : "Linux "
}
mobile : false
architecture : "x86 "
bitness : "64 "
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id : "k5953o8KM7C3P2t45EoXQN6273h "
buyeruid : "i8VSc4u14C8hQCB3e6Tm8Od7z1S0542c "
customdata : "08135 N21ki8nbhM99rBJEGsU9kO5Mr99Hs10eeh3M8tn1o3q "
[ com . google . doubleclick . user ] {
idage : 2592000
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD "
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 . bid_request ] {
google_query_id : "ANy - z0q198 - VH9uWi641a7Nr5j1TA39TZM09b659F35vRZhyf532904TZ7cR3UPC71174eAi "
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
}
Aby przekonwertować pytanie o stawkę na postać binarną, jak w tagu
POST w prawdziwym żądaniu możesz wykonać poniższe czynności (w C++). Uwaga:
Nie dotyczy to jednak formatu 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
}
}
Authorized Buyers przekazuje w pytaniach o stawkę identyfikator wyświetlania reklam mobilnych
aplikacji mobilnej. Identyfikatorem wyświetlania reklam mobilnych może być
IDFA w iOS lub
identyfikatora wyświetlania reklam na urządzeniu z Androidem , który jest wysyłany przez
%%EXTRA_TAG_DATA%%
w tagu JavaScript zarządzanym przez
Authorized Buyers.
Makro %%ADVERTISING_IDENTIFIER%%
umożliwia kupującym otrzymanie
Identyfikator IDFA w iOS lub identyfikator wyświetlania reklam na Androidzie podczas renderowania. Zwraca ono
zaszyfrowany bufor protokołu MobileAdvertisingId
podobny do:
%%EXTRA_TAG_DATA%%
:
message MobileAdvertisingId {
optional bytes advertising_id = 1 ;
optional int32 user_id_type = 2 ;
}
user_id_type
jest jedną z wartości zdefiniowanych w parametrze
enum AdxMobileIdType
:
enum AdxMobileIdType {
MOBILE_ID_UNKNOWN = 0 ,
IDFA = 1 ,
ANDROID_ID = 2 ,
};
Listy użytkowników możesz tworzyć na podstawie mobilnych identyfikatorów wyświetlania reklam, korzystając z identyfikatorów wyświetlania reklam.
zebranych podczas renderowania wyświetleń. Te listy użytkowników można prowadzić
na Twoim serwerze lub na naszym. Do tworzenia list użytkowników na serwerach Google możesz używać narzędzia
do przesyłania zbiorczego.
Gdy identyfikator wyświetlania reklam mobilnych pasuje do listy użytkowników, możesz go używać do wyświetlania reklam
remarketingu.
Opinie w czasie rzeczywistym
Użytkownicy Authorized Buyers mogą też korzystać z opinii w czasie rzeczywistym,
jak giełdy i sieci korzystające z Otwartego ustalania stawek.
Odpowiedź na stawkę jest obsługiwana w przypadku kolejnego pytania o stawkę w przypadku
Protokołu AdX i OpenRTB. W przypadku OpenRTB jest on przesyłany w ciągu
BidRequestExt
Oprócz domyślnych pól przesłanych w opinii na temat odpowiedzi na stawkę możesz też
wysyłać też dane niestandardowe w odpowiedzi na stawkę (w AdX Proto lub OpenRTB)
przy użyciu funkcji event_notification_token
, która jest zwracana w funkcji
BidResponse
event_notification_token
to
arbitralne dane znane tylko licytującym, które mogą pomóc w debugowaniu,
np. nowy identyfikator kierowania lub identyfikator ustalania stawek reprezentujący nową taktykę;
związane z kreacją znane tylko licytującemu. Więcej informacji:
Więcej informacji: OpenRTB
Extensions Protocol Buffer dla RTB i AdX Proto
dla AdX.
Gdy kupujący z Authorized Buyers wysyłają pytanie o stawkę, licytujący odpowiada
dzięki funkcji BidResponse
. Jeśli licytujący ma włączone przesyłanie informacji zwrotnych w czasie rzeczywistym,
w kolejnym pytaniu o stawkę usługa Authorized Buyers wysyła opinię na temat
odpowiedź w wiadomości BidResponseFeedback
, tak jak poniżej:
message BidResponseFeedback {
// The unique id from BidRequest . id
optional bytes request_id = 1 ;
// The index of the BidResponse_Ad if there was more than one . The index
// starts at zero for the first creative .
optional int32 creative_index = 2 ;
// 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 = 3 ;
// 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 int64 cpm_micros = 4 ;
// The minimum bid value necessary to have won the auction , in micros of
// 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 did not 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 int64 minimum_bid_to_win = 7 ;
// 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 micros 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 BidResponseFeedback object .
optional int64 server_side_component_minimum_bid_to_win = 16 ;
// 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 = 15 [ 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 micros of your account currency .
optional int64 sampled_mediation_cpm_ahead_of_auction_winner = 10 ;
// Event notification token that was included in the bid response .
optional bytes event_notification_token = 5 ;
// Buyer creative ID that was included in the bid response .
optional string buyer_creative_id = 6 ;
// 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 BidResponseFeedback message . Google will send separate
// BidResponseFeedback 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 feedback_type = 17 ;
// 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 buyer_origin = 18 ;
// 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 interest_group_buyer_status_code = 19 ;
}
W pierwszym polu, które należy sprawdzić w tym komunikacie,
bid_response_feedback.creative_status_code
; znajdziesz kod
znaczenie w języku
Creative-status-codes.txt . Pamiętaj, że jeśli wygrasz stawkę, możesz zrezygnować
na podstawie opinii o cenie. Więcej informacji znajdziesz w artykule Instrukcje
i zrezygnuj .
Opinia w czasie rzeczywistym zawiera identyfikator pytania o stawkę oraz jeden
:
Wynik aukcji
Opinie w czasie rzeczywistym
Kupujący nie przesłał stawki.
Nic.
Kupujący przesłał stawkę, która została odfiltrowana, zanim osiągnęła wartość
aukcji.
Kod stanu kreacji (creative-status-codes.txt ).
Kupujący przesłał stawkę, ale przegrał aukcję.
Kod stanu kreacji 79
(przelicytowana za
aukcji).
Kupujący przesłał stawkę, która wygrała aukcję.
Cena rozliczenia i kod stanu kreacji 1
.
W przypadku wyświetlenia w aplikacji i kodu stanu kreacji 83
parametr
wydawca aplikacji mógł korzystać z kaskady zapośredniczenia,
zwycięska stawka konkurowałaby z innymi ofertami wydawcy
łańcucha kaskady
przebiegu zwrotnego. Naucz się używać
sampled_mediation_cpm_ahead_of_auction_winner
, gdy
.
Przykład
Oto próbka opinii w czasie rzeczywistym w obszarze
protokoły:
Google
Pokaż przykład
id : "( \ 001 \ 334 X \ nH \ 034 \ 230 . \ 244 R / \ 370 \ 204 / \ 270 \ 265 \ 255 H \ 322 h \ 366 "
ip : "\ 300 \ 250 "
user_agent : "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 16 _6 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 "
url : "https : //www.google.com "
detected_language : "en "
adslot {
id : 1
width : 320
height : 50
excluded_attribute : 18
excluded_attribute : 27
allowed_vendor_type : 485
allowed_vendor_type : 4648
excluded_sensitive_category : 4
excluded_sensitive_category : 23
matching_ad_data {
billing_id : 18273476630
billing_id : 57564954457
minimum_cpm_micros : 634720000
}
matching_ad_data {
billing_id : 51346235308
billing_id : 16770443752
minimum_cpm_micros : 4037930000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 5409661012
publisher_settings_list_id : 8938951914739109978
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
viewability : 94
click_through_rate : 0.0002517347
allowed_ad_types : ALLOWED_AD_TYPE_BANNER
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 - v8 .13.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 : "8.13.0 "
}
is_test : false
cookie_version : 1
google_user_id : "qM75u4Pq2e1DYmuo3J1w534y786 "
timezone_offset : - 300
mobile {
app_id : "549642335 "
is_app : true
encrypted_advertising_id : "\ 357 \ 005 \ 250 ` f \ 022 \ 357 Y \ 372 $\ 177 \ 005 \ 325 \ 036 \ 334 a ] \ 241 \ 014 \ 367 g_ \ 032 \ 262 w , nG \ 265 \ 312 : Iw \ 037 \ 347 y "
app_name : "Test App "
advertising_id : "\ 272 \ 026 \ 206 F \ 222 \ 250 \ re \ 253 \ 350 G \ 235 \ 241 h \ 303 \ 271 "
}
cookie_age_seconds : 20736000
postal_code : "10011 "
geo_criteria_id : 9012672
publisher_settings_list_id : 3625423117835077640
bid_response_feedback {
request_id : "\ 220 \ 366 \ 320 / \ 025 \ 000 Z \ 212 K \"\ 020 \ 364 \ 232 \ 247 \ 326 Q "
creative_status_code : 80
event_notification_token : "token "
buyer_creative_id : "test_creative_id_180631 "
minimum_bid_to_win : 11650000
feedback_type : BID_FEEDBACK
}
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 7759509030857009145
device {
device_type : HIGHEND_PHONE
platform : "iphone "
brand : "Apple "
model : "iPhone13 , 2 "
os_version {
major : 16
minor : 6
}
carrier_id : 0
screen_width : 390
screen_height : 844
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone13 , 2 "
limit_ad_tracking : false
app_tracking_authorization_status : AUTHORIZED
connection_type : WIFI
}
publisher_country : "US "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 1000
google_query_id : "ANy - z8184S - 12 cH23V6vlS7A862Qr799b3g4uh5Y8a21SDWf3XC22u9KS5KSn1053a97039y "
auction_type : FIRST_PRICE
geo {
lat : 34.37
lon : - 87.44
country : "USA "
region : "AL "
metro : "691 "
zip : "35651 "
utcoffset : - 300
accuracy : 7879
}
user_agent_data {
platform {
brand : "iPhone "
version : "16 "
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
}
version : "1.0 "
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED "
Plik JSON OpenRTB
Pokaż przykład
{
"id ": "B2zmta620ms2392240eM5R ",
"imp ": [
{
"id ": "1 ",
"banner ": {
"w ": 300 ,
"h ": 250 ,
"pos ": 3 ,
"wmax ": 300 ,
"hmax ": 250 ,
"wmin ": 0 ,
"hmin ": 46 ,
"format ": [
{
"w ": 300 ,
"h ": 250
},
{
"w ": 180 ,
"h ": 150
}
]
},
"displaymanager ": "GOOGLE ",
"tagid ": "3178683015 ",
"bidfloor ": 0.06 ,
"bidfloorcur ": "USD ",
"secure ": 1 ,
"exp ": 3600 ,
"metric ": [
{
"type ": "click_through_rate ",
"value ": 0.0010899954941123724 ,
"vendor ": "EXCHANGE "
},
{
"type ": "viewability ",
"value ": 0.28 ,
"vendor ": "EXCHANGE "
}
],
"ext ": {
"billing_id ": [
76252023422
],
"publisher_settings_list_id ": [
7226782477948422193 ,
2459752148771775747
],
"allowed_vendor_type ": [
3 ,
42
],
"ampad ": 3 ,
"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 ": "TR "
}
},
"content ": {
"livestream ": 0 ,
"language ": "tr "
},
"ext ": {
"amp ": 0 ,
"page_visibility ": 1 ,
"inventorypartnerdomain ": "OMITTED "
}
},
"device ": {
"ua ": "Mozilla / 5.0 ( Windows NT 10.0 ; Win64 ; x64 ) AppleWebKit / 537.36 ( KHTML , like Gecko ) Chrome / 124.0 . 0.0 Safari / 537.36 ",
"ip ": "192.168 . 1.0 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "TUR ",
"region ": "TR - 01 ",
"city ": "Adana ",
"type ": 2 ,
"utcoffset ": 180 ,
"accuracy ": 7060
},
"os ": "Windows ",
"devicetype ": 2 ,
"lmt ": 0 ,
"pxratio ": 1.25 ,
"sua ": {
"browsers ": [
{
"brand ": "Chromium ",
"version ": [
"124 ",
"0 "
]
},
{
"brand ": "Google Chrome ",
"version ": [
"124 ",
"0 "
]
}
],
"platform ": {
"brand ": "Windows ",
"version ": [
"7 ",
"0 "
]
},
"mobile ": 0 ,
"architecture ": "x86 ",
"bitness ": "64 ",
"source ": 2
},
},
"at ": 1 ,
"tmax ": 300 ,
"cur ": [
"USD "
],
"bcat ": [
"IAB23 - 6 ",
"IAB23 - 8 "
],
"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 ": "0 S7s2muW9tFzp8zl35u97n ",
"creative_status_code ": 80 ,
"event_notification_token ": {
"payload ": "token "
},
"buyer_creative_id ": "test_creative_id_383532 ",
"minimum_bid_to_win ": 0.01 ,
"feedbacktype ": 1
}
],
"google_query_id ": "ANy - z3QP2f - 48 p8d0ucFkGmd99q36HPgSg4o8b89L0989N0RoS0x56mYMJd4087NT0d21W99 ",
"fcap_scope ": 5 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Bufor protokołu OpenRTB
Pokaż przykład
id : "Wa0N08928Q93A1985Aj71s "
imp {
id : "1 "
banner {
w : 428
h : 846
pos : AD_POSITION_FULLSCREEN
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
api : MRAID_1
api : MRAID_2
format {
w : 428
h : 846
}
format {
w : 414
h : 736
}
}
displaymanager : "GoogleMobileAds - iOS "
displaymanagerver : "10.12 . 0 "
instl : true
tagid : "7674739358 "
bidfloor : 0.01
bidfloorcur : "USD "
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate "
value : 0.12990431487560272
vendor : "EXCHANGE "
}
metric {
type : "viewability "
value : 0.91
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 25325587657
ampad : AMP_AD_NOT_ALLOWED
open_bidding {
is_open_bidding : true
}
skadn {
sourceapp : "com . google . testapp "
skadnetids : "M8jiSyxV "
skadnetids : "lZ95E155 "
versions : "2.0 "
versions : "2.1 "
fidelities : VIEW_THROUGH_ADS
fidelities : STOREKIT_RENDERED_ADS
}
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 "
bundle : "com . google . testapp "
publisher {
id : "pub - 7874601938215096 "
[ com . google . doubleclick . publisher ] {
country : "CN "
}
}
content {
url : "https : // www . google . com "
livestream : false
language : "en "
}
storeurl : "https : // www . google . com "
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 16 _3_1 like Mac OS X ) AppleWebKit / 605.1 . 15 ( KHTML , like Gecko ) Mobile / 15E148 "
ip : "192.168 . 1.0 "
geo {
lat : 0.0
lon : 0.0
country : "MYS "
region : "MY - 13 "
city : "Kuching "
zip : "93350 "
type : IP
utcoffset : 480
accuracy : 3372
}
make : "Apple "
model : "iPhone14 , 3 "
os : "iOS "
osv : "16.3 . 1 "
connectiontype : WIFI
devicetype : HIGHEND_PHONE
lmt : true
hwv : "iPhone14 , 3 "
w : 428
h : 926
pxratio : 3.0
sua {
browsers {
brand : "Mozilla "
version : "5 "
version : "0 "
}
browsers {
brand : "AppleWebKit "
version : "605 "
version : "1 "
}
platform {
brand : "iPhone "
version : "16 "
version : "3 "
}
mobile : true
bitness : "64 "
model : "iPhone "
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 2
}
}
at : FIRST_PRICE
tmax : 1000
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 - i - v10 . 12.0 "
schain {
complete : 1
nodes {
asi : "testssp . com "
sid : "pub - 1111111111111111 "
hp : 1
}
ver : "1.0 "
}
}
}
[ com . google . doubleclick . bid_request ] {
bid_feedback {
request_id : "0 I3TcIJ0r6cmPH750Be7b1 "
creative_status_code : 79
event_notification_token {
payload : "token "
}
buyer_creative_id : "test_creative_id_151612 "
minimum_bid_to_win : 0.14
sampled_mediation_cpm_ahead_of_auction_winner : 2.222233
feedbacktype : BID_FEEDBACK
}
google_query_id : "ANy - zv49ep - 83 k2i3iDL3q449a2D1l824ye020uBq6B1wnPqWz1657JQ4LF11N71794cU0n9 "
fcap_scope : FREQUENCY_CAPPING_SCOPE_APP
}
Tworzenie modelu określania stawek na potrzeby aukcji pierwszej ceny
Po ustaleniu stawki w aukcji pierwszej ceny będziesz otrzymywać
opinie, w tym minimum_bid_to_win
i
sampled_mediation_cpm_ahead_of_auction_winner
, jeśli stawka
nie został odfiltrowany z aukcji. Te sygnały mogą służyć do przekazywania
logika określania stawek określająca, o ile wyższa lub niższa stawka mogłaby być
wygrywają wyświetlenia.
minimum_bid_to_win
: minimalna stawka, jaką można było osiągnąć
aby wygrać aukcję z określaniem stawek w czasie rzeczywistym. Jeśli wygrasz aukcję,
być najniższą stawką, jaką można było ustawić, nadal wygrywając. Jeśli zgubiłeś(-aś)
w aukcji, to ta stawka będzie zwycięska.
sampled_mediation_cpm_ahead_of_auction_winner
: jeśli masz
w innych sieciach w łańcuchu zapośredniczenia ,
jest to cena reprezentująca przykładową stawkę z jednego
odpowiednie sieci zapośredniczenia, które były wyższe od zwycięzcy aukcji, ważone
od oczekiwanego współczynnika wypełnienia. Jeśli żadna z sieci w
zostanie wypełniony łańcuch zapośredniczenia lub jeśli wydawca nie korzysta z pakietu SDK;
pośrednictwa.
Jak to działa
Aby opisać obliczenia służące do wyznaczenia możliwych wartości
dla minimum_bid_to_win
i
sampled_mediation_cpm_ahead_of_auction_winner
, musimy najpierw
zdefiniować następujące elementy:
Poniżej przedstawiamy wartości CPM w łańcuchu zapośredniczenia w kolejności malejącej:
\[C_1, C_2, …, C_n\]
Poniżej przedstawiono odpowiednie współczynniki wypełnienia dla CPM w
łańcuch zapośredniczenia:
\[f_1, f_2, …, f_n\]
Poniżej przedstawiono funkcję służącą do określania oczekiwanego CPM i jego
prawdopodobieństwo z elementu łańcucha zapośredniczenia \(i\), na podstawie danego wypełnienia
stawka:
\(X_i = \{C_i\) z prawdopodobieństwem \(f_i\); \(0\) z prawdopodobieństwem \(1 - f_i\}\)
Ostateczny łańcuch zapośredniczenia, który wygra łańcuch zapośredniczenia, to:
\[\{C_1, C_2, …, C_K, W\}\]
gdzie \(W\) to zwycięska stawka \(C_K > W >= C_{K+1}\)
Cena minimalna (minimalna) jest oznaczona jako \(F\).
Stawka za drugie miejsce jest oznaczona jako \(R\).
Obliczenia dla zwycięzcy aukcji
Pole
Obliczenie
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) z prawdopodobieństwem \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
Dotyczy domeny \(1 <= i <= K\).
Obliczenia dotyczące przegranej aukcji
Pole
Obliczenie
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Załóżmy, że wydawca korzysta zarówno z określania stawek w czasie rzeczywistym, jak i z łańcucha zapośredniczenia SDK jako
następujące:
Łańcuch zapośredniczenia SDK
Oczekiwany CPM
Współczynnik wypełnienia
Sieć 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Sieć 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Sieć 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Sieć 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Oto wynik aukcji RTB:
Aukcja RTB
CPM
Zwycięzca aukcji (W)
1 USD
Druga połowa aukcji (R)
0,05 USD
Cena minimalna / cena minimalna (F)
0 USD
Stawka, która wygrała aukcję
Poniższy przykład pokazuje, jak wartości i prawdopodobieństwa dla wartości
minimum_bid_to_win
i
sampled_mediation_cpm_ahead_of_auction_winner
są obliczane dla
która wygrała.
minimum_bid_to_win
Probability,
\(max(F, R, C_3) = $0.50\)
\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)
\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)
\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability,
\(C_1 = $3.00\)
\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)
\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
Uwaga: jeśli zwycięzca aukcji wyświetli reklamę i otrzyma płatność
powiadomienia, na przykład przez punkt końcowy określony w argumencie
BidResponse.ad[].impression_tracking_url
lub
BidResponse.seatbid[].bid[].burl
w OpenRTB. Zwycięzca aukcji może
możesz wywnioskować, że żaden z próbkowanych CPM nie został wypełniony i może
i uwzględniać częstotliwość występowania tych problemów w modelu.
Stawki, które przegrały aukcję
Poniższy przykład pokazuje, jak wartości i prawdopodobieństwa dla wartości
minimum_bid_to_win
i
sampled_mediation_cpm_ahead_of_auction_winner
są obliczane dla
które przegrały.
minimum_bid_to_win
Probability,
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability,
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
Uwaga:
Wartość sampled_mediation_cpm_ahead_of_auction_winner
o wartości 0 oznacza
że wygrała aukcja z określaniem stawek w czasie rzeczywistym. W przykładzie powyżej aukcja
oczekuje się, że zwycięzca nie przebije konkurencyjnej sieci zapośredniczenia 52,2%
Rozdzielanie stawek
Rozdzielanie stawek opisuje przetwarzanie pojedynczego kompleksu
BidRequest
w kilka pytań o stawkę wysyłanych do Twojego
aplikacji. Ponieważ zachowują one identyczne identyfikatory
(BidRequest.google_query_id
w ramach protokołu RTB Authorized Buyers
lub BidRequestExt.google_query_id
w protokole OpenRTB), możesz
określać, które pytania o stawkę są skorelowane po współdzieleniu.
Niektóre możliwości wyświetlania reklam mogą przyjmować wiele formatów. Przy rozdzielaniu stawek każda
są wysyłane w osobnym pytaniu o stawkę, gdzie atrybuty takie jak „odpowiedni”
są powiązane z formatem określonym w żądaniu.
Pytania o stawkę, które zawierają podane niżej formaty, zostaną podzielone na
różne pytania o stawkę:
Baner
Wideo
Dźwięk
Natywna
Poniżej znajduje się przykład uproszczonego pytania o stawkę JSON OpenRTB bez reklamy
spłaszczony format w porównaniu z równoważnym zbiorem żądań w rozdzielczości:
Wstępnie spłaszcz
Pokaż przykład
{
"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"
}
}
Do wyrównania
Pokaż przykład
Prośba 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"
}
}
Prośba 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"
}
}
Okazje
Możliwość wyświetlenia reklamy w przypadku danego licytującego można wykorzystać w różnych umowach
typy reklam, a nie tylko aukcje otwarte. Przy rozdzielaniu stawek w przypadku umów: 1 stawka
zostanie wysłane do aukcji otwartej i jedno dla każdego typu stałej ceny
umowy. W praktyce ograniczenia dotyczące reklam mogą się różnić w zależności od aukcji i stałej ceny
ofert, np. dla danej możliwości związanej z reklamą wideo, która jest dostępna dla
aukcji otwartej i umowy o stałej cenie, licytujący otrzyma różne
pytań o stawkę w przypadku każdego typu, w którym ograniczenia, np. maksymalny czas trwania reklamy,
mogą się różnić. W rezultacie do reklamy została zastosowana wygładzanie.
pozwala łatwiej określić ograniczenia dotyczące reklam w otwartych
aukcji ze stałą ceną.
Uwaga: aukcje prywatne i pakiety aukcji będą wyglądać tak samo.
do aukcji otwartych i w dalszym ciągu
pytania o stawkę w ramach aukcji.
Maksymalny czas trwania reklamy wideo możliwej do pominięcia
Protokół Google i implementacja OpenRTB obsługują poniższe pola
czas trwania filmu i możliwość pominięcia:
Czas trwania
Czas trwania reklamy możliwej do pominięcia
Możliwość pominięcia
Protokół Google
max_ad_duration
skippable_max_ad_duration
video_ad_skippable
OpenRTB
maxduration
nie dotyczy
skip
Oznacza to, że chociaż protokół Google może mieć
szczegółowy, możliwy do pominięcia
i czasu trwania niemożliwego do pominięcia, implementacja OpenRTB ma tylko jeden
maksymalny czas trwania.
Przed rozłożeniem stawek wartość maxduration
OpenRTB zostałaby ustawiona na
niższy z parametrów max_ad_duration
i protokołu Google
skippable_max_ad_duration
pól. Sposób działania zmienił się na
wysyłając dwa osobne pytania o stawkę, gdy te wartości się różnią: jedno odpowiada
maxduration
w przypadku reklam możliwych do pominięcia, a drugie w przypadku reklam niemożliwych do pominięcia.
możliwości.
Poniższe przykłady pokazują, jak jest translowane żądanie protokołu Google
do OpenRTB przed i po rozdzieleniu stawek. Odpowiednik protokołu Google
żądanie zawiera max_ad_duration
o wartości 15
i
skippable_max_ad_duration
z 60
.
Przykład
max_ad_duration
skip
(prawda LUB fałsz)
Pierwotne żądanie bez podziału
15
true
Spłaszczone żądanie nr 1: niemożliwe do pominięcia
15
false
Spłaszczone żądanie nr 2: możliwe do pominięcia
60
true
Pytanie o stawkę dotyczące czasu trwania reklamy wideo możliwej do pominięcia ma miejsce tylko wtedy,
są spełnione te warunki:
Żądanie zezwala na odtwarzanie filmu.
Dozwolone są zarówno filmy pomijane, jak i te, których nie można pominąć. Dozwolone są też 2 odpowiednie atrybuty maks.
czas trwania może się różnić.
To żądanie może kwalifikować się do aukcji prywatnej lub otwartej.
Konto licytującego ma aktywne punkty końcowe OpenRTB.
Aby zrezygnować z tego typu rozdzielania, skontaktuj się ze swoim
menedżera konta.
Bloki reklamowe wideo
Pytania o stawkę dotyczące bloku wideo z wieloma możliwościami reklamy są rozdzielane na poszczególne części,
w taki sposób, aby każde pytanie o stawkę dotyczyło pojedynczej możliwości reklamy z tego bloku.
Dzięki temu możesz określać stawki dla wielu możliwości reklamowych w danym bloku reklamowym.
Open Measurement
Open Measurement pozwala wskazać
dostawców zewnętrznych,
niezależne usługi pomiarowe i weryfikacyjne w przypadku reklam wyświetlanych w aplikacjach mobilnych.
w różnych środowiskach.
Możesz sprawdzić, czy wydawca obsługuje Open Measurement w stawce
żądania, sprawdzając, czy możliwość wyświetlenia reklamy wyklucza atrybut OmsdkType:
OMSDK 1.0
w atrybucie Publisher-excludable
atrybutów kreacji . W przypadku protokołu Authorized Buyers będzie to wartość
znaleziono w grupie BidRequest.adslot[].excluded_attribute
. W przypadku atrybutu
protokołu OpenRTB. Można go znaleźć w atrybucie battr
.
dla elementu Banner lub
Wideo , w zależności od
format.
Więcej informacji o interpretowaniu pytań o stawkę zawierających otwarte
Sygnały pomiarowe, zapoznaj się z dokumentem Open Measurement
Artykuł w Centrum pomocy o pakiecie SDK .
Przykładowe pytania o stawkę
W sekcjach poniżej znajdziesz przykładowe pytania o stawkę dotyczące różnych typów reklam.
Baner aplikacji
Google
Pokaż przykład
id : "1 \ 200 \ 2149 CH \ 354 \ 224 S \ 002 G >\ 276 \ 3068 \ 264 Z \ 316 \ 203 Hz \ 010 \ 334 "
ip : "\ 300 \ 250 "
user_agent : "Mozilla /5.0 (Linux; Android 13; SM-A032M Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/ 537.36 ( Mobile ; afma - sdk - a - v241518064 . 241518064.0 ) "
url : "https :// www . google . com "
detected_language : "pt "
adslot {
id : 1
width : 300
width : 320
height : 250
height : 50
excluded_attribute : 13
excluded_attribute : 18
allowed_vendor_type : 745
allowed_vendor_type : 4513
excluded_sensitive_category : 4
excluded_sensitive_category : 31
matching_ad_data {
billing_id : 16751333146
minimum_cpm_micros : 10000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 6911419491
publisher_settings_list_id : 3488369073734770391
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
viewability : 66
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
flexible_adslot_settings {
max_width : 336
max_height : 280
min_width : 168
min_height : 0
}
regs_lgpd : true
omidpn : "Google "
omidpv : "afma - sdk - a - v240304999 . 224400000.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 : "21.5 . 0 "
}
is_test : false
timezone_offset : - 180
mobile {
app_id : "com . google . testapp "
is_app : true
app_name : "Test App "
app_rating : 4.6296206
}
geo_criteria_id : 1001533
publisher_settings_list_id : 12488741028105368323
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 8688212468768627166
device {
device_type : HIGHEND_PHONE
platform : "android "
brand : "Samsung "
model : "SM - A032M "
os_version {
major : 13
}
carrier_id : 0
screen_width : 360
screen_height : 730
screen_pixel_ratio_millis : 2000
screen_orientation : PORTRAIT
limit_ad_tracking : false
connection_type : WIFI
}
publisher_country : "BR "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 1000
google_query_id : "ANy - z6684B - S9K9375rD1B53ZdYA2RQi090I2bJ579yi0CF0N8A60v821V52F938j142LOzW "
auction_type : FIRST_PRICE
geo {
lat : - 12.98
lon : - 38.5
country : "BRA "
region : "BR - BA "
city : "Salvador "
utcoffset : - 180
accuracy : 14885
}
user_agent_data {
platform {
brand : "Android "
version : "13 "
}
mobile : true
model : "SM - A032M "
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_BROWSER
privacy_treatments {
non_personalized_ads_reason : USER_OPT_OUT
allow_user_data_collection : false
}
inventory_partner_domain : "OMITTED "
Plik JSON OpenRTB
Pokaż przykład
{
"id ": "r87mLfJ195K96b48857234 ",
"imp ": [
{
"id ": "1 ",
"banner ": {
"w ": 390 ,
"h ": 61 ,
"pos ": 1 ,
"api ": [
3 ,
5
],
"wmax ": 390 ,
"hmax ": 61 ,
"wmin ": 261 ,
"hmin ": 46 ,
"format ": [
{
"w ": 390 ,
"h ": 61
},
{
"w ": 320 ,
"h ": 50
}
]
},
"displaymanager ": "GoogleMobileAds - iOS ",
"displaymanagerver ": "11.2.0 ",
"tagid ": "2022397433 ",
"bidfloor ": 0.04 ,
"bidfloorcur ": "USD ",
"secure ": 1 ,
"exp ": 3600 ,
"clickbrowser ": 1 ,
"metric ": [
{
"type ": "click_through_rate ",
"value ": 4.110196186957182 e - 06 ,
"vendor ": "EXCHANGE "
},
{
"type ": "viewability ",
"value ": 0 ,
"vendor ": "EXCHANGE "
}
],
"ext ": {
"billing_id ": [
82346236545
],
"publisher_settings_list_id ": [
5491354135157496540 ,
9146398712997475724
],
"allowed_vendor_type ": [
445 ,
776
],
"ampad ": 2 ,
"allowed_restricted_category ": [
33
],
"skadn ": {
"sourceapp ": "com . google . testapp ",
"skadnetids ": [
"5 c39728P "
],
"versions ": [
"2.0 ",
"2.1 "
],
"fidelities ": [
1 ,
0
]
},
"creative_enforcement_settings ": {
"policy_enforcement ": 2 ,
"publisher_blocks_enforcement ": 1
},
"auction_environment ": 0 ,
"ae ": 0
}
}
],
"app ": {
"name ": "Test App ",
"bundle ": "com . google . testapp ",
"publisher ": {
"id ": "pub - 1242890569860107 ",
"ext ": {
"country ": "SG "
}
},
"content ": {
"url ": "https : //www.google.com",
"livestream ": 0 ,
"language ": "en "
},
"storeurl ": "https : //www.google.com",
"ext ": {
"inventorypartnerdomain ": "OMITTED "
}
},
"device ": {
"ua ": "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 17 _4_1 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "USA ",
"region ": "MI ",
"metro ": "563 ",
"zip ": "49512 ",
"type ": 2 ,
"utcoffset ": - 240 ,
"accuracy ": 2082
},
"ipv6 ": "2601 : 404 : d980 :: ",
"make ": "Apple ",
"model ": "iPhone14 , 7 ",
"os ": "iOS ",
"osv ": "17.4.1 ",
"connectiontype ": 2 ,
"devicetype ": 4 ,
"lmt ": 1 ,
"hwv ": "iPhone14 , 7 ",
"w ": 390 ,
"h ": 844 ,
"pxratio ": 3 ,
"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 ": 2
}
},
"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 - i - v11 .2.0 ",
"schain ": {
"complete ": 1 ,
"nodes ": [
{
"asi ": "testssp . com ",
"sid ": "pub - 1111111111111111 ",
"hp ": 1
}
],
"ver ": "1.0 "
}
}
},
"ext ": {
"google_query_id ": "ANy - z62LCy - as7Eko7z4957U01DLmn1o5VEX66Mm2j8763ahN2zV77j721K17752LzuUR571 ",
"fcap_scope ": 4 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Bufor protokołu OpenRTB
Pokaż przykład
id : "38 V61KXKxB63Yk8o3G6P38 "
imp {
id : "1 "
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
format {
w : 320
h : 50
}
}
displaymanager : "GoogleMobileAds - Android "
displaymanagerver : "22.6 . 0 "
tagid : "6163632333 "
bidfloor : 0.04
bidfloorcur : "USD "
secure : true
exp : 3600
clickbrowser : true
metric {
type : "click_through_rate "
value : 0.00265840464271605
vendor : "EXCHANGE "
}
metric {
type : "viewability "
value : 0.99
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 67427969102
publisher_settings_list_id : 4626521705809021216
publisher_settings_list_id : 8961571116051095682
allowed_vendor_type : 113
allowed_vendor_type : 566
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
}
}
app {
name : "Test App "
bundle : "com . google . testapp "
publisher {
id : "pub - 2997181131115025 "
[ com . google . doubleclick . publisher ] {
country : "SG "
}
}
content {
url : "https :// www . google . com "
userrating : "4.5 "
livestream : false
language : "es "
}
storeurl : "https :// www . google . com "
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Mozilla /5.0 (Linux; Android 14; SM-G998U Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/ 537.36 ( Mobile ; afma - sdk - a - v241358038 . 241358038.0 ) "
ip : "192.168 . 1.0 "
geo {
lat : 0.0
lon : 0.0
country : "SLV "
city : "Soyapango "
type : IP
utcoffset : - 360
accuracy : 2669
}
make : "Samsung "
model : "SM - G998U "
os : "android "
osv : "14 "
connectiontype : WIFI
devicetype : HIGHEND_PHONE
lmt : false
w : 384
h : 779
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 - G998U "
source : USER_AGENT_STRING
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD "
bcat : "IAB23 - 1 "
bcat : "IAB7 - 36 "
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 - v240304999 . 234310000.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 - z128zE - MC22DP3W65flJoxSet5n2U738TRR92N5E76wd7Bh38KuU08Tyt67or0Od0b3q "
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
Reklama pełnoekranowa w aplikacji
Google
Pokaż przykład
id : "( \ 232 m \ 232 xp \ 035 \ 326 w \ 260 \ 250 \ 262 \ 205 \ r : \ 313 \ 373 : 3 \ 215 ! L \ 234 "
ip : "\ 300 \ 250 "
user_agent : "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 16 _6_1 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 "
url : "https : //www.google.com "
detected_language : "en "
adslot {
id : 1
width : 398
width : 320
height : 744
height : 480
excluded_attribute : 19
excluded_attribute : 18
allowed_vendor_type : 828
allowed_vendor_type : 4697
matching_ad_data {
billing_id : 37034094959
billing_id : 19705546350
minimum_cpm_micros : 200000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 7260775726
publisher_settings_list_id : 1906995857014069503
viewability : 91
click_through_rate : 0.021559697
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 .2.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.1087964
creative_type : HTML_SNIPPET
}
supported_auction_environment : SERVER_SIDE_AUCTION
display_manager : "GoogleMobileAds - iOS "
display_manager_version : "11.2.0 "
}
is_test : false
timezone_offset : 480
mobile {
app_id : "500811620 "
is_app : true
is_interstitial_request : true
app_name : "Test App "
skadn {
sourceapp : "500811620 "
skadnetids : "41 dEOEaD "
skadnetids : "580 dmbSX "
versions : "2.0 "
versions : "2.1 "
supported_fidelity_types : VIEW_THROUGH_ADS
supported_fidelity_types : STOREKIT_RENDERED_ADS
skoverlay : true
}
is_app_open_ad : true
}
geo_criteria_id : 20827
publisher_settings_list_id : 18428013069233776176
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 4672461785023090980
device {
device_type : HIGHEND_PHONE
platform : "iphone "
brand : "Apple "
model : "iPhone11 , 8 "
os_version {
major : 16
minor : 6
micro : 1
}
carrier_id : 0
screen_width : 414
screen_height : 896
screen_pixel_ratio_millis : 2000
screen_orientation : PORTRAIT
hardware_version : "iPhone11 , 8 "
limit_ad_tracking : true
app_tracking_authorization_status : NOT_DETERMINED
connection_type : WIFI
}
publisher_country : "SG "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 1000
google_query_id : "ANy - z06138 - 98 U8A68As2n5q57SoKI3EBuB5RV414N6krfd385z0q1c9o28Bv3176Zw2LuJe "
auction_type : FIRST_PRICE
geo {
lat : 10.24
lon : 123.79
country : "PHL "
region : "PH - CEB "
utcoffset : 480
accuracy : 39443
}
user_agent_data {
platform {
brand : "iPhone "
version : "16 "
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
}
version : "1.0 "
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_APP
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED "
Plik JSON OpenRTB
Pokaż przykład
{
"id ": "8460 Dv0171574mt7n9tOQ9 ",
"imp ": [
{
"id ": "1 ",
"banner ": {
"w ": 428 ,
"h ": 846 ,
"pos ": 7 ,
"api ": [
3 ,
5
],
"format ": [
{
"w ": 428 ,
"h ": 846
},
{
"w ": 414 ,
"h ": 736
}
]
},
"displaymanager ": "GoogleMobileAds - iOS ",
"displaymanagerver ": "10.10.0 ",
"instl ": 1 ,
"tagid ": "4914454382 ",
"bidfloor ": 0.01 ,
"bidfloorcur ": "USD ",
"secure ": 1 ,
"exp ": 3600 ,
"clickbrowser ": 1 ,
"metric ": [
{
"type ": "click_through_rate ",
"value ": 0.560609757900238 ,
"vendor ": "EXCHANGE "
},
{
"type ": "viewability ",
"value ": 0.97 ,
"vendor ": "EXCHANGE "
}
],
"ext ": {
"billing_id ": [
73848702501
],
"publisher_settings_list_id ": [
9781603598081027997 ,
9488077458915289715
],
"allowed_vendor_type ": [
698 ,
414
],
"ampad ": 2 ,
"excluded_creatives ": [
{
"buyer_creative_id ": "EXCLUDED_BUYER_CREATIVE_ID "
},
{
"buyer_creative_id ": "EXCLUDED_BUYER_CREATIVE_ID "
}
],
"skadn ": {
"sourceapp ": "com . google . testapp ",
"skadnetids ": [
"43 D4r5x9 "
],
"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 ",
"bundle ": "com . google . testapp ",
"publisher ": {
"id ": "pub - 5842596021161378 ",
"ext ": {
"country ": "IN "
}
},
"content ": {
"url ": "https : //www.google.com",
"livestream ": 0 ,
"language ": "en "
},
"storeurl ": "https : //www.google.com",
"ext ": {
"inventorypartnerdomain ": "OMITTED "
}
},
"device ": {
"ua ": "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 17 _4_1 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "SAU ",
"region ": "SA - 02 ",
"city ": "Jiddah ",
"zip ": "23462 ",
"type ": 2 ,
"utcoffset ": 180 ,
"accuracy ": 1291
},
"ipv6 ": "2 a02 : 9 b0 : 4047 :: ",
"carrier ": "71681 ",
"make ": "Apple ",
"model ": "iPhone14 , 8 ",
"os ": "iOS ",
"osv ": "17.4.1 ",
"connectiontype ": 6 ,
"devicetype ": 4 ,
"lmt ": 1 ,
"hwv ": "iPhone14 , 8 ",
"w ": 428 ,
"h ": 926 ,
"pxratio ": 3 ,
"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 ": 2
}
},
"at ": 1 ,
"tmax ": 1000 ,
"cur ": [
"USD "
],
"bcat ": [
"IAB23 - 4 ",
"IAB18 - 5 "
],
"source ": {
"schain ": {
"complete ": 1 ,
"nodes ": [
{
"asi ": "testssp . com ",
"sid ": "pub - 1111111111111111 ",
"hp ": 1
}
],
"ver ": "1.0 "
},
"ext ": {
"omidpn ": "Google ",
"omidpv ": "afma - sdk - i - v10 .10.0 ",
"schain ": {
"complete ": 1 ,
"nodes ": [
{
"asi ": "testssp . com ",
"sid ": "pub - 1111111111111111 ",
"hp ": 1
}
],
"ver ": "1.0 "
}
}
},
"ext ": {
"google_query_id ": "ANy - z562Q0 - p46Tz77U15Ie9774Mnu3QIa45V73X99r9NR1694g5301D186q8ZFJ57Ja8L78 ",
"fcap_scope ": 4 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Bufor protokołu OpenRTB
Pokaż przykład
id : "3 Sh9IsB712x9QzGDA1k93z "
imp {
id : "1 "
banner {
w : 360
h : 711
pos : AD_POSITION_FULLSCREEN
battr : VIDEO_IN_BANNER_AUTO_PLAY
battr : VIDEO_IN_BANNER_USER_INITIATED
api : MRAID_1
api : MRAID_2
format {
w : 360
h : 711
}
format {
w : 360
h : 640
}
}
displaymanager : "GoogleMobileAds - Android "
displaymanagerver : "21.3 . 0 "
instl : true
tagid : "8679500107 "
bidfloor : 0.02
bidfloorcur : "USD "
secure : true
exp : 14400
clickbrowser : true
metric {
type : "viewability "
value : 0.9
vendor : "EXCHANGE "
}
metric {
type : "session_depth "
value : 99.0
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 42834631855
ampad : AMP_AD_NOT_ALLOWED
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
}
}
app {
name : "Test App "
bundle : "com . google . testapp "
publisher {
id : "pub - 8815040790812473 "
[ com . google . doubleclick . publisher ] {
country : "SG "
}
}
content {
url : "https :// www . google . com "
userrating : "4.6 "
livestream : false
language : "id "
}
storeurl : "https :// www . google . com "
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Dalvik /2.1.0 (Linux; U; Android 11; in-; RMX1971 Build/ RKQ1 . 201217.002 ) "
ip : "192.168 . 1.0 "
geo {
lat : 0.0
lon : 0.0
country : "IDN "
region : "ID - SS "
city : "Palembang "
type : IP
utcoffset : 420
accuracy : 7498
}
make : "Realme "
model : "RMX1971 "
os : "android "
osv : "11 "
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "b \'\\ xa9>3 \\ xa2 \\ xbb \\ x95 \\ x8dIQq \\ xd0 \\ x8f \\ xee \\ xc1k }\ '"
lmt : false
w : 360
h : 711
pxratio : 3.0
sua {
browsers {
brand : "Dalvik "
version : "2 "
version : "1 "
}
platform {
brand : "Android "
version : "11 "
}
mobile : true
model : "RMX1971 "
source : USER_AGENT_STRING
}
}
user {
id : "21 QP3H9IaS263665PMP52FIes26 "
}
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 - v240304999 . 223104000.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 - z52N8Y - VzuCT3Q7jr9Ixx3iR4pM1bm1q84NyH1tMMtV9SSO7y83u6Ec3xlaf1563Tt5k "
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : true
}
}
Pełnoekranowa reklama wideo w aplikacji
Google
Pokaż przykład
id : "% w \ 237 \ 340 \ 331 q \ 305 e \ 350 \ 324 \ 017 Ho \ 274 f \ 177 #\ 316 \ 231 \ 004 \ 024 y "
ip : "\ 300 \ 250 "
user_agent : "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 16 _5 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 "
url : "https : //www.google.com "
detected_language : "te "
adslot {
id : 1
width : 1170
width : 768
height : 2532
height : 1024
excluded_attribute : 17
excluded_attribute : 26
allowed_vendor_type : 797
allowed_vendor_type : 38523
matching_ad_data {
billing_id : 82632801525
billing_id : 33577396948
minimum_cpm_micros : 200000
}
slot_visibility : ABOVE_THE_FOLD
ad_block_key : 8662832267
publisher_settings_list_id : 1529810617400603626
viewability : 99
click_through_rate : 0.75363326
video_completion_rate : 0.07627885
is_rewarded : true
allowed_ad_types : ALLOWED_AD_TYPE_VIDEO
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
api : MRAID_1
api : MRAID_2
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 : "7.55.0 "
}
is_test : false
timezone_offset : 300
mobile {
app_id : "734009722 "
is_app : true
is_interstitial_request : true
app_name : "Test App "
}
video {
videoad_start_delay : 0
max_ad_duration : 30000
video_ad_skippable : BLOCK_SKIPPABLE
allowed_video_formats : VIDEO_MP4
max_ads_in_pod : 2
end_cap_support : END_CAP_OPTIONAL
playback_method : CLICK_TO_PLAY
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
}
geo_criteria_id : 2392
publisher_settings_list_id : 7852789180056851229
publisher_type : PUBLISHER_OWNED_AND_OPERATED
partner_id : 7934642581646184119
device {
device_type : HIGHEND_PHONE
platform : "iphone "
brand : "Apple "
model : "iPhone13 , 2 "
os_version {
major : 16
minor : 5
}
carrier_id : 0
screen_width : 1170
screen_height : 2532
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
hardware_version : "iPhone13 , 2 "
limit_ad_tracking : false
connection_type : WIFI
}
publisher_country : "US "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 1000
google_query_id : "ANy - zz7hC6 - w4hX445M724Cr7459S5M13Rw47SH672s9ygi8d8H1LN21ky6939KaU50lQsJR "
auction_type : FIRST_PRICE
geo {
lat : 36.2
lon : 138.25
country : "JPN "
utcoffset : 300
accuracy : 463340
}
user_agent_data {
platform {
brand : "iPhone "
version : "16 "
version : "5 "
}
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 "
Bufor protokołu OpenRTB
Pokaż przykład
id : "378836 oi92t144hpA8Nv3X "
imp {
id : "1 "
video {
mimes : "video / mp4 "
maxduration : 60
w : 375
h : 667
startdelay : 0
playbackmethod : AUTO_PLAY_SOUND_ON
pos : ABOVE_THE_FOLD
api : MRAID_1
api : MRAID_2
protocols : VAST_2_0
protocols : VAST_3_0
skip : false
placement : UNDEFINED_VIDEO_PLACEMENT
playbackend : COMPLETION_OR_USER
}
displaymanager : "GOOGLE "
instl : true
tagid : "4107980261 "
bidfloor : 0.01
bidfloorcur : "USD "
secure : true
metric {
type : "click_through_rate "
value : 0.0364835150539875
vendor : "EXCHANGE "
}
metric {
type : "video_completion_rate "
value : 0.02888789027929306
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 80831705186
publisher_settings_list_id : 2080323352414623499
publisher_settings_list_id : 2258624117197706769
allowed_vendor_type : 342
allowed_vendor_type : 698
is_rewarded_inventory : true
ampad : AMP_AD_NOT_ALLOWED
skadn {
version : "2.2 "
sourceapp : "532115234 "
skadnetids : "E499wc36 "
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
is_default : true
}
auction_environment : SERVER_SIDE_AUCTION
}
}
app {
name : "Test App "
bundle : "532115234 "
publisher {
id : "pub - 8927593002710190 "
[ com . google . doubleclick . publisher ] {
country : "CN "
}
}
content {
url : "https :// www . google . com "
livestream : false
language : "zh "
}
storeurl : "https :// www . google . com "
[ com . google . doubleclick . app ] {
}
}
device {
ua : "Mozilla /5.0 (iPhone; CPU iPhone OS 15_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/ 15 E148 "
ip : "192.168 . 1.0 "
geo {
lat : 0.0
lon : 0.0
country : "CHN "
region : "CN - 33 "
city : "Hangzhou "
type : IP
accuracy : 44240
}
carrier : "70120 "
make : "apple "
model : "iphone "
os : "iOS "
osv : "15.4 . 4 "
devicetype : HIGHEND_PHONE
lmt : true
hwv : "8 "
w : 375
h : 667
pxratio : 2.0
[ com . google . doubleclick . device ] {
user_agent_data {
platform {
brand : "iPhone "
version : "15 "
version : "4 "
}
mobile : true
model : "iPhone "
}
atts : 2
}
}
user {
[ com . google . doubleclick . user ] {
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD "
source {
[ com . google . doubleclick . source ] {
omidpn : "Google "
omidpv : "afma - sdk - i - v8 . 12.0 "
schain {
complete : 1
nodes {
asi : "google . com "
sid : "pub - 4000453616931440 "
hp : 1
}
ver : "1.0 "
}
}
}
[ com . google . doubleclick . bid_request ] {
google_query_id : "ANy - zp09u8 - d20rQ521040dqz39K771Lr9102b031Z15C45Q9q7AB414SnDWG5Rj96Z77W66 "
}
Reklama natywna w aplikacji
Google
Pokaż przykład
id : "\ 304 a \ 2145 \ 337 \ 260 \ 351 \ 265 \ 0170 E \ 035 s \ 260 \ 203 \ 240 \ 3645 M \ 213 d \ 231 ) "
ip : "\ 300 \ 250 "
user_agent : "Mozilla / 5.0 ( Linux ; Android 14 ; SM - F711B Build / UP1A .231005.007 ; wv ) AppleWebKit / 537.36 ( KHTML , like Gecko ) Version / 4.0 Chrome / 123.0.6312.118 Mobile Safari / 537.36 ( Mobile ; afma - sdk - a - v241517039 .241517039.0 ) "
url : "https : //www.google.com "
detected_language : "nl "
adslot {
id : 1
excluded_attribute : 25
excluded_attribute : 114
allowed_vendor_type : 42
allowed_vendor_type : 79
excluded_sensitive_category : 36
excluded_sensitive_category : 27
matching_ad_data {
billing_id : 32132054378
billing_id : 19164334712
minimum_cpm_micros : 1450000
}
matching_ad_data {
billing_id : 13390832794
billing_id : 80810593642
minimum_cpm_micros : 78120000
}
slot_visibility : ABOVE_THE_FOLD
excluded_product_category : 10137
excluded_product_category : 10231
ad_block_key : 5513314873
publisher_settings_list_id : 3686438009801411181
publisher_settings_list_id : 2386502705811569074
allowed_restricted_category : 33
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
excluded_creatives {
buyer_creative_id : "EXCLUDED_BUYER_CREATIVE_ID "
}
viewability : 81
allowed_restricted_category_for_deals : 33
click_through_rate : 0.026668096
allowed_languages : "en "
allowed_languages : "nl "
allowed_ad_types : ALLOWED_AD_TYPE_NATIVE
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_NOT_ALLOWED
session_depth : 166
consented_providers_settings {
tcf_consent_string : "OMITTED "
additional_consent_string : "OMITTED "
}
regs_gdpr : true
api : MRAID_1
api : MRAID_2
native_ad_template {
required_fields : 27
recommended_fields : 36
headline_max_safe_length : 25
body_max_safe_length : 90
call_to_action_max_safe_length : 15
advertiser_max_safe_length : 25
image_width : 800
image_height : 800
logo_width : 200
logo_height : 200
}
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 - a - v240304999 .234310000.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 : "22.6.0 "
}
is_test : false
cookie_version : 1
google_user_id : "7 L986AX24bG4ANQ91i8sd54fB22 "
timezone_offset : 120
mobile {
app_id : "com . google . testapp "
is_app : true
encrypted_advertising_id : "\ 341 \ 220 \ 325 \ 205 % \ 025 \ 246 _ / \ 307 \ 374 fy \ 2062 \ 270 \ 270 \ 204 X \ 230 \ 210 @ h \ 272 \ 344 \ 177 \ 370 \ 253 e \ 367 \ 262 i = U \ 030 $ "
app_name : "Test App "
app_rating : 4.0450907
advertising_id : "\ 315 \ 361 Ro $ | \ 362 I \ 355 \ 261 : \ 265 Z \ 300 @\ 242 "
}
cookie_age_seconds : 2592000
postal_code : "10011 "
geo_criteria_id : 1001092
encrypted_hyperlocal_set : "\ 275 \ 237 \ 311 : \ 263 \ 326 \ 270 h \ 337 ^ \ 013 ` / m \ 316 \ 330 \ 036 \ 007 \ 313 \ 265 \ 346 \ 351 \ 275 \ 346 <U \ 344 # a \ 376 \ 301 \ 342 \ 270 \ 303 \ 2767 \ 310 j % \ 327 \ 351 aA \ 312 \ 200 \ 247 ] IQ \ 241 \ 341 L \ 2431 \ 215 <\ 377 \ 033 V \ 310 \ 230 \ 305 \ 371 \ 025 \ 032 K \ 365 \ 372 \ 3365 p | \ 353 \ 216 \ 251 JSf \ 364 \ 367 \ 220 H \ 232 \ 342 Cq \ 256 \ 206 <\ 236 \ 311 "
bid_response_feedback {
request_id : "\ 253 \ 245 \ 326 \ 202 \ 206 \ 303 q \ 202 \ 307 \ 016 \ 257 \ 236 \ 317 \ rL \ 250 "
creative_status_code : 80
event_notification_token : "token "
buyer_creative_id : "test_creative_id_658408 "
minimum_bid_to_win : 120000
feedback_type : BID_FEEDBACK
}
publisher_type : PUBLISHER_OWNED_AND_OPERATED
hyperlocal_set {
hyperlocal {
corners {
latitude : 0.0
longitude : 0.0
}
corners {
latitude : 0.0
longitude : 0.0
}
corners {
latitude : 0.0
longitude : 0.0
}
corners {
latitude : 0.0
longitude : 0.0
}
}
center_point {
latitude : 0.0
longitude : 0.0
}
}
device {
device_type : HIGHEND_PHONE
platform : "android "
brand : "Samsung "
model : "SM - F711B "
os_version {
major : 14
}
carrier_id : 0
screen_width : 360
screen_height : 801
screen_pixel_ratio_millis : 3000
screen_orientation : PORTRAIT
limit_ad_tracking : false
connection_type : WIFI
}
publisher_country : "BE "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 300
google_query_id : "ANy - z01131 - SRYIYklKNjC6Iw9Z99Jt2713Cf3WC111fe9wZa3e2wB0yC6A51Bt0R4x25142 "
auction_type : FIRST_PRICE
geo {
lat : 50.89
lon : 4.28
country : "BEL "
region : "BE - VBR "
city : "Asse "
zip : "1731 "
utcoffset : 120
accuracy : 2191
}
user_agent_data {
platform {
brand : "Android "
version : "14 "
}
mobile : true
model : "SM - F711B "
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
}
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 : false
}
inventory_partner_domain : "OMITTED "
Plik JSON OpenRTB
Pokaż przykład
{
"id ": "IDnDvM76w32NI830aSeOLg ",
"imp ": [
{
"id ": "1 ",
"displaymanager ": "GoogleMobileAds - iOS ",
"displaymanagerver ": "10.14.0 ",
"tagid ": "8614649788 ",
"bidfloor ": 1.63 ,
"bidfloorcur ": "USD ",
"secure ": 1 ,
"native ": {
"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 ]}]}",
"ver ": "1.2 ",
"api ": [
3 ,
5
],
"battr ": [
6 ,
7
]
},
"exp ": 14400 ,
"clickbrowser ": 1 ,
"metric ": [
{
"type ": "viewability ",
"value ": 0.66 ,
"vendor ": "EXCHANGE "
},
{
"type ": "session_depth ",
"value ": 1 ,
"vendor ": "EXCHANGE "
}
],
"ext ": {
"billing_id ": [
30567639040
],
"publisher_settings_list_id ": [
9263869437120754969 ,
6380991891694941170
],
"allowed_vendor_type ": [
42 ,
144
],
"ampad ": 2 ,
"excluded_creatives ": [
{
"buyer_creative_id ": "EXCLUDED_BUYER_CREATIVE_ID "
},
{
"buyer_creative_id ": "EXCLUDED_BUYER_CREATIVE_ID "
}
],
"skadn ": {
"sourceapp ": "com . google . testapp ",
"skadnetids ": [
"345 vh5bv "
],
"versions ": [
"2.0 ",
"2.1 "
],
"fidelities ": [
1 ,
0
]
},
"creative_enforcement_settings ": {
"policy_enforcement ": 2 ,
"publisher_blocks_enforcement ": 1
},
"auction_environment ": 0 ,
"ae ": 0
}
}
],
"app ": {
"name ": "Test App ",
"bundle ": "com . google . testapp ",
"publisher ": {
"id ": "pub - 5146744635924393 ",
"ext ": {
"country ": "US "
}
},
"content ": {
"url ": "https : //www.google.com",
"livestream ": 0 ,
"language ": "en "
},
"storeurl ": "https : //www.google.com",
"ext ": {
"inventorypartnerdomain ": "OMITTED "
}
},
"device ": {
"ua ": "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 17 _4_1 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Mobile / 15 E148 PrebidMobile / 2.0.4 ",
"ip ": "192.168.1.0 ",
"geo ": {
"lat ": 0.0 ,
"lon ": 0.0 ,
"country ": "USA ",
"region ": "WA ",
"metro ": "881 ",
"city ": "Quincy ",
"zip ": "98848 ",
"type ": 2 ,
"utcoffset ": - 420 ,
"accuracy ": 19022
},
"make ": "Apple ",
"model ": "iPhone15 , 3 ",
"os ": "iOS ",
"osv ": "17.4.1 ",
"connectiontype ": 2 ,
"devicetype ": 4 ,
"ifa ": "76 RVV351f5D7z7905j9Dhy5kawZNAvn548d3 ",
"lmt ": 0 ,
"hwv ": "iPhone15 , 3 ",
"w ": 430 ,
"h ": 932 ,
"pxratio ": 3 ,
"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 ": "V3G2P745W97j342y3bgMZzO8B19 ",
"ext ": {
"session ": {
"duration ": 14
}
}
},
"at ": 1 ,
"tmax ": 300 ,
"cur ": [
"USD "
],
"bcat ": [
"IAB23 - 1 ",
"IAB9 "
],
"bapp ": [
"1427744264 "
],
"source ": {
"schain ": {
"complete ": 1 ,
"nodes ": [
{
"asi ": "testssp . com ",
"sid ": "pub - 1111111111111111 ",
"hp ": 1
}
],
"ver ": "1.0 "
},
"ext ": {
"omidpn ": "Google ",
"omidpv ": "afma - sdk - i - v10 .14.0 ",
"schain ": {
"complete ": 1 ,
"nodes ": [
{
"asi ": "testssp . com ",
"sid ": "pub - 1111111111111111 ",
"hp ": 1
}
],
"ver ": "1.0 "
}
}
},
"ext ": {
"google_query_id ": "ANy - z70v0W - 6 x9m76YuuU237u44yc6fL3Ouo00tZhzmz1rL58xQr1V6tg59Qu5j2f4LEMbPZ ",
"fcap_scope ": 3 ,
"privacy_treatments ": {
"allow_user_data_collection ": 1
}
}
}
Bufor protokołu OpenRTB
Pokaż przykład
id : "5 P52J8388TSRzc920ct7p5 "
imp {
id : "1 "
displaymanager : "GoogleMobileAds - iOS "
displaymanagerver : "10.14 . 0 "
tagid : "6553352351 "
bidfloor : 0.03
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
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
}
}
}
exp : 3600
clickbrowser : true
metric {
type : "viewability "
value : 0.39
vendor : "EXCHANGE "
}
metric {
type : "session_depth "
value : 1.0
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 52078759229
billing_id : 88594274551
publisher_settings_list_id : 5866545268236998203
publisher_settings_list_id : 3494845642358232123
allowed_vendor_type : 42
allowed_vendor_type : 79
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 : "200 O3kQr "
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
}
}
app {
name : "Test App "
bundle : "com . google . testapp "
publisher {
id : "pub - 9816179305584184 "
[ com . google . doubleclick . publisher ] {
country : "LU "
}
}
content {
url : "https :// www . google . com "
livestream : false
language : "uk "
}
storeurl : "https :// www . google . com "
[ com . google . doubleclick . app ] {
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Mozilla /5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/ 15 E148 "
geo {
lat : 0.0
lon : 0.0
country : "UKR "
region : "UA - 46 "
city : "L \ 'viv "
zip : "79000 "
type : IP
utcoffset : 180
accuracy : 6246
[ com . google . doubleclick . geo ] {
geo_criteria_id : 1012859
}
}
ipv6 : "2 a02 : 2378 : 106 a :: "
carrier : "71710 "
make : "Apple "
model : "iPhone12 , 1 "
os : "iOS "
osv : "17.4 . 1 "
connectiontype : CELL_4G
devicetype : HIGHEND_PHONE
ifa : "b \'\\ t : >vF \\ xb9 \\ x9e4 \\ x86k \\ xde \\ x99 \\ xbe \\ xb6 \\ x88 \\ x83 \ '"
lmt : false
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 : "17 "
version : "4 "
}
mobile : true
bitness : "64 "
model : "iPhone "
source : USER_AGENT_STRING
}
[ com . google . doubleclick . device ] {
atts : 3
}
}
user {
id : "8 Er98D3U5PK59538kL30LhIZkab "
}
at : FIRST_PRICE
tmax : 300
cur : "USD "
bcat : "IAB7 - 39 "
bcat : "IAB9 "
bapp : "1038653883 "
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 - v10 . 14.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 - z0n8D1 - K6FKO2zNI26Z4yp738UAjYOUTxw2V054413Lpv107q2A97RS96j68N9J53N9K "
fcap_scope : FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
allow_user_data_collection : false
}
}
Film internetowy
Google
Pokaż przykład
id : "\ 350 \ 243 \ 202 \ 2349 \ 243 \ 014 \ 244 \ 372 \ 020 Y ; \ r \ 007 \ 031 \ 214 { \ 232 \ 261 \ 3752 % \ 035 "
ip : "\ 300 \ 250 "
user_agent : "Mozilla / 5.0 ( iPhone ; CPU iPhone OS 14 _8_1 like Mac OS X ) AppleWebKit / 605.1.15 ( KHTML , like Gecko ) Version / 14.1.2 Mobile / 15 E148 Safari / 604.1 "
url : "https : //www.google.com "
detected_language : "ja "
adslot {
id : 1
width : 320
width : 360
height : 570
height : 592
excluded_attribute : 19
excluded_attribute : 13
allowed_vendor_type : 3
allowed_vendor_type : 42
excluded_sensitive_category : 36
excluded_sensitive_category : 4
matching_ad_data {
billing_id : 34223090460
minimum_cpm_micros : 16000000
direct_deal {
direct_deal_id : 17775265
fixed_cpm_micros : 16000000
deal_type : AUCTION_PACKAGE
}
}
matching_ad_data {
billing_id : 86280326995
billing_id : 71601885715
minimum_cpm_micros : 120000
}
slot_visibility : NO_DETECTION
excluded_product_category : 10137
excluded_product_category : 10609
ad_block_key : 5853321589
publisher_settings_list_id : 2539996898654608860
publisher_settings_list_id : 7335705698915428874
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 : 100
allowed_restricted_category_for_deals : 33
click_through_rate : 0.5914875
renderer : GOOGLE
is_rewarded : true
allowed_ad_types : ALLOWED_AD_TYPE_VIDEO
is_amp_page : DIALECT_HTML
amp_ad_requirement_type : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
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
}
is_test : false
mobile {
is_app : false
is_mobile_web_optimized : true
}
video {
video_ad_skippable : ALLOW_SKIPPABLE
allowed_video_formats : VIDEO_MP4
playback_method : CLICK_TO_PLAY
is_clickable : true
placement : INTERSTITIAL
protocols : VAST_2_0
protocols : VAST_3_0
playback_cessation_mode : COMPLETION_OR_USER
}
geo_criteria_id : 1009310
seller_network_id : 4766
bid_response_feedback {
request_id : "\ 327 ( \ 005 >\ 257 u \ 241 U ~ \ 350 s \ 211 \ 010 \ 3615 \ 334 "
creative_status_code : 80
event_notification_token : "token "
buyer_creative_id : "test_creative_id_702979 "
minimum_bid_to_win : 328000000
}
publisher_type : PUBLISHER_OWNED_AND_OPERATED
device {
device_type : HIGHEND_PHONE
platform : "iphone "
brand : "apple "
model : "iphone "
os_version {
major : 14
minor : 8
micro : 1
}
carrier_id : 0
screen_width : 375
screen_height : 667
screen_pixel_ratio_millis : 2000
limit_ad_tracking : false
}
publisher_country : "JP "
publisher_id : "pub - 1111111111111111 "
response_deadline_ms : 300
google_query_id : "ANy - zd34Gv - NJ6B8Zsd8j4NV0r6F8P69920cL9Q88372fjS7EO9DQZ9Y69qUQ2l6L8R2M903 "
auction_type : FIRST_PRICE
geo {
lat : 35.69
lon : 139.7
country : "JPN "
region : "JP - 13 "
city : "Shinjuku "
accuracy : 2852
}
user_agent_data {
platform {
brand : "iPhone "
version : "14 "
version : "8 "
}
mobile : true
model : "iPhone "
browsers {
brand : "Mozilla "
version : "5 "
version : "0 "
}
browsers {
brand : "AppleWebKit "
version : "605 "
version : "1 "
}
bitness : "64 "
}
page_visibility : VISIBILITY_STATE_VISIBLE
supply_chain {
complete : true
nodes {
advertising_system_identifier : "google . com "
seller_identifier : "pub - 1111111111111111 "
handles_payment : true
}
version : "1.0 "
}
frequency_capping_scope : FREQUENCY_CAPPING_SCOPE_SITE
privacy_treatments {
allow_user_data_collection : true
}
inventory_partner_domain : "OMITTED "
Baner w internecie mobilnym dotyczący licytującego na giełdzie
Bufor protokołu OpenRTB
Pokaż przykład
id : "6 gXB0gc0938Ow444j0j623 "
imp {
id : "1 "
banner {
w : 320
h : 50
pos : ABOVE_THE_FOLD
expdir : LEFT
expdir : RIGHT
expdir : UP
expdir : DOWN
format {
w : 320
h : 50
}
format {
w : 300
h : 50
}
}
tagid : "7128811473 "
bidfloor : 0.01
bidfloorcur : "USD "
secure : true
exp : 3600
metric {
type : "click_through_rate "
value : 0.00012312238686718047
vendor : "EXCHANGE "
}
metric {
type : "viewability "
value : 0.98
vendor : "EXCHANGE "
}
[ com . google . doubleclick . imp ] {
billing_id : 46483683815
dfp_ad_unit_code : "/3253397/google/ test "
ampad : AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
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 : "en "
}
mobile : true
[ com . google . doubleclick . site ] {
amp : DIALECT_HTML
page_visibility : VISIBILITY_STATE_VISIBLE
inventorypartnerdomain : "OMITTED "
}
}
device {
ua : "Mozilla /5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/ 537.36 "
ip : "192.168 . 1.0 "
geo {
lat : 0.0
lon : 0.0
country : "IND "
region : "IN - MH "
city : "Mumbai "
zip : "400066 "
type : IP
utcoffset : 330
accuracy : 1439
}
make : "Xiaomi "
model : "22120 rn86i "
os : "android "
osv : "14 "
devicetype : HIGHEND_PHONE
lmt : false
w : 360
h : 825
pxratio : 2.0
sua {
browsers {
brand : "Chromium "
version : "124 "
version : "0 "
}
browsers {
brand : "Google Chrome "
version : "124 "
version : "0 "
}
platform {
brand : "Android "
version : "14 "
version : "0 "
}
mobile : true
model : "22120 RN86I "
source : CLIENT_HINTS_HIGH_ENTROPY
}
}
at : FIRST_PRICE
tmax : 300
cur : "USD "
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 . bid_request ] {
google_query_id : "ANy - z0k831 - U6Nsse2Zs380x9jWlM98I735gC6c3602K1swV8ex1390yK9kO53353X64953A "
fcap_scope : FREQUENCY_CAPPING_SCOPE_BROWSER
}