Banyak produsen konten dan pengiklan ingin mengetahui jumlah orang unik yang melihat konten mereka. Gunakan Shared Storage untuk mencatat saat pertama kali pengguna melihat iklan, video tersemat, atau publikasi Anda, dan mencegah penghitungan duplikat pengguna yang sama di situs yang berbeda. Kemudian, Anda dapat menggunakan Private Aggregation API untuk menghasilkan laporan ringkasan jangkauan.
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. Untuk mempelajari lebih lanjut metode untuk menerapkan pengukuran ini, lihat laporan resmi jangkauan kami.
Mencoba pengukuran jangkauan unik
Untuk bereksperimen dengan pengukuran jangkauan unik dengan Shared Storage dan Private Aggregation, 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 melacak jumlah pengguna unik yang telah melihat konten Anda di berbagai situs. Dalam contoh ini, dimensi ID konten dienkode ke dalam kunci agregasi (bucket), dan jumlah digunakan sebagai nilai agregat. Laporan ringkasan akan berisi informasi seperti "Sekitar 391 pengguna telah melihat ID konten 123".
Dalam contoh ini:
unique-reach-measurement.js
dimuat menggunakan 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 menggunakan Private Aggregation API.
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();
// 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 sharedStorage.get(key)) === 'true';
// Don't 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 using the Private Aggregation API
privateAggregation.contributeToHistogram({ bucket, value });
// Set the report submission status flag
await sharedStorage.set(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
Engage and share feedback
Note that the Shared Storage API proposal is under active discussion and development and therefore subject to change.
We're eager to hear your thoughts on the Shared Storage API.
- Proposal: Review the detailed proposal.
- Discussion: Join the ongoing discussion to ask questions and share your insights.
Stay Informed
- Mailing List: Subscribe to our mailing list for the latest updates and announcements related to the Shared Storage API.
Need Help?
- Developer Support: Connect with other developers and get answers to your questions in the Privacy Sandbox Developer Support repository.