Mempelajari cara kerja ID pelaporan di lelang Protected Audience
Ringkasan
ID pelaporan adalah ID yang terkait dengan iklan yang tersedia untuk digunakan dalam membuat bid, memberi skor bid, dan pelaporan. ID pelaporan diberikan oleh pembeli di konfigurasi grup minat, dan ID tersebut akan tersedia di generateBid(), scoreAd(), reportResult(), dan reportWin() dalam berbagai kondisi yang dibahas dalam panduan ini.
ID pelaporan memungkinkan Anda melaporkan ID untuk iklan, dan juga memungkinkan kasus penggunaan seperti promo.
Ada tiga ID pelaporan dari dua jenis:
- ID pelaporan yang tidak dapat dipilih
buyerReportingId(string)buyerAndSellerReportingId(string)
- ID pelaporan yang dapat dipilih
selectableBuyerAndSellerReportingIds(array string)
ID pelaporan berperilaku berbeda-beda, bergantung pada apakah ID pelaporan yang dapat dipilih digunakan. Jika hanya ID pelaporan yang tidak dapat dipilih yang digunakan, ID tersebut hanya akan tersedia di dalam fungsi pelaporan. Jika ID pelaporan yang dapat dipilih digunakan, bersama dengan ID pelaporan yang tidak dapat dipilih jika diperlukan, semua ID yang ditentukan juga akan tersedia di dalam generateBid() dan scoreAd().
ID pelaporan yang tidak dapat dipilih
buyerReportingId dan buyerAndSellerReportingId adalah ID pelaporan yang tidak dapat dipilih yang ditentukan dalam konfigurasi grup minat yang tersedia di fungsi pelaporan pembeli dan penjual. Fungsi pelaporan pembeli dan penjual hanya akan berjalan untuk iklan pemenang, dan fungsi tersebut akan menerima ID pelaporan yang ditentukan untuk iklan pemenang tersebut.
Jika digunakan tanpa ID pelaporan yang dapat dipilih, fungsi pelaporan pembeli akan menerima buyerReportingId atau buyerAndSellerReportingId bergantung pada perilaku penggantian, dan fungsi pelaporan penjual akan menerima buyerAndSellerReportingId. Jika buyerReportingId atau buyerAndSellerReportingId tidak ditentukan dalam konfigurasi grup minat, fungsi reportWin() akan menerima nama grup minat (interestGroupName) dari bid pemenang.
ID yang tidak dapat dipilih tidak tersedia di dalam generateBid() dan scoreAd() jika tidak digunakan bersama dengan ID pelaporan yang dapat dipilih.
ID pelaporan di grup minat
ID pelaporan ditentukan oleh pembeli untuk setiap iklan dalam grup minat:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
// buyerAndSellerReportingId goes to the buyer and seller reporting functions
buyerAndSellerReportingId: 'bsrid123',
// buyerReportingId is defined here as an example, but
// is not used due to the overwrite rules described later
buyerReportingId: 'brid123',
}]
});
Pelaporan penjual
Selama fase pelaporan penjual, nilai buyerAndSellerReportingId akan tersedia untuk reportResult():
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId // 'bsrid123'
} = browserSignals;
sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}
Sebelum tersedia di dalam reportResult(), ID akan diperiksa k-anonimitas-nya dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025). Jika tidak k-anonim, fungsi reportResult() akan tetap berjalan, tetapi nilai ID pelaporan tidak akan tersedia di dalam fungsi.
Pelaporan pembeli
Selama fase pelaporan pembeli lelang, satu ID pelaporan akan tersedia untuk reportWin(). Jika ada lebih dari satu ID pelaporan yang ditentukan dalam grup minat, aturan penggantian akan diterapkan dengan buyerAndSellerReportingId menimpa buyerReportingId:
- Jika
buyerAndSellerReportingIddanbuyerReportingIdditentukan,buyerAndSellerReportingIdakan menimpabuyerReportingId, danbuyerAndSellerReportingIdakan tersedia di dalamreportWin(). - Jika hanya
buyerReportingIdyang ditentukan,buyerReportingIdakan tersedia. - Jika
buyerAndSellerReportingIdataubuyerReportingIdtidak ditentukan,interestGroupNameakan tersedia.
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId // 'bsrid123'
} = browserSignals;
sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}
ID pelaporan yang tersedia di dalam reportWin() diperiksa untuk k-anonimitas dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025). Jika gagal dalam pemeriksaan k-anonymity, reportWin() akan tetap berjalan, tetapi nilai ID pelaporan tidak akan tersedia di dalam fungsi.
Hanya buyerReportingId yang ditentukan
Jika hanya buyerReportingId yang ditentukan dalam konfigurasi grup minat:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
buyerReportingId: 'brid123',
}]
});
Kemudian, buyerReportingId tersedia di dalam reportWin():
function reportWin(..., browserSignals, ...) {
const {
buyerReportingId, // 'brid123'
} = browserSignals;
}
Sebelum tersedia untuk reportWin(), buyerReportingId akan diperiksa k-anonymity-nya dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).
Hanya buyerAndSellerReportingId yang ditentukan
Jika hanya buyerAndSellerReportingId yang ditentukan dalam konfigurasi grup minat:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
buyerAndSellerReportingId: 'bsrid123',
}]
});
Kemudian, buyerAndSellerReportingId tersedia di dalam reportWin():
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'bsrid123'
} = browserSignals;
}
Sebelum tersedia untuk reportWin(), buyerAndSellerReportingId akan diperiksa k-anonymity-nya dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).
buyerAndSellerReportingId dan buyerReportingId ditentukan
Jika buyerAndSellerReportingId dan buyerReportingId ditentukan dalam konfigurasi grup minat:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
buyerReportingId: 'brid123',
buyerAndSellerReportingId: 'bsrid123',
}]
});
Kemudian, hanya buyerAndSellerReportingId yang tersedia di dalam reportWin() karena perilaku penggantian:
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'bsrid123'
} = browserSignals;
}
Sebelum tersedia untuk reportWin(), buyerAndSellerReportingId akan diperiksa k-anonymity-nya dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).
buyerAndSellerReportingId atau buyerReportingId tidak ditentukan
Jika tidak ada ID pelaporan yang ditentukan dalam konfigurasi grup minat:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
}]
});
Kemudian, grup minat name tersedia di dalam reportWin():
function reportWin(..., browserSignals, ...) {
const {
interestGroupName, // 'example-interest-group'
} = browserSignals;
}
Sebelum tersedia untuk reportWin(), nama grup minat (interestGroupName) akan diperiksa untuk k-anonymity dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).
ID pelaporan yang dapat dipilih
ID pelaporan yang dapat dipilih memungkinkan pembeli memilih ID selama pembuatan bid, dan browser menyediakan nilai yang dipilih untuk scoreAd() dan fungsi pelaporan. Nilai selectableBuyerAndSellerReportingIds, yang merupakan array string, diberikan ke generateBid(), dan pembeli dapat menampilkan satu ID yang dipilih sebagai selectedBuyerAndSellerReportingId.
Fungsi generateBid() dan scoreAd() akan berjalan untuk setiap iklan yang ditentukan dalam konfigurasi grup minat dan menerima ID pelaporan untuk setiap iklan. Fungsi pelaporan pembeli dan penjual hanya akan berjalan untuk iklan pemenang, dan fungsi tersebut akan menerima ID pelaporan yang ditentukan untuk iklan pemenang tersebut.
Jika ID pelaporan yang tidak dapat dipilih digunakan bersama dengan ID pelaporan yang dapat dipilih, perilakunya akan berubah dari alur kerja yang dijelaskan di bagian sebelumnya. Tidak seperti perilaku awal ID pelaporan yang tidak dapat dipilih yang hanya tersedia di dalam fungsi pelaporan, ID pelaporan yang dapat dipilih memungkinkan ID pelaporan yang tidak dapat dipilih juga tersedia di dalam generateBid() dan scoreAd().
Grup minat
Kolom ID pelaporan yang dapat dipilih - selectableBuyerAndSellerReportingIds - adalah array string yang ditentukan oleh pembeli di grup minat untuk iklan. ID pelaporan yang tidak dapat dipilih juga dapat ditentukan bersama ID pelaporan yang dapat dipilih:
navigator.joinAdInterestGroup({
owner: 'https://buyer.example',
name: 'example-interest-group',
ads: [{
renderUrl: `https://buyer.example/ad.html`,
buyerReportingId: 'brid123',
buyerAndSellerReportingId: 'bsrid123',
selectableBuyerAndSellerReportingIds: ['sbsrid1', 'sbsrid2', 'sbsrid3']
}]
});
Pembuatan bid pembeli
Jika selectableBuyerAndSellerReportingIds ditentukan dalam konfigurasi grup minat, selectableBuyerAndSellerReportingIds akan tersedia di dalam generateBid() bersama dengan ID pelaporan lainnya yang ditentukan.
function generateBid(interestGroup, ...) {
const [{
buyerReportingId, // 'brid123'
buyerAndSellerReportingId, // 'bsrid123'
selectableBuyerAndSellerReportingIds // ['sbsrid1', 'sbsrid2', 'sbsrid3']
}] = interestGroup.ads;
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'sbsrid2' // Buyer returns the selected ID
};
}
Pembeli dapat memilih salah satu ID dari array selectableBuyerAndSellerReportingIds di generateBid() dan menampilkan ID yang dipilih sebagai selectedBuyerAndSellerReportingId. Bid akan ditolak jika nilai yang dipilih tidak ada dalam array selectableBuyerAndSellerReportingIds. Jika selectableBuyerAndSellerReportingIds ditentukan dalam konfigurasi grup minat, dan pembeli tidak menampilkan selectedBuyerAndSellerReportingId dari generateBid(), ID pelaporan akan kembali ke perilaku yang dijelaskan untuk ID pelaporan yang tidak dapat dipilih.
Bid dengan nilai yang ditampilkan untuk selectedbuyerAndSellerReportingId hanya dapat memenangkan lelang jika nilai selectedbuyerAndSellerReportingId secara bersama-sama bersifat k-anonim bersama dengan buyerAndSellerReportingId (jika ada), buyerReportingId (jika ada), pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).
Penskoran iklan penjual
Untuk penjual, selectedBuyerAndSellerReportingId yang ditampilkan oleh pembeli dari generateBid() akan tersedia di scoreAd(), bersama dengan buyerAndSellerReportingId jika ditentukan dalam konfigurasi grup minat.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'bsrid123'
selectedBuyerAndSellerReportingId, // 'sbsrid2'
} = browserSignals;
// ...
}
Pelaporan penjual
Untuk pelaporan penjual, selectedBuyerAndSellerReportingId yang ditampilkan oleh pembeli dari generateBid() akan tersedia di reportResult(), bersama dengan buyerAndSellerReportingId, jika ditentukan dalam grup minat.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'bsrid123'
selectedBuyerAndSellerReportingId // 'sbsrid2'
} = browserSignals;
// ...
}
Jika selectableBuyerAndSellerReportingIds ditentukan dalam konfigurasi grup minat, dan selectedBuyerAndSellerReportingId ditampilkan dari generateBid(), selectedBuyerAndSellerReportingId tidak dapat memenangkan lelang kecuali jika selectedBuyerAndSellerReportingId dan buyerAndSellerReportingId (jika ada) bersifat k-anonim dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025), dan reportResult() tidak akan dieksekusi untuk bid tersebut. Oleh karena itu, jika reportResult() dipanggil dengan nilai untuk selectedBuyerAndSellerReportingId, artinya ID pelaporan lulus pemeriksaan k-anonimitas, dan semua ID pelaporan yang ditentukan akan tersedia di dalam reportResult().
Pelaporan pembeli
Jika selectableBuyerAndSellerReportingIds ditentukan dalam konfigurasi grup minat, dan selectedBuyerAndSellerReportingId ditampilkan dari generateBid(), semua ID pelaporan yang ditentukan dalam konfigurasi grup minat akan tersedia. Perhatikan bahwa, mirip dengan pelaporan penjual, jika ID pelaporan tidak bersifat k-anonim, ID tersebut tidak dapat memenangkan lelang dan reportWin() tidak akan berjalan untuk bid tersebut.
function reportWin(..., browserSignals, ...) {
const {
buyerReportingId, // 'brid123'
buyerAndSellerReportingId, // 'bsrid123'
selectedBuyerAndSellerReportingId // 'sbsrid2'
} = browserSignals;
// ...
}
Aturan pengganti
Di sini, kami merangkum aturan penggantian untuk ID pelaporan yang tidak dapat dipilih dan ID pelaporan yang dapat dipilih. Manakah dari selectableBuyerAndSellerReportingIds, buyerAndSellerReportingId, buyerReportingId, dan nama grup minat yang diteruskan ke reportWin() yang ditentukan oleh browser dengan logika berikut:
- Jika
selectedBuyerAndSellerReportingIdditampilkan dari bid,selectedBuyerAndSellerReportingId,buyerAndSellerReportingId(jika ditentukan dalam grup minat), danbuyerReportingId(jika ditentukan dalam grup minat) semuanya tersedia untuk pelaporan. - Jika tidak, jika
buyerAndSellerReportingIdditentukan dalam grup minat, hanyabuyerAndSellerReportingIdyang tersedia untuk pelaporan. - Jika tidak, jika
buyerReportingIdditentukan dalam grup minat, hanyabuyerReportingIdyang tersedia untuk pelaporan. - Jika tidak, hanya grup minat
nameyang tersedia untuk pelaporan.
Tabel berikut menjelaskan perilaku penggantian:
| Apakah ID pelaporan ditentukan dalam konfigurasi grup minat? | ID pelaporan tersedia | |||
selectableBuyerAnd
|
buyerAndSeller
|
buyerReportingId
|
reportWin()
|
reportResult()
|
| Ya, dan memilih di generateBid()
|
Opsional | Opsional |
1) selectedBuyerAnd2) buyerAndSeller (jika ditentukan)3) buyerReportingId (jika ditentukan)
|
1) selectedBuyerAnd2) buyerAndSeller (jika ditentukan) |
| Tidak, atau tidak dipilih di generateBid() |
Ya | Diabaikan | buyerAndSeller |
buyerAndSeller |
| Tidak, atau tidak dipilih di generateBid() |
Tidak | Ya | buyerReportingId |
Tidak ada |
| Tidak, atau tidak dipilih di generateBid() |
Tidak | Tidak | interestGroupName |
Tidak ada |
Berinteraksi dan memberikan masukan
- Untuk mempelajari ID pelaporan lebih lanjut, lihat bagian ID Pelaporan dalam penjelasan Protected Audience.
- GitHub: Ajukan pertanyaan dan ikuti diskusi dalam masalah di repositori API.
- W3C: Diskusikan kasus penggunaan industri dalam panggilan WICG.
- Pengumuman: Bergabung atau melihat daftar email.
- Dukungan developer Privacy Sandbox: Ajukan pertanyaan dan bergabunglah dalam diskusi di repositori Dukungan Developer Privacy Sandbox.
- Chromium: Laporkan bug Chromium untuk mengajukan pertanyaan tentang penerapan yang tersedia untuk diuji di Chrome.