Pilih materi iklan berdasarkan frekuensi

Jalankan worklet Shared Storage untuk memilih URL dan merendernya dalam frame dengan fence.

Shared Storage API adalah proposal Privacy Sandbox untuk penyimpanan lintas situs tujuan umum, yang mendukung banyak kemungkinan kasus penggunaan. Salah satu contohnya adalah kontrol frekuensi, yang tersedia untuk diuji di Chrome Beta 104.0.5086.0 dan yang lebih baru.

Jalankan skrip worklet untuk memilih URL dari daftar yang disediakan, berdasarkan data yang disimpan, lalu render URL tersebut dalam frame dengan fence. Metode ini dapat digunakan untuk memilih iklan baru atau konten lainnya jika batas frekuensi telah tercapai.

Uji pemilihan materi iklan menurut frekuensi

Untuk menguji pilihan materi iklan berdasarkan frekuensi dengan Penyimpanan Bersama dan Bingkai dengan Fence, pastikan Anda menggunakan Chrome 104.0.5086.0 atau yang lebih baru. Kemudian, aktifkan tanda Eksperimen Privacy Sandbox Ads API di chrome://flags/#privacy-sandbox-ads-apis.

Setel eksperimen Privacy Sandbox Ads API ke aktif untuk menggunakan API ini

Anda juga dapat mengaktifkan Penyimpanan Bersama dengan tanda --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames di command line.

Bereksperimen dengan contoh kode

Untuk memilih dan membuat URL buram, daftarkan modul worklet untuk membaca data penyimpanan bersama. Class worklet menerima daftar hingga delapan URL, lalu menampilkan indeks URL yang dipilih.

Saat klien memanggil sharedStorage.selectURL(), worklet akan dijalankan dan menampilkan URL buram untuk dirender menjadi frame dengan fence.

Misalnya, Anda ingin memilih iklan atau konten yang berbeda untuk dirender berdasarkan frekuensi pengguna pernah melihatnya sebelumnya. Anda dapat menghitung berapa kali pengguna melihat konten, dan menyimpan nilai tersebut di penyimpanan bersama. Setelah disimpan, nilai dalam penyimpanan bersama akan tersedia untuk Anda di berbagai asal.

Kemudian, worklet penyimpanan bersama membaca nilai dalam penyimpanan bersama, dan menambahkan penghitung dengan setiap tampilan tambahan. Jika jumlah belum mencapai batas yang telah ditentukan, konten yang ingin Anda render akan ditampilkan (indeks 1). Jika tidak, URL default akan ditampilkan (indeks 0).

Dalam contoh ini:

  • creative-selection-by-frequencyjs dimuat melalui iframe pembuat konten atau pengiklan, dan bertanggung jawab untuk memuat worklet penyimpanan bersama, dan merender sumber buram yang ditampilkan ke dalam frame dengan fence.
  • creative-selection-by-frequency-worklet.js adalah worklet penyimpanan bersama yang membaca jumlah frekuensi untuk menentukan URL mana yang ditampilkan untuk konten atau materi iklan.

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await this.sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await this.sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

Kasus penggunaan

Ini hanyalah beberapa kemungkinan kasus penggunaan untuk Penyimpanan Bersama. Kami akan terus menambahkan contoh saat menerima masukan dan menemukan kasus penggunaan baru.

Pemilihan konten

Pilih dan tampilkan konten yang berbeda di berbagai situs dalam frame dengan fence berdasarkan informasi yang dikumpulkan di Penyimpanan Bersama. Gate output untuk kasus penggunaan ini adalah pemilihan URL.

  • Rotasi materi iklan: Simpan data, seperti ID materi iklan, jumlah penayangan, dan interaksi pengguna, untuk menentukan materi iklan mana yang dilihat pengguna di berbagai situs.
  • Pengujian A/B: Anda dapat menetapkan pengguna ke grup eksperimen, lalu menyimpan grup tersebut di Penyimpanan Bersama untuk diakses lintas situs.
  • Pengalaman pengguna kustom: Bagikan konten kustom dan pesan ajakan (CTA) berdasarkan status pendaftaran pengguna atau status pengguna lainnya

Membuat laporan ringkasan

Kumpulkan informasi dengan Penyimpanan Bersama dan buat laporan ringkasan gabungan yang berisi banyak hal. Gate output untuk kasus penggunaan ini adalah Private Aggregation API.

  • Pengukuran jangkauan unik: Banyak produser konten dan pengiklan ingin mengetahui jumlah orang unik yang melihat konten mereka. Gunakan Penyimpanan Bersama untuk mencatat saat pertama kali pengguna melihat iklan, video tersemat, atau publikasi Anda, dan mencegah penghitungan duplikat pengguna yang sama tersebut di situs yang berbeda. Anda kemudian dapat menggunakan Private Aggregation API untuk menghasilkan laporan ringkasan jangkauan.
  • Pengukuran demografi: Produser konten sering kali ingin memahami demografi audiens mereka. Anda dapat menggunakan Penyimpanan Bersama untuk mencatat data demografis pengguna dalam konteks tempat Anda memilikinya, seperti situs pihak pertama, dan menggunakan pelaporan gabungan untuk melaporkannya di banyak situs lain, seperti konten yang disematkan.
  • Pengukuran frekuensi K+: Terkadang dijelaskan sebagai "frekuensi efektif", sering kali ada jumlah penayangan minimum sebelum pengguna mengenali atau mengingat konten tertentu (sering kali dalam konteks tampilan iklan). Anda dapat menggunakan Penyimpanan Bersama untuk membuat laporan tentang pengguna unik yang telah melihat konten setidaknya K beberapa kali.

Berinteraksi dan berbagi masukan

Proposal Penyimpanan Bersama sedang dalam diskusi aktif dan dapat berubah pada masa mendatang. Jika Anda mencoba API ini dan memiliki masukan, sampaikanlah kepada kami.