Mesure de la couverture unique

De nombreux créateurs de contenus et annonceurs souhaitent savoir combien de personnes uniques 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, afin d'éviter qu'il soit comptabilisé deux fois sur différents sites. Vous pouvez ensuite utiliser l'API Private Aggregation pour générer un rapport récapitulatif pour votre couverture.

L'API Shared Storage est une proposition de la Privacy Sandbox destinée au stockage intersites à usage général, qui prend en charge de nombreux cas d'utilisation possibles. L'API Private Aggregation est une sortie disponible dans le stockage partagé qui vous permet d'agréger des données intersites.

Essayer la mesure de la couverture unique

Pour tester la mesure de la couverture unique avec le stockage partagé et l'agrégation privée, vérifiez que vous utilisez Chrome M107 ou une version ultérieure. Activez ensuite l'indicateur Test des API Privacy Sandbox Ads dans chrome://flags/#privacy-sandbox-ads-apis.

Activer le test des API Privacy Sandbox Ads pour utiliser ces API

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 souhaiter connaître le 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'ID de contenu 123".

Dans cet exemple : * unique-reach-measurement.js est chargé via un frame et chargé de charger le 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.

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.sendHistogramReport({ bucket, value });

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

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

Interagir et partager des commentaires

La proposition de stockage partagé fait l'objet d'une discussion active et est susceptible d'être modifiée à l'avenir. Si vous essayez cette API et que vous avez des commentaires, n'hésitez pas à nous en faire part.