Exécutez un Worklet de stockage partagé pour sélectionner une URL et l'afficher dans un cadre cloisonné.
L'API Shared Storage est un service Proposition de bac à sable pour le stockage intersites à usage général, cas d'utilisation possibles. C'est par exemple le cas du contrôle de la fréquence, dans Chrome Bêta 104.0.5086.0 et versions ultérieures.
Exécutez un script de Worklet pour sélectionner une URL dans une liste fournie, en fonction de l'élément stocké données, puis afficher cette URL dans un cadre cloisonné. Cela permet de sélectionner De nouvelles annonces ou d'autres contenus, alors que la limite de la fréquence d'exposition a été atteinte
Tester la sélection de créations en fonction de la fréquence
Pour tester la sélection de créations par fréquence avec le stockage partagé et les cadres cloisonnés,
à partir de la version 104.0.5086.0 de Chrome. 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 éléments partagés des données de stockage. La classe Worklet reçoit jusqu'à huit URL, 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
). Dans le cas contraire, 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, et est responsable pour charger le Worklet de stockage partagé et afficher la valeur opaque renvoyée dans un frame cloisonné.creative-selection-by-frequency-worklet.js
est le Worklet de stockage partagé qui lit le du nombre d'expositions pour déterminer l'URL à renvoyer 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 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 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
Il ne s'agit là que de quelques-uns des cas d'utilisation possibles de Shared Storage. 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 cadres clôturés en fonction des informations collectées dans le stockage partagé. La porte de sortie de ces cas d'utilisation est la sélection d'URL.
- Rotation des créations : stocke des données telles que l'ID de la création, le nombre de vues et l'interaction des utilisateurs pour déterminer les créations que les utilisateurs voient sur différents sites.
- Tests A/B : vous pouvez attribuer un utilisateur à un groupe de test, puis stocker ce groupe dans Shared Storage pour y accéder entre les sites.
- Expériences utilisateur personnalisées : partagez du contenu et des incitations à l'action personnalisés en fonction de l'état d'enregistrement ou d'autres états de l'utilisateur.
Générer des rapports récapitulatifs
Collectez des informations avec Shared Storage et générez un rapport récapitulatif agrégé et bruyant. La porte de sortie de ces cas d'utilisation est l'API Private Aggregation.
- Mesure de la couverture unique : de nombreux producteurs de contenus et annonceurs souhaitent savoir combien de personnes uniques ont vu leur contenu. Utilisez l'espace de 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 pour éviter de comptabiliser deux fois cet utilisateur sur différents sites. Vous pouvez ensuite utiliser l'API Private Aggregation pour générer un rapport récapitulatif de votre couverture.
- Mesure des données démographiques : les producteurs de contenus souhaitent souvent comprendre les données démographiques de leur audience. Vous pouvez utiliser le stockage partagé pour enregistrer des données démographiques sur les utilisateurs dans un contexte où vous les avez, comme votre site first party, et utiliser des rapports agrégés pour les enregistrer sur de nombreux autres sites, tels que le contenu intégré.
- Mesure de la fréquence K+ : parfois décrite comme "fréquence effective", il existe souvent un nombre minimal de vues avant qu'un utilisateur ne reconnaisse ou ne se souvienne d'un contenu donné (souvent dans le contexte des vues d'annonces). 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 envoyer des commentaires
Notez que la proposition d'API Shared Storage est en cours de discussion et de développement, et est donc susceptible d'être modifiée.
Nous sommes impatients de connaître votre avis sur l'API Shared Storage.
- Proposition: consultez la proposition détaillée.
- Discussion: rejoignez la discussion en cours pour poser des questions et partager vos insights.
Se tenir informé
- Liste de diffusion: abonnez-vous à notre liste de diffusion pour recevoir les dernières informations et annonces concernant l'API Shared Storage.
Besoin d'aide ?
- Assistance pour les développeurs: échangez avec d'autres développeurs et obtenez des réponses à vos questions dans le dépôt d'assistance pour les développeurs de la Privacy Sandbox.