Guide du développeur pour les enchères publicitaires sur l'appareil afin de diffuser des annonces de remarketing et des audiences personnalisées, sans suivi tiers intersites.
Si vous ne connaissez pas l'API Protected Audience, consultez la présentation de l'API Protected Audience pour en savoir plus.
Cet article est destiné aux développeurs et constitue une référence technique pour la dernière itération de l'API Protected Audience expérimentale. Une démonstration d'un déploiement de base de l'API Protected Audience est disponible, ainsi que des références d'API pour les acheteurs et les vendeurs d'annonces.
État de l'implémentation
- La proposition de l'API Protected Audience est maintenant en phase de disponibilité générale. Soulevez les questions et suivez la discussion.
- L'état des fonctionnalités en attente de l'API Protected Audience détaille les modifications et les améliorations apportées à cette API et à ses fonctionnalités.
- État du clignotement
- État de la plate-forme Chrome de l'API Protected Audience: spécifique à l'API Protected Audience sur Chrome.
- État de la plate-forme Chrome API Ads: ensemble d'API facilitant la publicité: API Protected Audience, Topics, Fenced Frames et Attribution Reporting.
Pour être informé des changements d'état dans l'API, rejoignez la liste de diffusion des développeurs.
Qu'est-ce que l'API Protected Audience ?
L'API Protected Audience est une API de la Privacy Sandbox conçue pour diffuser des cas d'utilisation de remarketing et d'audience personnalisée. Elle est conçue pour empêcher les tiers de suivre les habitudes de navigation de l'utilisateur sur les sites. L'API permet au navigateur d'organiser des enchères sur l'appareil afin de choisir des annonces pertinentes pour les sites Web que l'utilisateur a déjà visités.
L'API Protected Audience est le premier test à être implémenté dans Chromium dans la famille de propositions TURTLEDOVE.
Essayer l'API Protected Audience
Documentation de référence de l'API disponible
Ce document fournit une présentation de l'API Protected Audience. Si vous recherchez des méthodes et des paramètres d'API spécifiques:
- Guide de l'acheteur pour
joinAdInterestGroup()
etgenerateBid()
- Guide du vendeur pour l'API Protected Audience
runAdAuction()
- Guide pour les acheteurs sur
reportWin()
et guide pour les vendeurs surreportResult()
- Résoudre les problèmes liés à l'API Protected Audience
Vous pouvez également consulter les bonnes pratiques concernant la latence des enchères publicitaires de l'API Protected Audience.
Démonstration de l'API Protected Audience
Une procédure de déploiement de base de l'API Protected Audience sur les sites des annonceurs et des éditeurs est disponible sur protected-audience-demo.web.app/.
Tester cette API
Vous pouvez tester l'API Protected Audience pour un seul utilisateur dans Chrome Bêta 101.0.4951.26 ou version ultérieure sur ordinateur:
- Activez toutes les API de confidentialité des annonces sous
chrome://settings/adPrivacy
. - Définissez des indicateurs à partir de la ligne de commande. La liste complète des flags de l'API Protected Audience disponibles est disponible dans la recherche de code Chromium.
Afficher des annonces dans des iFrames ou des cadres cloisonnés
Les annonces peuvent être affichées dans un <iframe>
ou un <fencedframe>
, en fonction des indicateurs définis.
Pour utiliser <fencedframe>
pour afficher des annonces:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Pour utiliser <iframe>
pour afficher des annonces:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Incluez l'indicateur BiddingAndScoringDebugReportingAPI
pour activer les méthodes de création de rapports temporaires sur les pertes/gains de débogage.
Fonctionnalités compatibles
L'API Protected Audience derrière les flags de fonctionnalité dans Chromium est un premier test visant à tester les fonctionnalités suivantes de l'API Protected Audience:
- Groupes d'intérêt: stockés par le navigateur, avec des métadonnées associées pour configurer les enchères et l'affichage des annonces.
- Enchères sur l'appareil par les acheteurs (DSP ou annonceur): basées sur les groupes de centres d'intérêt stockés et les signaux du vendeur.
- Sélection d'annonces sur l'appareil par le vendeur (SSP ou éditeur): basée sur les enchères et les métadonnées des acheteurs.
- Rendu des annonces dans une version temporairement allégée de Fenced Frames: avec un accès réseau et une journalisation autorisés pour le rendu des annonces.
Pour en savoir plus sur la prise en charge des fonctionnalités et les contraintes, consultez la présentation de l'API Protected Audience.
Autorisations des groupes d'intérêt
Par défaut, l'implémentation actuelle de l'API Protected Audience autorise l'appel de joinAdInterestGroup()
depuis n'importe quelle partie d'une page, même depuis des iFrames multidomaines.
À l'avenir, une fois que les propriétaires de sites auront eu le temps de mettre à jour leurs règles d'autorisation pour les iFrames interdomaines, nous prévoyons d'interdire les appels à partir d'iFrames interdomaines.
Service clé-valeur
Pour prendre en charge les enchères publicitaires de l'API Protected Audience, le navigateur peut accéder à un service clés-valeurs pour récupérer des informations en temps réel compatibles avec les enchères publicitaires de l'API Protected Audience. Vous pouvez utiliser ces informations de différentes manières:
- Les acheteurs peuvent souhaiter calculer le budget restant d'une campagne publicitaire.
- Les vendeurs peuvent être tenus de vérifier que les créations publicitaires respectent les règles des éditeurs.
Le code de service clé-valeur de l'API Protected Audience est désormais disponible. Pour en savoir plus, consultez cet article de blog.
Pour les tests initiaux, un modèle Bring Your Own Server (Apportez votre propre serveur) a été introduit. À long terme, les technologies publicitaires devront utiliser les services clés-valeurs d'API Protected Audience Open Source exécutés dans des environnements d'exécution sécurisés.
Pour en savoir plus sur le calendrier, consultez le post de blog sur les services de l'API Protected Audience. Nous fournirons un préavis important aux développeurs pour qu'ils commencent à tester et à adopter cette fonctionnalité avant cette transition.
Détecter la compatibilité des fonctionnalités
Avant d'utiliser l'API, vérifiez si elle est compatible avec le navigateur et disponible dans le document:
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
Comment fonctionne l'API Protected Audience ?
Dans cet exemple, un utilisateur parcourt le site Web d'un fabricant de vélos personnalisés, puis visite un site d'actualités et voit une annonce pour un nouveau vélo de ce fabricant.
Les fonctionnalités de l'API Protected Audience seront ajoutées au fil du temps à mesure que l'implémentation progressera.
1. Un utilisateur consulte le site d'un annonceur

