Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Interaksi bidding real-time dimulai saat Google mengirimkan permintaan bid ke
aplikasi Anda. Panduan ini menjelaskan cara membuat kode aplikasi untuk
memproses permintaan bid.
Mengurai permintaan
Google mengirim permintaan bid yang diserialisasi dalam format JSON OpenRTB atau Protobuf, yang dilampirkan sebagai payload permintaan POST HTTP. Format yang diterima
bergantung pada konfigurasi
endpoint Anda. Lihat
Contoh permintaan bid untuk mengetahui 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:
Setelah memiliki BidRequest, Anda dapat menggunakannya sebagai objek, mengekstrak, dan menafsirkan kolom yang Anda perlukan. Misalnya, dalam
C++, melakukan iterasi melalui transaksi di `BidRequest` OpenRTB dapat terlihat seperti
berikut:
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 pretargeting
yang relevan. Selain itu, untuk
inventaris
transaksi, 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 bid-nya dengan
kolom BidResponse.seatbid.bid.ext.billing_id.
File kamus
Permintaan bid menggunakan ID yang ditentukan dalam file kamus, yang
tersedia di halaman
data referensi.
Makro URL bidder
Atau, beberapa informasi dari BidRequest dapat
disisipkan ke 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.
Macro
Deskripsi
%%GOOGLE_USER_ID%%
Diganti dengan ID Pengguna Google yang ditemukan 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 ditujukan untuk
inventaris aplikasi seluler, atau 0 jika tidak. Hal ini didasarkan pada apakah
BidRequest.app diisi.
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 besar dan mengganti 8
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
314716233 yang dihasilkan adalah ID aplikasi untuk aplikasi iOS
TextNow.
Menemukan nama aplikasi seluler dari URL transaksi
Berikut adalah contoh cara mendapatkan nama aplikasi. URL yang dilaporkan adalah sebagai berikut:
Permintaan bid yang dikirim ke bidder bursa dan jaringan yang berpartisipasi dalam Bidding Terbuka mirip dengan permintaan 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
meliputi:
OpenRTB
Detail
BidRequest.imp.ext.dfp_ad_unit_code
Berisi kode jaringan Ad Manager penayang, diikuti dengan hierarki unit iklan, yang dipisahkan dengan garis miring ke depan.
Sebagai contoh, ini akan muncul dengan format yang mirip dengan:
/1234/cruises/mars.
BidRequest.user.data.segment
Pasangan nilai kunci berulang yang dikirim dari penayang ke bidder bursa.
Anda dapat menentukan bahwa nilai tersebut adalah pasangan nilai kunci yang dikirim oleh penayang saat BidRequest.user.data.name ditetapkan ke “Publisher Passed”.
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 oleh Google untuk berpartisipasi dalam interaksi Authorized Buyers
yang diizinkan.
Untuk memahami BidRequest dan membuat
BidResponse, Anda perlu mengetahui dua kemungkinan
yang berbeda untuk mendeklarasikan vendor teknologi:
Vendor lain hanya dapat berpartisipasi jika dideklarasikan dalam
BidRequest:
Di BidRequest, kolom
BidRequest.imp.ext.allowed_vendor_type menentukan
vendor yang diizinkan penjual. Vendor yang akan dikirim dalam
allowed_vendor_type tercantum dalam
file kamus
vendors.txt.
Contoh permintaan bid
Contoh berikut mewakili contoh permintaan Protobuf dan JSON yang dapat dibaca manusia.
Untuk mengonversi permintaan bid menjadi bentuk biner, seperti yang akan Anda dapatkan dari
payload POST dalam permintaan sebenarnya, Anda dapat melakukan hal berikut (dalam C++). Namun,
perhatikan bahwa hal ini tidak berlaku untuk JSON OpenRTB.
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 dari satu atau beberapa bid yang Anda pasang 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 debug, misalnya: ID penargetan atau
ID bidding baru yang mewakili 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:
messageBidFeedback{//TheuniqueidfromBidRequest.id.optionalstringrequest_id=1;//Thestatuscodeforthead.Seecreative-status-codes.txtinthe//technicaldocumentationforalistofids.optionalint32creative_status_code=2;//Deprecated.ThisfieldisnotpopulatedandwillberemovedafterMarch,//2025.Ifthebidwontheauction,thisisthepricepaidinyouraccount//currency.Ifthebidparticipatedintheauctionbutwasout-bid,this//istheCPMthatshouldhavebeenexceededinordertowin.Thisisnot//setifthebidwasfilteredpriortotheauction,ifthepublisheror//winningbidderhasoptedoutofpricefeedbackorifyouraccounthas//optedoutofsharingwinningpriceswithotherbidders.Forfirst-price//auctions,minimum_bid_to_winispopulatedinsteadofthisfield.optionaldoubleprice=3[deprecated=true];//Theminimumbidvaluenecessarytohavewontheauction,inyouraccount//currency.Ifyourbidwontheauction,thisisthesecondhighestbid//thatwasnotfiltered(includingthefloorprice).Ifyourbiddidn't win//theauction,thisisthewinningcandidate's bid. This field will only be//populatedifyourbidparticipatedinafirst-priceauction,andwillnot//bepopulatedifyourbidwasfilteredpriortotheauction.optionaldoubleminimum_bid_to_win=6;//Theminimumbidvaluenecessarytohavewontheserver-sidecomponentof//theoverallauctiongiventhattherewasalsoaninterestgroupbidding//componenttotheoverallauctionwhichranusingtheProtectedAudience//API.ThevalueisexpressedinCPMofthebuyeraccountcurrency.The//minimumbidtowinfortheoverallauction,includingbidsfromthe//server-sideandtheon-deviceinterestgroupcomponents,ispopulatedin//theminimum_bid_to_winfieldofthesameBidFeedbackobject.optionaldoublesscminbidtowin=14;//Billableeventratemultiplierthatwasappliedtothisbidduring//ranking.Theadjustmentreflectsthelikelihoodthatyourbidwould//generateabillableevent(namely,theadrenderssuccessfully)ifitwon//theauction,relativetotheprobabilitythatotherbidsgeneratea//billableeventiftheywontheauction.Thisadjustmentcanbelargeror//smallerthan1.Thisaffectsthefinalrankingintheauctiononly;in//particular,thismultiplierdoesnotaffectthepaymentorwhetherthe//bidclearsanyfloorprice.optionalfloatbillable_event_rate_bid_adjustment=13[default=1];//WhenapublisherusesanRTBauctionandwaterfall-basedSDKmediationon//thesamequery,thewinnerofthereal-timeauctionmustalsocompetein//amediationwaterfall(whichisorderedbyprice)towintheimpression.//Ifthebidparticipatedintheauctionandtherewasnowaterfall,the//valueofthisfieldis0.Ifthebidparticipatedintheauctionand//therewasawaterfall,thevalueofthisfieldisapricerepresentinga//samplebidfromtheeligiblemediationnetworksthatwerehigherthanthe//auctionwinner,weightedbyexpectedfillrate.Thisfieldcanbeused//inconjunctionwithminimum_bid_to_wintotrainbiddingmodels.TheCPM//isinyouraccountcurrency.optionaldoublesampled_mediation_cpm_ahead_of_auction_winner=8;messageEventNotificationToken{//Thecontentsofthetoken.optionalstringpayload=1;}//Thetokenincludedinthecorrespondingbid.optionalEventNotificationTokenevent_notification_token=4;//ThecreativeIDincludedinthecorrespondingbid.optionalstringbuyer_creative_id=5;//Possibletypesofbidresponsefeedbackobjects.enumFeedbackType{FEEDBACK_TYPE_UNSPECIFIED=0;//Feedbackforabidthatwassubmittedonabidresponse.BID_FEEDBACK=1;//Feedbackforaninterestgroupbuyersubmittedonabidresponseto//particpateinaninterestgroupbiddingcomponentoftheauctionrun//usingtheProtectedAudienceAPI.INTEREST_GROUP_BUYER_FEEDBACK=2;}//ThetypeoftheBidFeedbackmessage.Googlewillsendseparate//BidFeedbackobjectsfor://a)Eachbidsubmittedonabidresponse//b)Eachbuyersubmittedonabidresponsetoparticpateinaninterest//groupbiddingcomponentoftheauctionrunusingtheProtectedAudience//API.optionalFeedbackTypefeedbacktype=15;//Originofaninterestgroupbuyerthatwasincludedinthebidresponse.//Thisfieldispopulatedonlyforfeedbackwhereabidderoptedinan//interestgroupbuyertoparticipateintheinterestgroupbidding//componentoftheoverallauctionrunusingtheProtectedAudienceAPI.//Tolearnmoreaboutorigins,seehttps://www.rfc-editor.org/rfc/rfc6454.//TolearnmoreaboutinterestgroupbiddingandtheProtectedAudience//API,see//https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.optionalstringbuyerorigin=16;//Thestatuscodeforthesubmittedinterestgroupbuyer.Thisfieldis//onlypopulatedinthefeedbackforaninterestgroupbuyerthatabidder//requestedtoenterintotheinterestgroupauctionthroughthebid//response.Individualcreativestatuscodesofbidssubmittedbythebuyer//intheon-deviceinterestgroupauctionarenotavailable.See//https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt//foralistofinterestgroupbuyerstatuscodes.optionalint32igbuyerstatus=17;}
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 memenangkan bid, Anda dapat memilih untuk tidak menerima
masukan harga. Untuk mengetahui informasi selengkapnya, lihat Cara
memilih tidak ikut.
Masukan real-time mencakup ID permintaan bid dan salah satu
hal berikut:
Hasil lelang
Masukan real-time
Pembeli tidak mengirimkan bid.
Tidak ada.
Pembeli mengirimkan bid yang difilter sebelum mencapai
lelang.
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 menginformasikan logika bidding Anda tentang seberapa tinggi atau rendah bid Anda agar dapat memenangkan tayangan.
minimum_bid_to_win: Bid minimum yang dapat
ditempatkan untuk memenangkan lelang bidding real-time. Jika Anda memenangkan lelang, ini akan
menjadi bid terendah yang dapat Anda ajukan sekaligus tetap menang. Jika Anda kalah dalam lelang, bid ini akan menjadi bid pemenang.
sampled_mediation_cpm_ahead_of_auction_winner: Jika ada
jaringan lain di rantai mediasi, nilai kolom ini adalah harga yang mewakili contoh bid dari salah satu
jaringan mediasi yang memenuhi syarat yang lebih tinggi dari pemenang lelang, dengan bobot
rasio pengisian yang diharapkan. Nilai ini akan ditetapkan ke 0 jika tidak ada jaringan dalam
rantai mediasi yang diharapkan akan terisi, atau jika penayang tidak menggunakan mediasi
SDK.
Cara kerjanya
Untuk menjelaskan penghitungan yang digunakan untuk menentukan kemungkinan nilai
untuk minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner, kita harus
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 akan menjadi:
\[\{C_1, C_2, …, C_K, W\}\]
dengan \(W\) adalah bid pemenang, dan \(C_K > W >= C_{K+1}\)
Harga minimum, atau harga terendah, dilambangkan sebagai \(F\).
Bid runner-up dilambangkan 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 pihak yang kalah lelang
Kolom
Penghitungan
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Contoh dengan rantai mediasi sederhana
Anggap penayang menggunakan bidding real-time dan rantai mediasi SDK sebagai
berikut:
Rantai Mediasi SDK
CPM yang Diperkirakan
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 hal berikut sebagai hasil lelang RTB:
Lelang RTB
CPM
Pemenang Lelang (W)
$1,00
Juara Dua 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.
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\%\)
Pemisahan bid
Perataan 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 asli karena permintaan tersebut akan memiliki nilai yang sama di
kolom BidRequest.ext.google_query_id.
Penyamaan bid diaktifkan secara default, tetapi Anda dapat menghubungi Account Manager
Anda jika ingin menonaktifkannya.
Format iklan
Beberapa peluang iklan dapat menerima beberapa format. Dengan penyederhanaan 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 disatukan menjadi
permintaan bid yang berbeda:
Banner
Video
Audio
Native
Contoh penyederhanaan format iklan
Berikut adalah contoh yang menunjukkan permintaan bid JSON OpenRTB yang disederhanakan tanpa penyederhanaan format iklan dibandingkan dengan kumpulan permintaan yang disederhanakan yang setara:
Peluang iklan untuk bidder tertentu dapat berlaku untuk berbagai jenis
transaksi, selain lelang terbuka. Dengan penyederhanaan bid untuk transaksi, satu permintaan
bid akan dikirim untuk lelang terbuka, dan satu permintaan untuk setiap jenis transaksi
harga tetap. Dalam praktiknya, batasan iklan dapat berbeda antara jenis lelang dan 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, dengan batasan seperti durasi iklan maksimum dan apakah iklan yang dapat dilewati diizinkan atau tidak. Akibatnya, perataan yang diterapkan ke peluang
iklan memungkinkan Anda lebih mudah membedakan batasan iklan untuk lelang
terbuka dan transaksi harga tetap.
Kemampuan 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 penyederhanaan bid untuk membedakan keduanya menggunakan kolom
BidRequest.video.maxduration dan
BidRequest.video.skip yang ada.
Berikut adalah contoh cara inventaris video diratakan jika
durasi maksimum iklan yang tidak dapat dilewati adalah 15 dan durasi
maksimum iklan yang dapat dilewati adalah 60.
Contoh
max_ad_duration
skip (true OR false)
Permintaan asli tanpa penyederhanaan
15
true
Permintaan yang diratakan #1: Tidak dapat dilewati
15
false
Permintaan yang diratakan #2: Dapat dilewati
60
true
Perataan permintaan bid durasi video yang dapat dilewati hanya akan dilakukan jika
kondisi berikut terpenuhi:
Permintaan tersebut mengizinkan video.
Video yang dapat dilewati dan tidak dapat dilewati diizinkan, dan kedua durasi maksimum tersebut memiliki nilai yang berbeda.
Permintaan ini memenuhi syarat untuk Lelang Pribadi atau Lelang Terbuka.
Anda dapat memilih untuk tidak menggunakan jenis penyederhanaan ini dengan menghubungi manajer akun 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 ditetapkan ke true dan
maxduration akan ditetapkan ke durasi mana pun 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 digabungkan,
sehingga setiap permintaan bid ditujukan untuk setiap peluang iklan dari pod tersebut.
Dengan demikian, Anda dapat mengajukan bid untuk 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 bagian atribut battr
untuk Banner
atau Video, bergantung
pada formatnya.
Untuk 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.
[null,null,["Terakhir diperbarui pada 2025-08-21 UTC."],[[["\u003cp\u003eBid requests are sent as HTTP POST requests with a binary payload in Protobuf format, and they are parsed into a \u003ccode\u003eBidRequest\u003c/code\u003e object for access.\u003c/p\u003e\n"],["\u003cp\u003eBilling IDs, which are essential for transactions, are provided in specific fields of the \u003ccode\u003eBidRequest\u003c/code\u003e and must be used in corresponding bids.\u003c/p\u003e\n"],["\u003cp\u003eReal-time feedback, available in subsequent bid requests, offers details like creative status codes and minimum bid amounts, including a custom \u003ccode\u003eevent_notification_token\u003c/code\u003e for debugging.\u003c/p\u003e\n"],["\u003cp\u003eFirst-price auction bidding models utilize \u003ccode\u003eminimum_bid_to_win\u003c/code\u003e and \u003ccode\u003esampled_mediation_cpm_ahead_of_auction_winner\u003c/code\u003e feedback signals to help adjust bidding strategies.\u003c/p\u003e\n"],["\u003cp\u003eBid flattening separates complex \u003ccode\u003eBidRequest\u003c/code\u003e data into multiple requests based on ad formats, deals, and video ad types, all identifiable by a shared \u003ccode\u003egoogle_query_id\u003c/code\u003e.\u003c/p\u003e\n"]]],["Bid requests are HTTP POSTs using OpenRTB Protobuf, replacing the deprecated Google RTB protocol. Parsing involves `ParseFromString()` to access fields in the `BidRequest` object. Billing IDs, found in `BidRequest.imp.ext.billing_id` and `BidRequest.imp.pmp.deal.ext.billing_id`, must be specified in `BidResponse.seatbid.bid.ext.billing_id`. Key information comes from dictionary files. Bid URL macros dynamically insert `BidRequest` data. Complex bid requests can be broken into simpler, flattened requests per format or deal, such as skippable/non-skippable video ads, or video pods. Bidders get real-time feedback. The provided sample requests are used to help the process.\n"],null,[]]