Mengukur jangkauan frekuensi K+

Terkadang disebut sebagai "frekuensi efektif", sering kali ada jumlah penayangan minimum 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.

Shared Storage API adalah proposal Privacy Sandbox untuk penyimpanan lintas situs tujuan umum, yang mendukung banyak kemungkinan kasus penggunaan. Private Aggregation API adalah output yang tersedia di Shared Storage yang memungkinkan Anda menggabungkan data lintas situs.

Mencoba pengukuran frekuensi K+

Untuk bereksperimen dengan pengukuran frekuensi K+ dengan Penyimpanan Bersama dan Agregasi Pribadi, pastikan Anda menggunakan Chrome M107 atau yang lebih baru. Aktifkan semua API Privasi iklan di bagian chrome://settings/adPrivacy.

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

Bereksperimen dengan contoh kode

Anda mungkin ingin mengukur jumlah pengguna yang telah melihat konten Anda K kali atau lebih dari klien tertentu di berbagai situs. Dalam contoh ini, jumlah tayangan ditambahkan ke penyimpanan bersama yang bertambah 1 setiap kali konten dimuat. Saat jumlah tayangan iklan mencapai 3, Private Aggregation API akan dipanggil. Dimensi ID konten dienkode sebagai kunci agregasi, dan jumlah digunakan sebagai nilai agregat. Laporan ringkasan akan memberikan informasi seperti "Sekitar 391 pengguna telah melihat ID kampanye iklan 123 setidaknya 3 kali".

Dalam contoh ini:

k-frequency-measurement.js

async function injectContent() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('k-freq-measurement-worklet.js');

  // Run the K-frequency measurement operation
  await window.sharedStorage.run('k-freq-measurement', { data: { kFreq: 3, contentId: 123 });
}

injectContent();

kuency-measurement-worklet.js

// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;

/**
 * The bucket key must be a number, and in this case, it is just the content
 * ID itself. For more complex bucket key construction, see other use cases in
 * this demo.
 */
function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class KFreqMeasurementOperation {
  async run(data) {
    const { kFreq, contentId } = data;

    // Read from Shared Storage
    const hasReportedContentKey = 'has-reported-content';
    const impressionCountKey = 'impression-count';
    const hasReportedContent = (await sharedStorage.get(hasReportedContentKey)) === 'true';
    const impressionCount = parseInt((await sharedStorage.get(impressionCountKey)) || 0);

    // Don't report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

    // Check impression count against frequency limit
    if (impressionCount < kFreq) {
      await sharedStorage.set(impressionCountKey, impressionCount + 1);
      return;
    }

    // Generate the aggregation key and the aggregatable value
    const bucket = convertContentIdToBucket(contentId);
    const value = 1 * SCALE_FACTOR;

    // Send an aggregatable report using the Private Aggregation API
    privateAggregation.contributeToHistogram({ bucket, value });

    // Set the report submission status flag
    await sharedStorage.set(hasReportedContentKey, 'true');
  }
}

// Register the operation

register('k-freq-measurement', KFreqMeasurementOperation); \

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?