Imaginons qu'un utilisateur visite le site Web d'un fabricant de vélos sur mesure (l'annonceur dans cet exemple) et passe un certain temps sur la page produit d'un vélo en acier fait main. Cela offre au fabricant de vélos une opportunité de remarketing.
2. Le navigateur de l'utilisateur est invité à ajouter un groupe d'intérêts

La plate-forme côté demande (DSP) de l'annonceur (ou l'annonceur lui-même) appelle navigator.joinAdInterestGroup()
pour demander au navigateur d'ajouter un groupe d'intérêts à la liste des groupes auxquels il appartient.
Dans cet exemple, le groupe est nommé custom-bikes
et son propriétaire est dsp.example
. Le propriétaire du groupe de centres d'intérêt (dans ce cas, la DSP) est un acheteur dans l'enchère publicitaire de l'API Protected Audience. L'appartenance à un groupe de centres d'intérêt est stockée par le navigateur sur l'appareil de l'utilisateur et n'est pas partagée avec le fournisseur du navigateur ni avec quiconque.
- Consultez la vidéo d'explication sur l'API Protected Audience: Les navigateurs enregistrent les groupes de centres d'intérêt.
- Lisez le guide de l'API: acheteurs et DSP, découvrez comment
joinAdInterestGroup()
et générer des enchères.
Spécifier des annonces pour un groupe de centres d'intérêt
Les objets ads
et adComponents
incluent une URL pour une création publicitaire et, éventuellement, des métadonnées arbitraires pouvant être utilisées au moment des enchères. Exemple :
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
Comment les acheteurs définissent-ils des enchères ?
generateBid()
est appelé pour chaque groupe de centres d'intérêt dont le navigateur est membre, si le propriétaire du groupe de centres d'intérêt est invité à définir une enchère.
Consultez la documentation destinée aux développeurs sur generatedBid()
.
3. L'utilisateur consulte un site qui vend de l'espace publicitaire.

