Menentukan data audiens

Pelajari cara menentukan audiens dengan membuat grup minat menggunakan Protected Audience API. Baca panduan developer untuk mengetahui siklus proses lengkap Protected Audience API, dan lihat penjelasan Protected Audience API untuk mengetahui proposal mendetail tentang cara browser merekam grup minat.

Bukan developer? Lihat ringkasan Protected Audience API.

Grup minat Protected Audience API

Grup minat Protected Audience API mewakili sekelompok orang dengan minat yang sama, yang sesuai dengan daftar pemasaran ulang. Setiap grup minat Protected Audience API memiliki pemilik.

Pemilik grup minat bertindak sebagai pembeli dalam lelang iklan Protected Audience API. Keanggotaan grup minat disimpan oleh browser, di perangkat pengguna, dan tidak dibagikan kepada vendor browser atau orang lain.

Fungsi API

joinAdInterestGroup()

Platform sisi permintaan (DSP) pengiklan atau pengiklan itu sendiri memanggil navigator.joinAdInterestGroup() untuk meminta browser menambahkan grup minat ke daftar keanggotaan browser.

Asal konteks panggilan untuk joinAdInterestGroup() harus cocok dengan asal pemilik grup minat, sehingga joinAdInterestGroup() harus dipanggil dari iframe (misalnya, dari DSP) kecuali jika asal pemilik grup minat cocok dengan asal dokumen saat ini (misalnya, situs dengan grup minatnya sendiri).

joinAdInterestGroup() memerlukan izin dari:

Ini berarti malicious.example tidak dapat memanggil joinAdInterestGroup() untuk grup minat yang dimiliki oleh dsp.example.com, tanpa memberikan izin kepada dsp.example.com.

Izin dari situs yang dikunjungi

Izin dapat diberikan dari origin yang sama atau lintas origin. Secara default, izin diberikan untuk panggilan joinAdInterestGroup() dari asal yang sama dengan situs yang dikunjungi, (dengan kata lain, dari asal yang sama dengan frame tingkat atas halaman saat ini).

Contoh penggunaan

Berikut adalah contoh cara pengguna dapat menentukan grup minat dan meminta browser untuk bergabung dengan grup.

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  updateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

Objek interestGroup yang diteruskan ke fungsi tidak boleh berukuran lebih dari 50 kiB. Jika tidak, panggilan akan gagal. Parameter kedua menentukan durasi grup minat, yang dibatasi hingga 30 hari. Panggilan yang berurutan akan menimpa nilai yang disimpan sebelumnya.

Properti wajib

Satu-satunya properti yang diperlukan untuk grup minat adalah owner dan name:

Properti Contoh Peran
owner https://dsp.example Asal pemilik grup minat.
name custom-bikes Nama grup minat.

Properti opsional

Properti lainnya bersifat opsional:

biddingLogicUrl1, 2
Contoh: https://dsp.example/bid/custom-bikes/bid.js
Peran: URL untuk JavaScript bidding berjalan di worklet.
biddingWasmHelperUrl1, 2
Contoh: https://dsp.example/bid/custom-bikes/bid.wasm
Peran: URL untuk kode WebAssembly yang didorong dari biddingLogicUrl.
updateUrl2
Contoh: https://dsp.example/bid/custom-bikes/update
Peran: URL yang menampilkan JSON untuk memperbarui atribut grup minat. (Lihat Memperbarui data audiens dan memuat ulang iklan.)
trustedBiddingSignalsUrl2
Contoh: https://dsp.example/trusted/bidding-signals
Peran: URL dasar untuk permintaan nilai kunci ke layanan Kunci/Nilai tepercaya bidder.
trustedBiddingSignalsKeys
Contoh: ['key1', 'key2' ...]
Peran: Kunci untuk permintaan ke layanan Kunci/Nilai tepercaya dengan nilai kunci.
userBiddingSignals
Contoh: {...}
Peran: Metadata tambahan yang dapat digunakan pemilik selama bidding.
ads1
Contoh: [bikeAd1, bikeAd2, bikeAd3]
Peran: Iklan yang mungkin dirender untuk grup minat ini.
adComponents
Contoh: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2]
Peran: Komponen untuk iklan yang terdiri dari beberapa bagian.

