Mengajukan bid dalam lelang untuk membeli slot iklan

Sebagai pembeli iklan (DSP dan pengiklan), Anda mungkin tertarik berpartisipasi dalam lelang iklan Protected Audience di situs penayang untuk menargetkan iklan ke grup minat yang Anda tetapkan di situs pengiklan. Dengan berpartisipasi dalam lelang Protected Audience, Anda dapat menjangkau pelanggan yang diidentifikasi di situs lain dengan cara yang menjaga privasi.

Dalam lelang Protected Audience, Anda memberikan logika untuk membuat bid, dan browser menghitung bid menggunakan logika tersebut. Hal ini berbeda dengan arsitektur lelang lain tempat Anda mengajukan bid secara langsung dan bukan memberikan logika.

Anda memberikan logika pembuatan bid dalam fungsi JavaScript generateBid() dan file tersebut dihosting di server Anda. Saat Anda menambahkan pengguna ke grup minat, lokasi file ini diteruskan ke konfigurasi grup minat sebagai biddingLogicUrl.

Selama lelang, browser mengambil logika bidding yang ditentukan di kolom biddingLogicUrl, dan menjalankan fungsi generateBid() untuk setiap grup minat di lingkungan terisolasi yang aman dan dibatasi dalam komunikasinya dengan konteks di luar. Saat generateBid() dijalankan, browser akan meneruskan sinyal ke fungsi sebagai argumen. Sinyal ini berisi berbagai informasi dari berbagai sumber, seperti data pihak pertama penayang, data penjual, data real-time, dan lainnya. Anda dapat menggunakan sinyal ini untuk menghitung bid, dan nilainya akan ditampilkan dari panggilan generateBid(). Setelah bid dikirimkan, browser akan menjalankan logika penskoran penjual pada setiap bid untuk menghitung skor keinginan penjual.

generateBid()

Berikut ini penjelasan argumen fungsi generateBid() dan struktur bid yang ditampilkan dari fungsi:


generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals, directFromSellerSignals) {
  return {
    ad: adObject,
    adCost: optionalAdCost,
    bid: bidValue,
    bidCurrency: 'USD',
    render: {
      url: renderURL,
      width: renderWidth,
      height: renderHeight
    },
    adComponents: [
      {url: adComponent1, width: componentWidth1, height: componentHeight1},
      {url: adComponent2, width: componentWidth2, height: componentHeight2},
      // ...
    ],
    allowComponentAuction: false,
    modelingSignals: 123 // 0-4095 integer (12-bits)
  };
}

Arguments

generateBid() menggunakan argumen berikut:

Argumen Peran

interestGroup

Objek yang diteruskan oleh pembeli iklan. Grup minat dapat diperbarui dengan dailyUpdateUrl.

auctionSignals

Properti argumen konfigurasi lelang yang diteruskan ke navigator.runAdAuction() oleh penjual. Tag ini memberikan informasi tentang konteks halaman (seperti ukuran iklan dan ID penayang), jenis lelang (harga pertama atau harga kedua), dan metadata lainnya.

perBuyerSignals

Properti argumen konfigurasi lelang yang diteruskan oleh penjual. Hal ini dapat memberikan sinyal kontekstual dari server pembeli tentang halaman, jika penjual adalah SSP yang melakukan panggilan bidding real-time ke server pembeli dan menyalurkan respons kembali, atau jika halaman penayang menghubungi server pembeli secara langsung. Jika demikian, pembeli dapat memeriksa tanda tangan kriptografis dari sinyal tersebut di dalam generateBid() sebagai perlindungan terhadap modifikasi tidak sah.

trustedBiddingSignals

Objek yang kuncinya adalah trustedBiddingSignalsKeys untuk grup minat, dan yang nilainya ditampilkan dalam permintaan trustedBiddingSignals.

browserSignals

Objek yang dibuat oleh browser, yang dapat mencakup informasi tentang konteks halaman (seperti hostname halaman saat ini, yang dapat dipalsukan penjual) dan data untuk grup minat itu sendiri (seperti data ketika grup sebelumnya memenangkan lelang, untuk memungkinkan pembatasan frekuensi di perangkat).

directFromSellerSignals

Sinyal yang dijamin berasal dari penjual tertentu, tidak seperti auctionSignals dan sellerSignals yang dapat berasal dari peserta mana pun yang ada dalam konteks tempat runAdAuction dieksekusi.

Sinyal browser

Objek browserSignals memiliki properti berikut:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  topLevelSeller: 'https://www.top-level-ssp.com',
  requestedSize: {width: 100, height: 200},  /* if specified in auction config */
  joinCount: 3,
  recency: 3600000,
  bidCount: 17,
  prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
  wasmHelper: ...
  dataVersion: 1,
  adComponentsLimit: 40
}
Properti Deskripsi

topWindowHostname

Nama host tempat panggilan runAdAuction() dilakukan.

seller

