Mengajukan bid dalam lelang untuk membeli slot iklan

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

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

Anda memberikan logika pembuatan bid dalam fungsi JavaScript generateBid() dan file akan 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 luar. Saat generateBid() dieksekusi, 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 lain-lain. Anda dapat menggunakan sinyal ini untuk menghitung bid, dan nilai ditampilkan dari panggilan generateBid(). Setelah tawaran diajukan, browser akan menjalankan logika penskoran penjual pada setiap tawaran untuk menghitung skor keinginan penjual.

generateBid()

Berikut adalah 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)
  };
}

Argumen

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. Tab 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 tersebut, 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 sebaiknya memeriksa tanda tangan kriptografis dari sinyal tersebut di dalam generateBid() sebagai perlindungan terhadap sabotase.

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 oleh penjual) dan data untuk grup minat itu sendiri (seperti data saat grup tersebut 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 dikirimi bid. Dalam lelang komponen, nilai ini adalah penjual komponen.

topLevelSeller

Penjual tingkat teratas di 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 nilai akan tersedia untuk bidder di generateBid(). Bidder di dalam lelang dapat memilih ukuran konten yang berbeda untuk iklan, dan ukuran yang dihasilkan akan diskalakan secara visual agar sesuai dengan ukuran penampung elemen.

joinCount

Kolom joinCount adalah frekuensi perangkat ini bergabung dengan grup minat ini dalam 30 hari terakhir saat grup minat terus disimpan (artinya, tidak ada celah dalam penyimpanan grup minat di perangkat karena Anda telah keluar atau keanggotaannya akan berakhir).

recency

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

bidCount

Frekuensi grup minat tersebut telah mengajukan bid.

prevWinsMs

Kolom prevWinMs berisi iklan pemenang grup minat, dan waktu sejak kemenangan sebelumnya dalam milidetik. Perhatikan 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 mungkin ditampilkan 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 pelaporan klik atau biaya konversi pengiklan dari generateBid ke reportWin. Ketepatan 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 argumen grup minat yang diteruskan ke navigator.joinAdInterestGroup().
allowComponentAuction Nilai boolean yang menunjukkan apakah bid ini dapat digunakan di lelang komponen. Default-nya adalah "false" jika tidak ditentukan.
bid Bid numerik yang akan memasuki lelang. Penjual harus dapat membandingkan bid dari berbagai pembeli, sehingga bid harus dalam beberapa unit yang dipilih penjual (seperti "USD per seribu"). Jika bid nol atau negatif, grup minat ini tidak akan berpartisipasi dalam lelang penjual sama sekali. Dengan mekanisme ini, pembeli dapat menerapkan aturan pengiklan apa pun tempat iklan mereka dapat atau tidak dapat ditampilkan.
bidCurrency Mata uang untuk bid, yang digunakan untuk currency-checking.
render Kamus yang menjelaskan materi iklan yang harus dirender jika bid ini memenangkan lelang. Data 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. Saat iklan dimuat dalam bingkai dengan fence, bingkai dalam bingkai dengan pagar (yaitu ukuran yang terlihat oleh materi iklan) akan dibekukan hingga ukuran ini, dan tidak dapat melihat perubahan pada ukuran frame yang dibuat oleh sematan.
  • height: Tinggi materi iklan. Lihat elaborasi dalam width.

modelingSignals

Bilangan bulat 0-4095 (12-bit) yang diteruskan ke reportWin(), dengan derau, seperti yang dijelaskan dalam skema derau dan bucketing. Nilai yang tidak valid, seperti nilai negatif, tidak 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 di userBiddingSignals, untuk mendapatkan beberapa nilai yang diteruskan ke fungsi pelaporan kemenangan pembeli guna memungkinkan pelatihan model ML.