Pilih materi iklan berdasarkan frekuensi

Jalankan worklet Penyimpanan Bersama untuk memilih URL dan merendernya dalam frame dengan fence.

Shared Storage API adalah informasi Proposal sandbox untuk tujuan umum, penyimpanan lintas situs, yang mendukung banyak yang mungkin terjadi. Salah satu contohnya adalah kontrol frekuensi, yang tersedia untuk uji di Chrome Beta 104.0.5086.0 dan yang lebih baru.

Jalankan skrip worklet untuk memilih URL dari daftar yang disediakan, berdasarkan skrip data, lalu merender URL tersebut dalam {i>frame<i} dengan fence. Ini dapat digunakan untuk memilih iklan baru atau konten lain saat batas frekuensi telah tercapai.

Menguji pemilihan materi iklan menurut frekuensi

Untuk menguji pemilihan materi iklan menurut frekuensi dengan Penyimpanan Bersama dan Bingkai Berpagar, konfirmasi bahwa Anda menggunakan Chrome 104.0.5086.0 atau yang lebih baru. Aktifkan semua API privasi iklan di chrome://settings/adPrivacy.

Anda juga dapat mengaktifkan Shared Storage 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. Class worklet menerima daftar hingga delapan URL, lalu mengembalikan indeks URL yang dipilih.

Saat klien memanggil sharedStorage.selectURL(), worklet dieksekusi dan menampilkan URL buram untuk dirender ke frame dengan fence.

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

Kemudian, worklet penyimpanan bersama akan membaca nilai dalam penyimpanan bersama, dan menambahkan penghitung dengan setiap tampilan tambahan. Jika hitungan 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 produsen konten atau pengiklan, dan bertanggung jawab untuk memuat worklet penyimpanan bersama, dan merender objek buram yang ditampilkan sumber ke dalam {i>frame<i} dengan {i>fence<i}.
  • creative-selection-by-frequency-worklet.js adalah worklet penyimpanan bersama yang membaca penghitungan 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 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 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 situs yang berbeda dalam bingkai berpagar berdasarkan informasi yang dikumpulkan di Penyimpanan Bersama. Gate output untuk kasus penggunaan ini adalah pemilihan URL.

  • Rotasi materi iklan: Menyimpan data, seperti ID materi iklan, jumlah penayangan, dan interaksi pengguna, untuk menentukan materi iklan 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: Membagikan konten kustom dan pesan ajakan (CTA) berdasarkan status pendaftaran pengguna atau status pengguna lainnya

Membuat laporan ringkasan

Mengumpulkan informasi dengan Penyimpanan Bersama dan membuat laporan ringkasan gabungan yang berisi banyak derau. Gate output untuk kasus penggunaan ini adalah Private Aggregation API.

  • Pengukuran jangkauan unik: Banyak produsen 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 ganda pengguna yang sama di situs yang berbeda. Kemudian, Anda dapat menggunakan Private Aggregation API untuk menghasilkan laporan ringkasan jangkauan.
  • Pengukuran demografi: Produser konten sering kali ingin memahami demografi penontonnya. Anda dapat menggunakan Penyimpanan Bersama untuk mencatat data demografi pengguna dalam konteks tempat Anda memilikinya, seperti situs pihak pertama, dan menggunakan pelaporan agregat untuk melaporkannya di banyak situs lain, seperti konten tersemat.
  • Pengukuran frekuensi K+: Terkadang digambarkan sebagai "frekuensi efektif", sering kali ada jumlah minimum tayangan sebelum pengguna mengenali atau mengingat konten tertentu (sering kali dalam konteks penayangan iklan). Anda dapat menggunakan Penyimpanan Bersama untuk membuat laporan pengguna unik yang telah melihat konten setidaknya sebanyak K kali.

Berinteraksi dan memberikan masukan

Perhatikan bahwa proposal Shared Storage API sedang dalam diskusi dan pengembangan aktif, sehingga dapat berubah sewaktu-waktu.

Kami ingin sekali mendengar pendapat Anda tentang Shared Storage API.

Mendapatkan Info Terbaru

  • Daftar Email: Berlangganan ke daftar email kami untuk mendapatkan info terbaru dan pengumuman terkait Shared Storage API.

Perlu Bantuan?