Interaksi bidding real-time dimulai saat Google mengirimkan permintaan bid ke aplikasi Anda. Panduan ini menjelaskan cara membuat kode aplikasi Anda untuk
memproses permintaan bid.
Permintaan penguraian
Google mengirimkan permintaan bid yang diserialisasi dalam format JSON OpenRTB atau Protobuf, yang dilampirkan sebagai payload permintaan HTTP POST. Format yang diterima bergantung pada konfigurasi endpoint Anda. Lihat
Contoh permintaan bid untuk melihat contohnya.
Anda harus mengurai permintaan ini untuk menerima
BidRequest yang diserialisasi. Jika menggunakan format Protobuf, Anda harus
mendownload openrtb.proto dan openrtb-adx.proto dari halaman
data referensi , dan menggunakannya untuk
membuat library yang dapat digunakan untuk mengurai pesan BidRequest. Misalnya, kode C++ berikut mengurai permintaan yang diberikan payload POST dalam string:
string post_payload = /* the payload from the POST request */ ;
BidRequest bid_request ;
if ( bid_request . ParseFromString ( post_payload )) {
// Process the request .
}
Setelah memiliki BidRequest, Anda dapat menggunakannya sebagai objek, mengekstrak dan menafsirkan kolom yang Anda butuhkan. Misalnya, di
C++, iterasi penawaran dalam `BidRequest` OpenRTB dapat terlihat seperti
berikut:
for ( const BidRequest :: Imp :: Pmp :: Deal & deal : pmp . deals ()) {
DoSomething ( deal . id (), deal . wseat ());
}
ID Penagihan
Anda menerima permintaan bid saat inventaris iklan penayang ditargetkan oleh
satu atau beberapa
konfigurasi pra-penargetan Anda. BidRequest.imp.ext.billing_id
akan diisi dengan ID penagihan pembeli yang memenuhi syarat, dan konfigurasi
penargetan awal yang relevan. Selain itu, untuk
inventaris
kesepakatan , Anda dapat menemukan ID penagihan yang terkait dengan pembeli yang relevan
menggunakan BidRequest.imp.pmp.deal.ext.billing_id. Hanya ID penagihan
pembeli yang disertakan dalam permintaan bid yang dapat ditentukan saat mengajukan bid.
Jika beberapa ID penagihan disertakan dalam permintaan bid, Anda harus menentukan
ID penagihan pembeli yang ingin Anda atribusikan bidnya dengan kolom
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
}
...
}
}
...
}
...
Menentukan kategori yang diblokir
Saat Anda mengajukan bid, materi iklan yang disertakan tidak boleh memiliki kategori yang terdeteksi dan diblokir oleh penayang. Jika tidak, bid akan difilter dari lelang.
Anda dapat menemukan kategori yang diblokir untuk tayangan iklan dengan meninjau kolom BidRequest.bcat, yang diisi dengan kategori dalam taksonomi yang dikonfigurasi untuk akun Anda.
Contoh berikut menunjukkan kategori yang diblokir berdasarkan taksonomi kategori iklan yang dikonfigurasi:
Taksonomi Konten IAB 1.0
// Bid request
{
// Indicates the blocked categories using IAB Content 1.0 Taxonomy.
"bcat" : [
"IAB9-9" , // Cigars
"IAB8-18" // Wine
]
"imp" : {
...
}
}
Taksonomi Kategori Iklan 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" : {
...
}
}
Penting: Untuk menentukan kategori yang terdeteksi untuk materi iklan Anda, gunakan resource creatives di Real-time Bidding API. Untuk mengetahui detail tentang
kategori yang terdeteksi, lihat
REST Resource: bidders.creatives .
File kamus
Permintaan bid menggunakan ID yang ditentukan dalam file kamus, yang tersedia di halaman data referensi .
Makro URL bidder
Secara opsional, beberapa informasi dari BidRequest dapat
disisipkan ke dalam URL endpoint bidding menggunakan makro. Jika Anda mengonfigurasi URL endpoint dengan satu atau beberapa makro, makro tersebut akan diperluas jika informasi tersebut ada dalam permintaan bid. Hal ini dapat berguna, misalnya, jika Anda ingin melakukan load balancing berdasarkan informasi di BidRequest.
Hubungi Account Manager Anda untuk meminta dukungan terkait makro baru.
Makro Deskripsi
%%GOOGLE_USER_ID%%
Diganti dengan ID Pengguna Google yang ada di
BidRequest.user.id. Misalnya, URL bidder
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%% akan diganti
dengan sesuatu seperti
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl pada waktu
permintaan.
Jika ID Pengguna Google tidak diketahui, string kosong akan diganti, dengan
hasil yang mirip dengan
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid berasal dari perangkat seluler, atau 0 jika tidak. Hal ini didasarkan pada nilai
BidRequest.device.devicetype, dengan perangkat seluler ditunjukkan
oleh HIGHEND_PHONE (4) atau Tablet
(5).
%%HAS_VIDEO%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid berisi
inventaris video, atau 0 jika tidak. Hal ini didasarkan pada apakah
BidRequest.imp.video diisi dalam permintaan bid.
%%HOSTED_MATCH_DATA%%
Diganti dengan nilai berdasarkan BidRequest.user.buyeruid.
%%MOBILE_IS_APP%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid adalah untuk
inventaris aplikasi seluler, atau 0 jika tidak. Hal ini didasarkan pada apakah
BidRequest.app diisi atau tidak.
Menemukan ID aplikasi seluler dari URL transaksi
Transaksi aplikasi seluler akan melaporkan URL yang terlihat seperti ini:
mbappgewtimrzgyytanjyg4888888 .com
Gunakan dekoder base-32 untuk mendekode bagian string yang dicetak tebal
(gewtimrzgyytanjyg4888888 ).
Anda dapat menggunakan dekoder
online , tetapi Anda harus menggunakan huruf kapital dan mengganti 8 di akhir dengan nilai =.
Jadi, mendekode nilai ini:
GEWTIMRZGYYTANJYG4======
menghasilkan:
1 - 429610587
String
429610587 adalah ID aplikasi untuk aplikasi iOS
iFunny .
Berikut contoh lainnya. URL yang dilaporkan adalah:
mbappgewtgmjug4ytmmrtgm888888 .com
Mendekode nilai ini:
GEWTGMJUG4YTMMRTGM======
menghasilkan:
1 - 314716233
Hasil
314716233 adalah ID aplikasi untuk aplikasi iOS
TextNow .
Menemukan nama aplikasi seluler dari URL transaksi
Berikut contoh cara mendapatkan nama aplikasi. URL yang dilaporkan adalah sebagai berikut:
mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888 .com
Mendekode nilai ini:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
menghasilkan:
air.com.hypah.io.slither
Hasilnya sama dengan aplikasi Android
slither.io .
Kolom Bidding Terbuka
Permintaan bid yang dikirim ke bidder bursa dan jaringan yang berpartisipasi dalam Bidding Terbuka mirip dengan permintaan bid Authorized Buyers yang berpartisipasi dalam bidding real-time standar. Pelanggan Bidding Terbuka akan menerima sejumlah kecil kolom tambahan, dan beberapa kolom yang ada mungkin memiliki penggunaan alternatif. Hal ini
mencakup:
OpenRTB
Detail
BidRequest.imp.ext.dfp_ad_unit_code
Berisi kode jaringan Ad Manager penayang yang diikuti dengan hierarki unit iklan, yang dipisahkan dengan garis miring ke depan.
Sebagai contoh, ini akan muncul dengan format yang serupa dengan:
/1234/cruises/mars.
BidRequest.user.data.segment
Pasangan nilai kunci berulang yang dikirim dari penayang ke bidder bursa.
Anda dapat menentukan bahwa nilai adalah pasangan nilai kunci yang dikirim oleh
penayang saat BidRequest.user.data.name disetel ke
“Publisher Passed”.
Catatan: Kolom ini saat ini hanya dikirim ke peserta beta tertutup.
Mendeklarasikan vendor yang diizinkan
Vendor teknologi yang menyediakan layanan seperti riset, pemasaran ulang, dan penayangan iklan dapat berperan dalam interaksi antara pembeli dan penjual. Hanya vendor yang telah diseleksi Google untuk berpartisipasi dalam interaksi Authorized Buyers yang diizinkan.
Untuk memahami BidRequest dan membuat
BidResponse, Anda harus mengetahui dua kemungkinan
yang berbeda untuk mendeklarasikan vendor teknologi:
Beberapa vendor tidak perlu dinyatakan; vendor ini tercantum di
Vendor Eksternal Tersertifikasi Ad Manager .
Vendor lain hanya dapat berpartisipasi jika mereka dinyatakan dalam
BidRequest:
Di BidRequest, kolom
BidRequest.imp.ext.allowed_vendor_type menentukan
vendor mana yang diizinkan penjual. Vendor yang akan dikirim dalam
allowed_vendor_type tercantum dalam
file kamus
vendors.txt .
Contoh permintaan bid
Contoh berikut menampilkan sampel permintaan Protobuf dan JSON yang mudah dibaca.
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Untuk mengonversi permintaan bid ke dalam bentuk biner, seperti yang Anda dapatkan dari
payload POST dalam permintaan sebenarnya, Anda dapat melakukan hal berikut (di C++). Namun,
perhatikan bahwa hal ini tidak berlaku untuk 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
}
}
Masukan real-time
Masukan real-time tersedia untuk Authorized Buyers, serta bursa dan jaringan yang menggunakan Bidding Terbuka.
Masukan real-time mengisi BidRequest.ext.bid_feedback berdasarkan
hasil satu atau beberapa bid yang Anda ajukan sebelumnya, dan dapat digunakan untuk menemukan
detail seperti apakah bid memenangkan lelang, atau bid minimum yang diperlukan untuk
memenangkan lelang. Hubungi Account Manager Anda untuk mengaktifkan masukan real-time.
Selain kolom default yang dikirim dalam Masukan Respons Bid, Anda juga dapat mengirim data kustom dalam respons bid menggunakan kolom BidResponse.seatbid.bid.ext.event_notification_token. event_notification_token adalah data arbitrer yang hanya diketahui oleh bidder yang dapat membantu proses penelusuran bug, misalnya: ID penargetan baru atau ID bidding yang merepresentasikan taktik baru, atau metadata yang terkait dengan materi iklan yang hanya diketahui oleh bidder. Untuk mengetahui detailnya, lihat
file Buffering Protokol Ekstensi OpenRTB .
Saat Authorized Buyers mengirimkan permintaan bid kepada bidder, bidder akan membalas
dengan BidResponse. Jika bidder mengaktifkan masukan real-time,
maka dalam permintaan bid berikutnya, Authorized Buyers akan mengirimkan masukan tentang
respons dalam pesan 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 ;
}
Dari pesan ini, kolom pertama yang harus Anda periksa adalah
bid_feedback.creative_status_code; Anda dapat menemukan arti kode
di
creative-status-codes.txt . Perhatikan bahwa jika Anda memenangkan bid, Anda dapat memilih untuk tidak memberikan masukan harga. Untuk mengetahui informasi selengkapnya, lihat Cara
menonaktifkan .
Masukan real-time mencakup ID permintaan bid dan salah satu
hal berikut:
Hasil lelang
Masukan real-time
Pembeli tidak mengajukan bid.
Tidak ada.
Pembeli mengirimkan bid yang difilter sebelum mencapai lelang.
Kode status materi iklan (creative-status-codes.txt ).
Pembeli mengirimkan bid, tetapi kalah dalam lelang.
Kode status materi iklan 79 (kalah bid dalam lelang).
Pembeli mengirimkan bid yang memenangkan lelang.
Harga penyelesaian dan kode status materi iklan 1.
Untuk tayangan iklan aplikasi dan kode status materi iklan 83, penayang aplikasi mungkin menggunakan waterfall mediasi, sehingga bid yang menang akan bersaing dengan permintaan lain dalam rantai waterfall passback penayang. Pelajari cara menggunakan
sampled_mediation_cpm_ahead_of_auction_winner saat
melakukan bidding .
Contoh
Berikut adalah contoh masukan real-time seperti yang terlihat dalam protokol yang didukung:
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Membuat model bidding untuk lelang harga pertama
Setelah mengajukan bid dalam lelang harga pertama, Anda akan menerima masukan real-time
termasuk kolom minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner jika bid
tidak difilter dari lelang. Sinyal ini dapat digunakan untuk menentukan logika bidding Anda tentang seberapa tinggi atau rendah bid Anda seharusnya agar memenangkan tayangan iklan.
minimum_bid_to_win: Bid minimum yang dapat diajukan untuk memenangkan lelang bidding real-time. Jika Anda memenangkan lelang, ini akan menjadi bid terendah yang dapat Anda ajukan sambil tetap menang. Jika Anda kalah dalam lelang, ini akan menjadi bid pemenang.
sampled_mediation_cpm_ahead_of_auction_winner: Jika ada
jaringan lain dalam rantai mediasi , nilai kolom ini adalah harga yang merepresentasikan contoh bid dari salah satu
jaringan mediasi yang memenuhi syarat yang lebih tinggi daripada pemenang lelang, yang diberi bobot
berdasarkan rasio pengisian yang diharapkan. Nilai ini akan disetel ke 0 jika tidak ada jaringan dalam
rantai mediasi yang diharapkan untuk mengisi, atau jika penayang tidak menggunakan mediasi SDK.
Cara kerjanya
Untuk menjelaskan perhitungan yang digunakan untuk menentukan kemungkinan nilai
untuk minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner, kita perlu
menentukan hal berikut terlebih dahulu:
Berikut adalah CPM dalam rantai mediasi dalam urutan menurun:
\[C_1, C_2, …, C_n\]
Berikut adalah rasio pengisian yang sesuai untuk CPM dalam
rantai mediasi:
\[f_1, f_2, …, f_n\]
Berikut adalah fungsi yang digunakan untuk menentukan CPM yang diharapkan dan probabilitasnya dari elemen rantai mediasi \(i\), berdasarkan rasio pengisian yang diberikan:
\(X_i = \{C_i\) dengan probabilitas \(f_i\); \(0\) dengan probabilitas \(1 - f_i\}\)
Rantai mediasi pemenang akhir adalah:
\[\{C_1, C_2, …, C_K, W\}\]
dengan \(W\) adalah bid yang menang, dan \(C_K > W >= C_{K+1}\)
Harga cadangan, atau harga minimum, dilambangkan sebagai \(F\).
Bidder dengan bid tertinggi kedua ditandai sebagai \(R\).
Penghitungan untuk pemenang lelang
Kolom
Penghitungan
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) dengan probabilitas \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
Untuk \(1 <= i <= K\).
Penghitungan untuk peserta lelang yang kalah
Kolom
Penghitungan
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Asumsikan penayang menggunakan bidding real-time dan rantai mediasi SDK sebagai berikut:
Rantai Mediasi SDK
CPM yang diharapkan
Rasio Pengisian
Jaringan 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Jaringan 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Jaringan 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Jaringan 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Asumsikan berikut sebagai hasil lelang RTB:
Lelang RTB
CPM
Pemenang Lelang (W)
$1,00
Runner-UP Lelang (R)
$0,05
Harga Minimum / Dasar (F)
$0
Bid yang memenangkan lelang
Berikut adalah contoh cara nilai dan probabilitas untuk
minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner dihitung untuk
bid yang menang.
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\%\)
Catatan: Jika pemenang lelang menayangkan iklannya dan menerima
notifikasi penagihan—misalnya, melalui endpoint yang ditentukan dalam
BidResponse.seatbid[].bid[].burl—pemenang lelang dapat menyimpulkan
bahwa tidak ada CPM mediasi sampel yang terisi, dan dapat menyertakan
seberapa sering hal ini terjadi dalam modelnya.
Bid yang kalah dalam lelang
Berikut adalah contoh cara nilai dan probabilitas untuk
minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner dihitung untuk
bid yang kalah.
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\%\)
Catatan: Nilai
sampled_mediation_cpm_ahead_of_auction_winner 0 menunjukkan
bahwa lelang bidding real-time menang. Dalam contoh di atas, pemenang lelang diperkirakan tidak akan kalah dalam penawaran dari jaringan mediasi pesaing sebanyak 52,2% dari waktu yang tersedia.
Pemisahan bid
Penyederhanaan bid menjelaskan pemrosesan satu BidRequest kompleks menjadi beberapa permintaan bid yang dikirim ke aplikasi Anda. Saat permintaan bid diratakan, Anda dapat mengetahui permintaan bid mana yang merupakan bagian dari permintaan bid asli karena permintaan bid tersebut akan memiliki nilai yang identik di kolom BidRequest.ext.google_query_id.
Perataan bid diaktifkan secara default, tetapi Anda dapat menghubungi Account Manager Anda jika ingin menonaktifkannya.
Beberapa peluang iklan dapat menerima beberapa format. Dengan pemisahan bid, setiap format dikirim dalam permintaan bid yang berbeda dengan atribut seperti ID penagihan yang memenuhi syarat relevan dengan format yang ditentukan dalam permintaan.
Permintaan bid yang berisi format berikut akan dipisah menjadi permintaan bid yang berbeda:
Banner
Video
Audio
Native
Di bawah ini adalah contoh yang menunjukkan permintaan bid JSON OpenRTB yang disederhanakan tanpa perataan format iklan dibandingkan dengan kumpulan permintaan yang diratakan yang setara:
Pra-ratakan
Berikan contohnya
{
"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"
}
}
Pasca-perataan
Berikan contohnya
Permintaan 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"
}
}
Permintaan 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"
}
}
Promo
Peluang iklan untuk bidder tertentu dapat berlaku untuk berbagai jenis transaksi, selain lelang terbuka. Dengan pemerataan bid untuk transaksi, satu permintaan bid akan dikirim untuk lelang terbuka, dan satu untuk setiap jenis transaksi harga tetap. Dalam praktiknya, batasan iklan dapat berbeda antara lelang dan jenis transaksi harga tetap. Misalnya, untuk peluang iklan video tertentu yang tersedia untuk lelang terbuka dan transaksi harga tetap, bidder akan menerima permintaan bid yang berbeda untuk masing-masing jenis transaksi tersebut, dengan batasan seperti durasi iklan maksimum dan apakah iklan yang dapat dilewati diizinkan atau tidak. Hasilnya, perataan yang diterapkan pada peluang iklan memungkinkan Anda lebih mudah membedakan batasan iklan untuk lelang terbuka dan transaksi harga tetap.
Catatan: Lelang Pribadi dan Paket Lelang akan memiliki batasan yang sama dengan lelang terbuka, dan akan terus disertakan dalam permintaan bid lelang terbuka.
Setelan batas waktu untuk video yang dapat dilewati dan Durasi Video
Spesifikasi OpenRTB tidak memiliki kolom terpisah untuk menentukan durasi video maksimum iklan yang dapat dilewati dan tidak dapat dilewati. Penerapan Google menggunakan perataan bid untuk membedakan keduanya menggunakan kolom BidRequest.video.maxduration dan BidRequest.video.skip yang ada.
Berikut adalah contoh cara inventaris video diratakan saat
durasi maksimum iklan yang tidak dapat dilewati adalah 15 dan durasi
maksimum iklan yang dapat dilewati adalah 60.
Contoh
max_ad_duration
skip (benar OR salah)
Permintaan asli tanpa perataan
15
true
Permintaan yang diratakan #1: Tidak dapat dilewati
15
false
Permintaan yang dipisah #2: Dapat dilewati
60
true
Perataan permintaan bid durasi video yang dapat dilewati hanya akan dilakukan jika kondisi berikut terpenuhi:
Permintaan mengizinkan video.
Video yang dapat dilewati dan tidak dapat dilewati diizinkan, dan dua durasi maksimum
masing-masing memiliki nilai yang berbeda.
Permintaan ini memenuhi syarat untuk Lelang Pribadi atau Lelang Terbuka.
Anda dapat memilih tidak menggunakan perataan jenis ini dengan menghubungi account manager teknis Anda. Jika dinonaktifkan, dan penayang mengizinkan iklan video yang dapat dilewati dan tidak dapat dilewati dengan durasi maksimum yang berbeda berdasarkan kemampuan untuk dilewati, skip akan disetel ke true dan maxduration akan disetel ke durasi yang lebih pendek antara batasan iklan yang dapat dilewati dan tidak dapat dilewati.
Pod video
Permintaan bid untuk pod video dengan beberapa peluang iklan akan dipisah,
sehingga setiap permintaan bid adalah untuk peluang iklan individual dari pod tersebut.
Dengan demikian, Anda dapat mengajukan bid pada beberapa peluang iklan untuk pod tertentu.
Pengukuran Terbuka
Pengukuran Terbuka memungkinkan Anda menentukan vendor pihak ketiga yang menyediakan layanan pengukuran dan verifikasi independen untuk iklan yang ditayangkan ke lingkungan aplikasi seluler.
Anda dapat menentukan apakah penayang mendukung Pengukuran Terbuka dalam permintaan bid dengan memeriksa apakah peluang iklan mengecualikan atribut OmsdkType:
OMSDK 1.0 yang ditemukan di Atribut materi iklan yang dapat dikecualikan penayang . Ini akan ditemukan di atribut battr
untuk Banner
atau Video , bergantung
pada formatnya.
Untuk mengetahui informasi selengkapnya tentang cara menafsirkan permintaan bid yang berisi sinyal Pengukuran Terbuka, lihat artikel Pusat Bantuan SDK Pengukuran Terbuka .
Contoh permintaan bid
Bagian berikut menunjukkan contoh permintaan bid untuk berbagai jenis iklan.
Catatan: Contoh Protobuf menyertakan link download ke permintaan bid serial yang serupa. Tidak ada jaminan bahwa keduanya akan identik.
Banner aplikasi
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Interstisial aplikasi
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Video interstisial aplikasi
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Native aplikasi
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}
Video web
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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 web seluler untuk bidder bursa
Protobuf OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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 OpenRTB
Berikan contohnya
Permintaan berseri
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 OpenRTB
Berikan contohnya
{
"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
}
}
}