Penjual yang menjadi tujuan pengiriman bid. Di lelang komponen, nilai ini adalah penjual komponen.

topLevelSeller

Penjual tingkat teratas dalam lelang komponen, dan hanya ada di lelang komponen.

requestedSize

Properti requestedSize merekomendasikan ukuran frame untuk lelang. Penjual menetapkan ukuran yang diminta dalam konfigurasi lelang, dan nilainya akan tersedia bagi bidder di generateBid(). Bidder di dalam lelang dapat memilih ukuran konten yang berbeda untuk iklan tersebut, dan ukuran yang dihasilkan akan diskalakan secara visual agar sesuai dengan ukuran penampung elemen.

joinCount

Kolom joinCount adalah frekuensi perangkat ini bergabung ke grup minat ini dalam 30 hari terakhir saat grup minat terus disimpan (yaitu, tidak ada celah dalam penyimpanan grup minat di perangkat karena masa berlaku langganan atau langganan berakhir).

recency

Kolom recency adalah durasi waktu (dalam menit) sejak perangkat ini bergabung ke grup minat ini hingga sekarang

bidCount

Frekuensi grup minat tersebut telah mengajukan bid.

prevWinsMs

Kolom prevWinMs berisi iklan pemenang grup minat, dan waktu sejak menang sebelumnya dalam milidetik. Perlu diperhatikan bahwa objek iklan di sini hanya berisi kolom renderURL dan metadata.

wasmHelper

objek WebAssembly.Module berdasarkan biddingWasmHelperURL grup minat.

dataVersion

Nilai Versi Data dari respons layanan Kunci/Nilai pembeli.

adComponentsLimit

Jumlah maksimum komponen iklan yang dapat ditampilkan oleh generateBid()

Menghitung bid

Untuk menghitung nilai bid, kode di generateBid() dapat menggunakan properti parameter fungsi.

Contoh:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
   //  ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    // ...
  }
}

Menampilkan bid

generateBid() menampilkan objek dengan properti berikut:

Properti Peran
ad Metadata arbitrer tentang iklan, seperti informasi yang diharapkan penjual untuk mempelajari bid atau materi iklan ini. Penjual menggunakan informasi ini dalam logika keputusan dan lelang.
adCost Nilai numerik yang digunakan untuk meneruskan klik pengiklan atau biaya konversi pelaporan dari generateBid ke reportWin. Presisi angka ini terbatas pada mantissa 8-bit dan eksponen 8-bit, dengan setiap pembulatan dilakukan secara stokastik.
adComponents Daftar opsional hingga 20 komponen untuk iklan yang terdiri dari beberapa bagian, yang diambil dari properti adComponents dalam argumen grup minat yang diteruskan ke navigator.joinAdInterestGroup().
allowComponentAuction Nilai boolean yang menunjukkan apakah bid ini dapat digunakan dalam lelang komponen. Nilai defaultnya adalah "false" jika tidak ditentukan.
bid Bid numerik yang akan memasuki lelang. Penjual harus berada dalam posisi untuk membandingkan bid dari pembeli yang berbeda, oleh karena itu bid harus berada dalam unit yang dipilih penjual (seperti"USD per seribu"). Jika bid nol atau negatif, grup minat ini sama sekali tidak akan berpartisipasi dalam lelang penjual. Dengan mekanisme ini, pembeli dapat menerapkan aturan pengiklan di mana pun iklan mereka mungkin muncul atau tidak.
bidCurrency Mata uang untuk bid, yang digunakan untuk pemeriksaan mata uang.
render Kamus yang menjelaskan materi iklan yang harus dirender jika bid ini memenangkan lelang. Hal ini mencakup:
  • url: URL materi iklan.
  • width: Lebar materi iklan. Ukuran ini akan dicocokkan dengan pernyataan di grup minat dan diganti dengan makro ukuran iklan apa pun yang ada di URL materi iklan. Jika iklan dimuat dalam frame dengan fence, bingkai dalam pada bingkai dengan fence (yaitu ukuran yang terlihat oleh materi iklan) akan dibekukan ke ukuran ini, dan iklan tidak akan dapat melihat perubahan pada ukuran frame yang dibuat oleh penyemat.
  • height: Tinggi materi iklan. Lihat elaborasi di width.

modelingSignals

Bilangan bulat 0-4095 (12-bit) yang diteruskan ke reportWin(), dengan derau, seperti yang dijelaskan dalam skema derau dan bucket. Nilai yang tidak valid, seperti nilai negatif, tak terbatas, dan NaN, akan diabaikan dan tidak diteruskan. Hanya 12 bit terendah yang akan diteruskan.


Pembeli dapat menggunakan sinyal yang tersedia dalam fungsi generateBid(), termasuk data dari data pembeli pihak pertama yang diambil pada waktu pembuatan Grup Minat pada userBiddingSignals, untuk mendapatkan beberapa nilai yang diteruskan ke fungsi pelaporan kemenangan pembeli untuk mengaktifkan pelatihan model ML.