Parfois appelée "fréquence effective", cette valeur correspond au 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 Shared Storage pour créer des rapports sur les utilisateurs uniques ayant vu un contenu au moins K fois.
L'API Shared Storage est une proposition de la Privacy Sandbox pour le stockage multisites à usage général, qui prend en charge de nombreux 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.
Essayer la mesure de la fréquence K+
Pour tester la mesure de la fréquence K+ avec le stockage partagé et l'agrégation privée, vérifiez que vous utilisez Chrome M107 ou une version ultérieure. Activez toutes les API de confidentialité des annonces sous chrome://settings/adPrivacy
.
Vous pouvez également activer Shared Storage avec l'indicateur --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
dans la ligne de commande.
Tester des exemples de code
Vous pouvez mesurer le nombre d'utilisateurs qui ont vu votre contenu au moins 1 000 fois pour un client donné sur différents sites. Dans cet exemple, le nombre d'impressions est ajouté au stockage partagé, où il augmente de 1 chaque fois que le contenu est chargé. Lorsque le nombre d'impressions atteint trois, l'API Private Aggregation est appelée. La dimension "ID de contenu" est encodée en tant que clé d'agrégation, et le nombre est utilisé comme valeur agrégable. Le rapport récapitulatif fournit des informations telles que "Environ 391 utilisateurs ont vu la campagne publicitaire ID 123 au moins trois fois."
Dans cet exemple :
k-frequency-measurement.js
est chargé à l'aide d'un frame et est chargé de charger le worklet de stockage partagé.k-frequency-measurement-worklet.js
est le worklet de stockage partagé qui lit le nombre d'impressions dans le stockage partagé et envoie un rapport à l'aide de l'API Private Aggregation.
k-frequency-measurement.js
async function injectContent() {
// Load the Shared Storage worklet
await window.sharedStorage.worklet.addModule('k-freq-measurement-worklet.js');
// Run the K-frequency measurement operation
await window.sharedStorage.run('k-freq-measurement', { data: { kFreq: 3, contentId: 123 });
}
injectContent();
kuency-measurement-worklet.js
// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;
/**
* The bucket key must be a number, and in this case, it is just the content
* ID itself. For more complex bucket key construction, see other use cases in
* this demo.
*/
function convertContentIdToBucket(contentId) {
return BigInt(contentId);
}
class KFreqMeasurementOperation {
async run(data) {
const { kFreq, contentId } = data;
// Read from Shared Storage
const hasReportedContentKey = 'has-reported-content';
const impressionCountKey = 'impression-count';
const hasReportedContent = (await sharedStorage.get(hasReportedContentKey)) === 'true';
const impressionCount = parseInt((await sharedStorage.get(impressionCountKey)) || 0);
// Don't report if a report has been sent already
if (hasReportedContent) {
return;
}
// Check impression count against frequency limit
if (impressionCount < kFreq) {
await sharedStorage.set(impressionCountKey, impressionCount + 1);
return;
}
// Generate the aggregation key and the aggregatable value
const bucket = convertContentIdToBucket(contentId);
const value = 1 * SCALE_FACTOR;
// Send an aggregatable report using the Private Aggregation API
privateAggregation.contributeToHistogram({ bucket, value });
// Set the report submission status flag
await sharedStorage.set(hasReportedContentKey, 'true');
}
}
// Register the operation
register('k-freq-measurement', KFreqMeasurementOperation); \
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.