De nombreux producteurs et annonceurs souhaitent connaître le nombre de personnes uniques qui ont vu leur contenu. Utilisez le stockage partagé pour enregistrer la première fois qu'un utilisateur a vu votre annonce, votre vidéo intégrée ou votre publication, et ainsi éviter de comptabiliser deux fois un même utilisateur sur différents sites. Vous pouvez ensuite générer un rapport récapitulatif sur votre audience à l'aide de l'API Private Aggregation.
L'API Shared Storage est un service Proposition de bac à sable pour le stockage intersites à usage général, cas d'utilisation possibles. L'API Private Aggregation est une sortie disponible dans Shared Storage qui vous permet d'agréger des données intersites. Pour en savoir plus sur les méthodes d'implémentation de ces mesures, consultez notre livre blanc sur la couverture.
Essayez la mesure de la Unique Reach
Pour tester la mesure de la Unique Reach avec Shared Storage et Private Aggregation, vérifiez que vous utilisez Chrome M107 ou une version ultérieure. Activez toutes les API Ad Privacy sous chrome://settings/adPrivacy
.
Vous pouvez également activer le stockage partagé à l'aide de l'option --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
dans la ligne de commande.
Tester des exemples de code
Vous pouvez effectuer le suivi du nombre d'utilisateurs uniques ayant consulté votre contenu sur différents sites. Dans cet exemple, la dimension Content ID est encodée dans la clé d'agrégation (bucket), et le nombre est utilisé comme valeur agrégable. Le rapport récapitulatif contient des informations telles que "Environ 391 utilisateurs ont vu l'identifiant de contenu 123".
Dans cet exemple:
* unique-reach-measurement.js
est chargé via un frame et est responsable du chargement du Worklet de stockage partagé.
* unique-reach-measurement-worklet.js
est le Worklet de stockage partagé qui vérifie l'indicateur dans le stockage partagé et envoie un rapport via 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 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 sharedStorage.set(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
Engage and share feedback
The Shared Storage proposal is under active discussion and subject to change in the future. If you try this API and have feedback, we'd love to hear it.
- GitHub: Read the proposal, reach whitepaper, raise questions and participate in discussion.
- Shared Storage API announcements: Join or view past announcements on our mailing list
- Developer support: Ask questions and join discussions on the Privacy Sandbox Developer Support repo.