1 Properti biddingLogicUrl dan ads bersifat opsional, tetapi wajib untuk berpartisipasi dalam lelang. Mungkin ada kasus penggunaan untuk membuat grup minat tanpa properti ini: misalnya, pemilik grup minat mungkin ingin menambahkan browser ke grup minat untuk kampanye yang belum berjalan, atau untuk penggunaan lainnya pada masa mendatang, atau mereka mungkin telah kehabisan anggaran iklan untuk sementara.

2 Dalam implementasi Protected Audience API saat ini, biddingLogicUrl, biddingWasmHelperUrl, updateUrl, dan trustedBiddingSignalsUrl harus memiliki origin yang sama sebagai pemilik. Hal ini mungkin bukan batasan jangka panjang, dan URL ads serta adComponents tidak memiliki batasan tersebut.

Menentukan iklan untuk grup minat

Objek ads dan adComponents menyertakan URL untuk materi iklan dan, jika perlu, metadata arbitrer yang dapat digunakan pada waktu bidding.

Contoh:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

leaveAdInterestGroup()

Pemilik grup minat dapat meminta agar browser dihapus dari grup minat. Browser menghapus grup minat dari daftar keanggotaannya.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

Jika pengguna kembali ke situs yang meminta browser untuk menambahkan grup minat, pemilik grup minat dapat memanggil fungsi navigator.leaveAdInterestGroup() untuk meminta browser menghapus grup minat tersebut.

Kode untuk iklan juga dapat memanggil fungsi ini untuk grup minatnya.

Pertanyaan umum (FAQ)

Berapa jumlah maksimum grup minat per pemilik grup untuk satu pengguna?

Chrome mengizinkan hingga 1.000 grup minat per pemilik, dan hingga 1.000 pemilik grup minat. Batasan ini dimaksudkan sebagai pagar pengaman, bukan untuk dimasuki dalam operasi rutin.

Bagaimana cara memaksimalkan iklan grup minat yang memenuhi nilai minimum k-anon?

Sesuai catatan penjelasan publik, karena satu grup minat dapat berisi beberapa kemungkinan iklan yang mungkin ditampilkannya, grup ini akan memiliki peluang untuk mengajukan bid ulang terhadap salah satu iklannya agar bertindak sebagai "iklan penggantian" kapan saja pilihan yang paling disukainya berada di bawah nilai minimum. Artinya, iklan khusus yang berukuran kecil yang masih di bawah nilai minimum k-anonymity masih dapat memilih untuk berpartisipasi dalam lelang, dan grup minatnya dapat kembali menggunakan iklan yang lebih umum hingga iklan yang lebih spesifik memiliki audiens yang cukup besar.

Dari perspektif taktis, Anda dapat mempertimbangkan hal berikut:

  • Agar iklan baru mulai ditampilkan, cukup mulai ajukan bid dengan iklan tersebut jika Anda ingin iklan tersebut ditampilkan. Anda tidak perlu melakukan tindakan apa pun.
  • Anda dapat memiliki iklan pengganti yang digunakan saat iklan baru bukan k-anon. Ada beberapa risiko bahwa iklan penggantian itu sendiri tidak k-anon, jadi terkadang Anda dapat mempertimbangkan untuk hanya mengajukan bid dengan iklan penggantian. Mungkin lakukan hal ini 1%, misalnya, jika itu adalah tingkat yang baik untuk memastikan bahwa Anda memperkirakan penggantian akan tetap di atas batas.

Baru-baru ini, telah ada diskusi tentang cara lain agar API dapat berfungsi, jadi jika Anda memiliki beberapa kasus penggunaan yang menimbulkan masalah pada mekanisme ini, teruslah terlibat dalam percakapan publik tentang cara-cara untuk meningkatkan API.

Semua referensi Protected Audience API

Panduan referensi API tersedia:

Penjelasan Protected Audience API juga memberikan detail tentang dukungan dan batasan fitur.