Molti produttori e inserzionisti di contenuti vogliono sapere quante persone uniche hanno visto i loro contenuti. Utilizza lo spazio di archiviazione condiviso per registrare la prima volta che un utente ha visualizzato il tuo annuncio, il tuo video incorporato o la tua pubblicazione e per evitare un conteggio duplicato dello stesso utente su siti diversi. Puoi quindi utilizzare l'API Private Aggregation per generare un report di riepilogo sulla tua copertura.
L'API Shared Storage è una proposta Privacy Sandbox per l'archiviazione tra siti per uso generico, che supporta molti casi d'uso possibili. L'API Private Aggregation è un output disponibile in Shared Storage che ti consente di aggregare i dati tra siti.
Prova la misurazione della copertura unica
Per sperimentare la misurazione della unique reach con lo spazio di archiviazione condiviso e l'aggregazione privata, verifica di utilizzare Chrome M107 o versioni successive. Attiva poi il flag Esperimento API annunci Privacy Sandbox all'indirizzo chrome://flags/#privacy-sandbox-ads-apis
.
Puoi anche attivare l'archiviazione condivisa con il flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
nella riga di comando.
Sperimenta con gli esempi di codice
Ti consigliamo di tenere traccia di quanti utenti unici hanno visto i tuoi contenuti sui vari siti. In questo esempio, la dimensione Content ID è codificata nella chiave di aggregazione (bucket) e il conteggio viene utilizzato come valore aggregabile. Il report di riepilogo conterrà informazioni come "Circa 391 utenti hanno visto l'ID contenuto 123".
In questo esempio:
* unique-reach-measurement.js
viene caricato tramite un frame ed è responsabile del caricamento del worklet dello spazio di archiviazione condiviso.
* unique-reach-measurement-worklet.js
è il worklet dello spazio di archiviazione condiviso che verifica il flag nello spazio di archiviazione condiviso e invia un report tramite l'API Private Aggregation.
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 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.sendHistogramReport({ bucket, value });
// Set the report submission status flag
await this.sharedStorage.set(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
Interagisci e condividi il tuo feedback
La proposta di spazio di archiviazione condiviso è in fase di discussione attiva e soggetta a modifiche in futuro. Se provi questa API e hai un feedback, ci farebbe piacere conoscere la tua opinione.
- GitHub: leggi la proposta, solleva le domande e partecipa alla discussione.
- Annunci relativi all'API Shared Storage: visualizza o partecipa agli annunci precedenti nella nostra mailing list
- Assistenza per gli sviluppatori: poni domande e partecipa alle discussioni sul repository dell'assistenza per gli sviluppatori di Privacy Sandbox.