Plus tard, l'utilisateur visite un site qui vend de l'espace publicitaire, dans cet exemple un site d'actualités. Le site dispose d'un inventaire publicitaire qu'il vend de façon programmatique via des enchères en temps réel.
4. Une mise aux enchères publicitaires est effectuée dans le navigateur.

L'enchère d'annonces est probablement gérée par le fournisseur côté offre (SSP) de l'éditeur ou par l'éditeur lui-même. L'objectif de la mise aux enchères est de sélectionner l'annonce la plus appropriée pour un seul espace publicitaire disponible sur la page actuelle. Les enchères tiennent compte des groupes de centres d'intérêt auxquels le navigateur appartient, ainsi que des données des acheteurs d'espaces publicitaires et des vendeurs des services clé-valeur.
- Lisez la présentation de l'API Protected Audience: Les vendeurs exécutent des enchères sur l'appareil
- Lire le guide de l'API: les vendeurs peuvent en savoir plus sur
runAdAuction()
et les bonnes pratiques concernant la latence des enchères publicitaires.
5. Le vendeur et les acheteurs participants demandent des données en temps réel au service clés-valeurs.

Lors d'une mise aux enchères d'annonces, le vendeur peut demander des données en temps réel sur des créations publicitaires spécifiques en envoyant une requête à son service clés-valeurs.
Le vendeur peut demander ces informations lors de la runAdAuction()
via la propriété trustedScoringSignalsUrl
, ainsi que les clés des propriétés renderUrl
de toutes les entrées dans les champs ads
et adComponents
de tous les groupes de centres d'intérêt de l'enchère.
Un acheteur peut demander des données en temps réel à son service clé-valeur à l'aide des propriétés trustedBiddingSignalsUrl
et trustedBiddingSignalsKeys
de l'argument de groupe d'intérêt transmis à navigator.joinAdInterestGroup()
.
Lorsque runAdAuction()
est appelé, le navigateur envoie une requête au serveur de confiance de chaque acheteur d'annonces. L'URL de la requête peut se présenter comme suit:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- L'URL de base provient de
trustedBiddingSignalsUrl
. hostname
est fourni par le navigateur.- La valeur
keys
est extraite detrustedBiddingSignalsKeys
.
La réponse à cette requête est un objet JSON fournissant des valeurs pour chacune des clés.
- Lisez la vidéo explicative sur l'API Protected Audience: Récupérer des données en temps réel à partir du service clé-valeur de l'API Protected Audience.
- Consultez Ouvrir le code source du service clé-valeur de l'API Protected Audience.
6. L'annonce gagnante est diffusée

La promesse renvoyée par runAdAuction() se résout en un objet de configuration de frame clôturé (FencedFrameConfig
) lorsque l'indicateur resolveToConfig
est défini sur true
dans la configuration de l'enchère. La configuration du frame est utilisée par un frame clôturé pour accéder à l'annonce gagnante, mais l'URL de l'annonce n'est pas visible par l'intégrateur du frame.
L'objet de configuration de frame clôturé est disponible à partir de M114. Pour en savoir plus sur l'objet FencedFrameConfig
, consultez l'article de blog Chrome.
- Lisez la vidéo explicative sur l'API Protected Audience: les navigateurs affichent l'annonce gagnante
7. Le résultat de l'enchère est enregistré
L'objectif à long terme est d'autoriser le navigateur à communiquer les résultats des enchères pour le vendeur et les acheteurs à l'aide des API Private Aggregation.
En tant que mécanisme de création de rapports temporaire au niveau des événements, le code implémentant reportResult()
pour le vendeur et reportWin()
pour l'enchérisseur gagnant peut appeler la fonction sendReportTo()
. Cette méthode ne prend qu'un seul argument: une chaîne représentant une URL récupérée une fois l'enchère terminée, qui encode les informations au niveau de l'événement à signaler.
- Consultez le guide de l'API: découvrez les rapports pour les vendeurs et les acheteurs.
8. Un clic sur une annonce est enregistré

