ID Pelaporan

Mempelajari cara kerja ID pelaporan dalam lelang Protected Audience

Ringkasan

ID pelaporan adalah ID yang terkait dengan iklan yang tersedia untuk digunakan dalam membuat bid, memberi skor pada bid, dan pelaporan. ID pelaporan disediakan oleh pembeli dalam konfigurasi grup minat, dan ID tersebut 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 penawaran.

ID pelaporan tersedia untuk fungsi pembeli dan penjual Protected Audience
Ketersediaan ID pelaporan

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, bergantung pada apakah ID pelaporan yang dapat dipilih digunakan. Jika hanya ID pelaporan yang tidak dapat dipilih yang digunakan, ID tersebut hanya 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 akan tersedia di dalam generateBid() dan scoreAd() juga.

ID pelaporan yang tidak dapat dipilih

ID pelaporan tersedia untuk fungsi pembeli dan penjual Protected Audience
Ketersediaan ID pelaporan yang dapat dipilih

buyerReportingId dan buyerAndSellerReportingId adalah ID pelaporan yang tidak dapat dipilih dan ditentukan dalam konfigurasi grup minat yang tersedia dalam fungsi pelaporan pembeli dan penjual. Fungsi pelaporan pembeli dan penjual hanya akan berjalan untuk iklan pemenang, dan fungsi 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 penimpaan, dan fungsi pelaporan penjual akan menerima buyerAndSellerReportingId. Jika buyerReportingId maupun buyerAndSellerReportingId tidak ditentukan dalam konfigurasi grup minat, fungsi reportWin() akan menerima nama grup minat (interestGroupName) dari bid yang menang.

ID yang tidak dapat dipilih tidak tersedia di dalam generateBid() dan scoreAd() jika tidak digunakan bersama dengan ID pelaporan yang dapat dipilih.

ID pelaporan dalam 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 ID tersedia di dalam reportResult(), ID tersebut diperiksa k-anonimitasnya 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 dalam lelang, satu ID pelaporan tersedia untuk reportWin(). Jika lebih dari satu ID pelaporan ditentukan dalam grup minat, aturan penggantian akan diterapkan dengan buyerAndSellerReportingId menggantikan buyerReportingId:

  • Jika buyerAndSellerReportingId dan buyerReportingId ditentukan, buyerAndSellerReportingId akan menggantikan buyerReportingId, dan buyerAndSellerReportingId akan tersedia di dalam reportWin().
  • Jika hanya buyerReportingId yang ditentukan, maka buyerReportingId akan tersedia.
  • Jika buyerAndSellerReportingId maupun buyerReportingId tidak ditentukan, interestGroupName akan tersedia.
function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

  sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}

ID pelaporan yang tersedia di dalam reportWin() diperiksa k-anonimitasnya 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-anonimitas, 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 diperiksa k-anonimitasnya 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 diperiksa k-anonimitasnya 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 penimpaan:

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
  } = browserSignals;
}

Sebelum tersedia untuk reportWin(), buyerAndSellerReportingId diperiksa k-anonimitasnya dengan pemilik grup minat, URL skrip bidding, URL render, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).

buyerAndSellerReportingId maupun 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) diperiksa k-anonimitasnya 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 tersedia untuk fungsi pembeli dan penjual Protected Audience
Ketersediaan ID pelaporan dengan ID pelaporan yang dapat dipilih

ID pelaporan yang dapat dipilih memungkinkan pembeli memilih ID selama pembuatan bid, dan browser membuat nilai yang dipilih tersedia untuk fungsi scoreAd() dan 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 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 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 dalam grup minat untuk iklan. ID pelaporan yang tidak dapat dipilih juga dapat ditentukan bersama dengan 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, maka ID tersebut akan tersedia di dalam generateBid() bersama dengan ID pelaporan lain 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 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 bersama-sama k-anonim dengan buyerAndSellerReportingId (jika ada), buyerReportingId (jika ada), pemilik grup minat, URL skrip bidding, URL rendering, dan ukuran iklan (ukuran iklan dikecualikan dari pemeriksaan ini hingga setidaknya Kuartal 1 2025).

Pemberian skor iklan penjual

Bagi penjual, selectedBuyerAndSellerReportingId yang dikembalikan 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(), maka bid tidak dapat memenangkan lelang kecuali jika selectedBuyerAndSellerReportingId dan buyerAndSellerReportingId (jika ada) bersifat k-anonim dengan pemilik grup minat, URL skrip bidding, URL rendering, 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 seperti pelaporan penjual, jika ID pelaporan tidak anonim-k, 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 penggantian

Di sini kami merangkum aturan penggantian untuk ID pelaporan yang tidak dapat dipilih dan ID pelaporan yang dapat dipilih. selectableBuyerAndSellerReportingIds, buyerAndSellerReportingId, buyerReportingId, dan nama grup minat mana yang diteruskan ke reportWin() ditentukan oleh browser dengan logika berikut:

  • Jika selectedBuyerAndSellerReportingId ditampilkan dari bid, maka selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (jika ditentukan dalam grup minat), dan buyerReportingId (jika ditentukan dalam grup minat) semuanya tersedia untuk pelaporan.
  • Jika tidak, jika buyerAndSellerReportingId ditentukan dalam grup minat, hanya buyerAndSellerReportingId yang tersedia untuk pelaporan.
  • Jika tidak, jika buyerReportingId ditentukan dalam grup minat, hanya buyerReportingId yang tersedia untuk pelaporan.
  • Jika tidak, hanya grup minat name yang tersedia untuk pelaporan.

Tabel berikut menjelaskan perilaku penimpaan:

Apakah ID pelaporan ditentukan dalam konfigurasi grup minat? ID pelaporan yang tersedia
selectableBuyerAnd
SellerReportingIds
buyerAndSeller
ReportingId
buyerReportingId reportWin() reportResult()
Ya, dan memilih
di generateBid()
Opsional Opsional 1) selectedBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(jika ditentukan)

3) buyerReportingId (jika ditentukan)
1) selectedBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(jika ditentukan)

Tidak, atau tidak dipilih
di generateBid()
Ya Diabaikan buyerAndSeller
ReportingId
buyerAndSeller
ReportingId
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