Pengukuran jangkauan unik

Banyak produser dan pengiklan konten ingin mengetahui jumlah pengguna unik yang melihat konten mereka. Gunakan Penyimpanan Bersama untuk merekam saat pertama kali pengguna melihat iklan, video yang disematkan, atau publikasi, dan mencegah penghitungan duplikat pengguna yang sama tersebut di situs berbeda. Kemudian, Anda dapat menggunakan Private Aggregation API guna menghasilkan laporan ringkasan untuk jangkauan Anda.

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 untuk menggabungkan data lintas situs.

Coba pengukuran jangkauan unik

Untuk bereksperimen dengan pengukuran jangkauan unik dengan Penyimpanan Bersama dan Agregasi Pribadi, pastikan Anda menggunakan Chrome M107 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

Anda mungkin ingin melacak jumlah pengguna unik yang telah melihat konten Anda di berbagai situs. Dalam contoh ini, dimensi ID konten dienkode ke kunci agregasi (bucket), dan jumlahnya digunakan sebagai nilai agregat. Laporan ringkasan akan berisi informasi seperti "Sekitar 391 pengguna telah melihat Content ID 123".

Dalam contoh ini: * unique-reach-measurement.js dimuat melalui frame, dan bertanggung jawab untuk memuat worklet penyimpanan bersama. * unique-reach-measurement-worklet.js adalah worklet penyimpanan bersama yang memeriksa tanda di penyimpanan bersama dan mengirim laporan melalui Private Aggregation API.

reach-measurement.js

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

  // Run the reach measurement operation
  await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } });
}

measureUniqueReach();

reach-measurement-worklet.js

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

function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class ReachMeasurementOperation {
  async run(data) {
    const { contentId } = data;

    // Read from Shared Storage
    const key = 'has-reported-content';
    const hasReportedContent = (await this.sharedStorage.get(key)) === 'true';

    // Do not report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

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

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

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

// Register the operation
register('reach-measurement', ReachMeasurementOperation);

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.