Sélectionner une création par fréquence

Exécutez un Worklet de stockage partagé pour sélectionner une URL et l'afficher dans un cadre cloisonné.

L'API Shared Storage est une proposition de la Privacy Sandbox destinée au stockage intersites à usage général, compatible avec de nombreux cas d'utilisation possibles. C'est par exemple le cas du contrôle de la fréquence, qui peut être testé dans la version bêta 104.0.5086.0 de Chrome et les versions ultérieures.

Exécutez un script de Worklet pour sélectionner une URL dans une liste fournie, en fonction des données stockées, puis affichez cette URL dans un frame cloisonné. Cela permet de sélectionner de nouvelles annonces ou d'autres contenus une fois la limite de fréquence atteinte.

Tester la sélection de créations en fonction de la fréquence

Pour tester la sélection des créations en fonction de la fréquence avec le stockage partagé et les cadres cloisonnés, vérifiez que vous utilisez Chrome 104.0.5086.0 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

Pour sélectionner et créer une URL opaque, enregistrez un module de Worklet afin de lire les données de stockage partagé. La classe Worklet reçoit une liste de huit URL au maximum, puis renvoie l'index de l'URL choisie.

Lorsque le client appelle sharedStorage.selectURL(), le Worklet s'exécute et renvoie une URL opaque à afficher dans un frame cloisonné.

Imaginons que vous souhaitiez sélectionner une autre annonce ou un autre contenu à afficher en fonction de la fréquence à laquelle un utilisateur les a déjà vues. Vous pouvez compter le nombre de fois qu'un utilisateur a vu un contenu et stocker cette valeur dans un espace de stockage partagé. Une fois stockée, la valeur du stockage partagé devient disponible pour différentes origines.

Ensuite, le Worklet de stockage partagé lit les valeurs dans le stockage partagé et incrémente le compteur à chaque vue supplémentaire. Si le nombre n'a pas atteint la limite prédéfinie, le contenu que vous souhaitez afficher est renvoyé (index 1). Sinon, l'URL par défaut est renvoyée (index 0).

Dans cet exemple :

  • creative-selection-by-frequencyjs est chargé via l'iFrame du producteur de contenu ou de l'annonceur. Il permet de charger le Worklet de stockage partagé et d'afficher la source opaque renvoyée dans un frame cloisonné.
  • creative-selection-by-frequency-worklet.js est le Worklet de stockage partagé qui lit le nombre de fréquences pour déterminer l'URL renvoyée pour un contenu ou une création publicitaire.

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await this.sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await this.sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

Cas d'utilisation

Ce ne sont là que quelques cas d'utilisation possibles du stockage partagé. Nous continuerons d'ajouter des exemples à mesure que nous recevons des commentaires et découvrons de nouveaux cas d'utilisation.

Sélection de contenu

Sélectionnez et affichez différents contenus sur différents sites Web dans des frames cloisonnés en fonction des informations collectées dans le stockage partagé. Dans ces cas d'utilisation, la porte de sortie est la sélection d'URL.

  • Rotation des créations : stockez des données telles que l'ID de la création, le nombre de vues et les interactions des utilisateurs afin de déterminer quelles créations les utilisateurs voient sur différents sites.
  • Tests A/B : vous pouvez affecter un utilisateur à un groupe de test, puis stocker ce groupe dans un espace de stockage partagé pour qu'il soit accessible sur plusieurs sites.
  • Expériences utilisateur personnalisées : partagez du contenu personnalisé et des incitations à l'action en fonction de l'état d'inscription de l'utilisateur ou d'autres états de l'utilisateur

Générer des rapports de synthèse

Collecter des informations avec le stockage partagé et générer un rapport récapitulatif agrégé bruyant La porte de sortie pour ces cas d'utilisation est l'API Private Aggregation.

  • 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, vidéo intégrée ou publication. Vous éviterez ainsi que le même utilisateur soit comptabilisé deux fois sur différents sites. Vous pouvez ensuite utiliser l'API Private Agrégation pour générer un rapport récapitulatif pour votre couverture.
  • Mesure des données démographiques : les producteurs de contenu souhaitent souvent comprendre les données démographiques de leur audience. Vous pouvez utiliser le stockage partagé pour enregistrer les données démographiques des utilisateurs dans le contexte dont vous disposez, par exemple votre site propriétaire, et utiliser des rapports agrégés pour générer des rapports les concernant sur de nombreux autres sites, comme le contenu intégré.
  • Mesure de la fréquence des k+ : parfois décrite comme "fréquence effective", un nombre de vues minimal est souvent requis avant qu'un utilisateur reconnaisse ou se souvienne certains contenus (souvent dans le contexte des vues d'une publicité). Vous pouvez utiliser le stockage partagé pour créer des rapports sur les utilisateurs uniques ayant vu un contenu au moins K fois.

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.