Un clic sur une annonce affichée dans un cadre délimité est enregistré. Pour en savoir plus sur le fonctionnement de ce processus, consultez Rapports sur les annonces avec cadres délimités.

Quelle est la différence entre l'API Protected Audience et TURTLEDOVE ?
L'API Protected Audience est le premier test à être implémenté dans Chromium dans la famille de propositions TURTLEDOVE.
L'API Protected Audience suit les principes généraux de TURTLEDOVE. Certaines publicités en ligne sont basées sur la diffusion d'une annonce auprès d'une personne potentiellement intéressée qui a déjà interagi avec l'annonceur ou le réseau publicitaire. Historiquement, l'annonceur reconnaissait une personne spécifique lorsqu'elle parcourait des sites Web, ce qui constitue un problème de confidentialité majeur sur le Web d'aujourd'hui.
L'initiative TURTLEDOVE vise à proposer une nouvelle API pour répondre à ce cas d'utilisation, tout en offrant des avancées clés en matière de confidentialité:
- Le navigateur, et non l'annonceur, contient les informations sur ce qui intéresse l'annonceur selon lui.
- Les annonceurs peuvent diffuser des annonces en fonction d'un centre d'intérêt, mais ne peuvent pas combiner ce centre d'intérêt avec d'autres informations sur une personne, en particulier son identité ou la page qu'elle consulte.
L'API Protected Audience est issue de TURTLEDOVE et d'un ensemble de propositions de modifications associées pour mieux servir les développeurs qui utiliseraient l'API:
- Dans SPARROW : Criteo a proposé d'ajouter un modèle de service ("Gatekeeper") exécuté dans un environnement d'exécution sécurisé (TEE). L'API Protected Audience inclut une utilisation plus limitée des TEE, pour la recherche de données en temps réel et les rapports agrégés.
- Les propositions TERN de NextRoll et PARRROT de Magnite décrivaient les différents rôles des acheteurs et des vendeurs dans les enchères sur l'appareil. Le flux d'enchères/d'attribution de scores des annonces de l'API Protected Audience est basé sur ce travail.
- Les modifications de TURTLEDOVE basées sur les résultats et au niveau du produit de RTB House ont amélioré le modèle d'anonymat et les fonctionnalités de personnalisation de l'enchère sur l'appareil.
- PARAKEET est la proposition de Microsoft pour un service publicitaire semblable à TURTLEDOVE qui s'appuie sur un serveur proxy exécuté dans un TEE entre le navigateur et les fournisseurs de technologies publicitaires, afin d'anonymiser les demandes d'annonces et de mettre en œuvre des propriétés de confidentialité. L'API Protected Audience n'a pas adopté ce modèle de proxy. Nous alignons les API JavaScript pour PARAKEET et l'API Protected Audience afin de faciliter les futurs travaux visant à combiner davantage les meilleures fonctionnalités des deux propositions.
L'API Protected Audience n'empêche pas encore le réseau publicitaire d'un site Web d'apprendre quelles annonces un utilisateur voit. Nous prévoyons de modifier l'API pour la rendre plus privée au fil du temps.
L'API Topics peut-elle être utilisée avec l'API Protected Audience ?
Oui. Un thème observé pour l'utilisateur actuel, fourni par l'API Topics, peut être utilisé comme information contextuelle par un vendeur ou un enchérisseur. Un sujet peut être inclus dans les propriétés suivantes:
auctionSignals
, propriété de l'objet de configuration des enchères transmise ànavigator.runAdAuction()
userBiddingSignals
, propriété de l'objet de configuration du groupe de centres d'intérêt transmise ànavigator.joinAdInterestGroup()
Configuration du navigateur disponible
Les utilisateurs peuvent ajuster leur participation aux essais de la Privacy Sandbox dans Chrome en activant ou en désactivant le paramètre de niveau supérieur dans chrome://settings/adPrivacy
.
Lors des tests initiaux, les utilisateurs pourront utiliser ce paramètre de la Privacy Sandbox de haut niveau pour désactiver l'API Protected Audience. Chrome prévoit de permettre aux utilisateurs de consulter et de gérer la liste des groupes de centres d'intérêt auxquels ils ont été ajoutés sur les sites Web qu'ils ont visités. Comme pour les technologies de la Privacy Sandbox elles-mêmes, les paramètres utilisateur peuvent évoluer en fonction des commentaires des utilisateurs, des autorités de réglementation et d'autres personnes.
Nous continuerons de mettre à jour les paramètres disponibles dans Chrome en fonction des tests et des commentaires. À l'avenir, nous prévoyons de proposer des paramètres plus précis pour gérer l'API Protected Audience et les données associées.
Les appelants de l'API ne peuvent pas accéder à l'appartenance au groupe lorsque les utilisateurs naviguent en mode navigation privée. L'appartenance est supprimée lorsque les utilisateurs effacent leurs données de site.
Les worklets Protected Audience sont-ils mis en cache par le navigateur ?
Les ressources contenant les worklets Protected Audience (les worklets de génération d'enchères et de création de rapports de l'acheteur, ainsi que les worklets d'évaluation et de création de rapports des annonces du vendeur) sont mises en cache par le navigateur. Vous pouvez utiliser l'en-tête Cache-Control
pour contrôler le comportement de mise en cache.
Interagir et envoyer des commentaires
Obtenir de l'aide
Pour poser des questions et obtenir de l'aide concernant votre implémentation, la démonstration ou la documentation:
- GitHub: lisez la présentation, posez des questions et suivez la discussion.
- Démo: signalez un problème dans le dépôt de code de démonstration.
- Assistance pour les développeurs: posez des questions et participez aux discussions sur le dépôt d'assistance pour les développeurs de la Privacy Sandbox. Sélectionnez le modèle de problème pour l'API Protected Audience.
- Implémentation de Chrome: en cas de bug ou de problème avec l'implémentation de l'API Protected Audience dans Chrome, vous pouvez afficher les problèmes existants ou en signaler un.
Pour toute question plus générale sur la façon de répondre à vos besoins avec l'API Protected Audience, envoyez un problème dans le dépôt de l'API. Vous pouvez également discuter des cas d'utilisation du secteur dans le groupe d'activités du W3C pour l'amélioration de la publicité en ligne.
Utilisez le formulaire de commentaires de la Privacy Sandbox pour partager vos commentaires de manière privée avec l'équipe Chrome en dehors des forums publics.
Désactiver
Vous souhaitez désactiver l'API Protected Audience ? Découvrez comment bloquer l'accès à l'API Protected Audience en tant que propriétaire de site ou utilisateur individuel.
Recevoir les dernières informations
- Pour recevoir des notifications sur les modifications d'état des API, rejoignez la liste de diffusion pour les développeurs.
- Pour suivre de près toutes les discussions en cours sur l'API, cliquez sur le bouton Watch (Suivre) sur la page de l'API sur GitHub. Pour ce faire, vous devez disposer d'un compte GitHub ou en créer un.
- Pour recevoir des informations générales sur la Privacy Sandbox, abonnez-vous au flux RSS [Progress in the Privacy Sandbox].
- Rejoignez les appels planifiés pour l'API Protected Audience (toutes les deux semaines). Tout le monde est le bienvenu. Pour participer, assurez-vous d'abord de rejoindre le WICG. Vous pouvez participer activement ou simplement écouter.