Menerapkan transaksi, yang juga dikenal sebagai Marketplace Pribadi (PMP), dalam lelang Protected Audience
Ringkasan
Transaksi, yang juga disebut sebagai Marketplace Pribadi (PMP), menawarkan akses pilihan atau harga pilihan bagi pembeli pada sebagian inventaris. Untuk memfasilitasi transaksi terprogram, ID slot dan ID transaksi digunakan:
- ID slot berasal dari pembeli, dan merupakan ID yang mewakili pelanggan pembeli. ID tempat mungkin memiliki implikasi penagihan, misalnya, jika kursi memiliki diskon dengan penjual tertentu.
- ID transaksi berasal dari pembeli atau penjual, dan merupakan ID yang mewakili kesepakatan antara pembeli dan penjual. ID transaksi dapat memiliki properti seperti biaya/harga, komitmen volume, informasi audiens, eksklusivitas, dan lainnya.
Protected Audience memfasilitasi transaksi dengan menggunakan ID pelaporan yang memungkinkan ID slot dan transaksi tersedia untuk bidding, penskoran, dan pelaporan lelang. ID pelaporan memberikan mekanisme bagi perusahaan teknologi iklan untuk menerima ID slot dan transaksi ini dalam pelaporan Protected Audience pasca-lelang untuk melakukan transaksi dan mengatur upaya penagihan. Kami berharap pembeli, penjual, agensi, dan pengiklan memiliki strategi khusus untuk menafsirkan dan memahami ID transaksi dan slot yang mereka terima.
Panduan
Langkah-langkah untuk memfasilitasi transaksi dalam lelang Protected Audience adalah sebagai berikut:
- Pembeli mendaftarkan transaksi dan ID slot di konfigurasi grup minat sebelum lelang berjalan
- ID transaksi dan slot dapat ditetapkan di kolom ID pelaporan yang dapat dipilih (
selectableBuyerAndSellerReportingIds
). - Jika ID kursi sama untuk semua transaksi, ID kursi tersebut dapat ditetapkan di
buyerAndSellerReportingId
, dan ID transaksi dapat ditetapkan di kolom ID pelaporan yang dapat dipilih (selectableBuyerAndSellerReportingIds
).
- ID transaksi dan slot dapat ditetapkan di kolom ID pelaporan yang dapat dipilih (
- Selama pembuatan bid, ID slot dan transaksi akan tersedia. Pembeli memilih ID transaksi dari
selectableBuyerAndSellerReportingIds
. Pembeli membuat bid yang menyertakan ID transaksi yang terkait dengan bid tersebut dengan menampilkanselectedBuyerAndSellerReportingId
. Bid hanya dapat memenangkan lelang jika ID transaksi yang ditampilkan bersifat k-anonim bersama dengan ID pelaporan lainnya dan properti tertentu dari grup minat. - Selama penskoran iklan, ID transaksi dan ID slot yang dipilih tersedia untuk penjual.
- ID slot dan transaksi tersedia di fungsi pelaporan penjual.
- ID slot dan transaksi tersedia di fungsi pelaporan pembeli.
1. Pendaftaran ID transaksi dan slot
Pembeli mendaftarkan transaksi dan ID slot di konfigurasi grup minat sebelum lelang berjalan. Transaksi dan ID slot ditetapkan dalam selectableBuyerAndSellerReportingIds
sebagai array string. Jika ID slot sama untuk semua transaksi, dan tidak perlu diulang, ID slot dapat ditambahkan di kolom buyerAndSellerReportingId
yang menerima string:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerAndReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
Jika ID slot berbeda untuk transaksi, penyiapan berikut dapat digunakan:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
2. ID transaksi dan slot untuk pembeli selama pembuatan bid
Selama pembuatan bid, pembeli memutuskan apakah mereka ingin mengajukan bid pada sebuah ID transaksi. Di generateBid()
, pembeli dapat memilih ID transaksi dari selectableBuyerAndSellerReportingIds
, dan menampilkan nilai sebagai selectedBuyerAndSellerReportingId
. Bid ditolak jika ID transaksi yang dipilih tidak ada dalam array selectableBuyerAndSellerReportingIds
.
function generateBid(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
Bidding 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).
Meskipun selectablebuyerAndSellerReportingIds
ditentukan dalam konfigurasi grup minat, generateBid()
tetap dapat menampilkan bid yang tidak menyertakan selectedbuyerAndSellerReportingId
; dalam hal ini, ID pelaporan yang diberikan ke fungsi pelaporan jika bid ini menang akan mengikuti perilaku ID pelaporan yang tidak dapat dipilih.
Jika generateBid()
dijalankan kembali karena panggilan awal tidak menghasilkan bid dengan iklan yang lulus pemeriksaan k-anonymity, selectableBuyerAndSellerReportingIds
yang tidak lulus pemeriksaan k-anonymity tidak akan ada dalam grup minat saat dijalankan ulang.
3. ID transaksi dan slot untuk penjual selama penskoran iklan
ID transaksi yang dipilih, beserta ID slot jika ada, dapat diakses oleh scoreAd()
. Penjual memberikan skor keinginan dari bid yang menang dengan mempertimbangkan ID transaksi dan persyaratan khusus apa pun. Jika penjual tidak menganggap ID transaksi yang dipilih pembeli berlaku, penjual menolak bid dengan memberikan skor keinginan nol atau negatif.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. ID transaksi dan slot untuk pelaporan penjual
Ingat bahwa bid hanya dapat memenangkan lelang jika selectedBuyerAndSellerReportingId
, buyerAndSellerReportingId
(jika ada), dan buyerReportingId
(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 K1 2025). Dengan demikian, nilai ID pelaporan yang menyertakan selectedBuyerAndSellerReportingId
akan selalu tersedia di dalam reportResult()
. Perhatikan bahwa meskipun buyerReportingId
diperiksa untuk k-anonymity, nilainya hanya tersedia untuk fungsi pelaporan pembeli, dan bukan fungsi pelaporan penjual di sini.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. ID transaksi dan ID slot untuk pelaporan pembeli
Konsep yang sama dari pelaporan penjual berlaku untuk pelaporan pembeli. Ingat bahwa bid hanya dapat memenangkan lelang jika selectedBuyerAndSellerReportingId
, buyerAndSellerReportingId
(jika ada), dan buyerReportingId
(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 K1 2025). Dengan demikian, nilai ID pelaporan yang menyertakan selectedBuyerAndSellerReportingId
akan selalu tersedia di dalam reportWin()
.
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
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: Bergabunglah atau lihat milis.
- Dukungan developer Privacy Sandbox: Ajukan pertanyaan dan ikuti diskusi di repositori Dukungan Developer Privacy Sandbox.
- Chromium: Laporkan bug Chromium untuk mengajukan pertanyaan tentang implementasi yang tersedia untuk diuji di Chrome.