Guide du développeur pour les enchères publicitaires sur l'appareil permettant de diffuser des audiences de remarketing et personnalisées, sans suivi intersites tiers.
Si vous débutez avec l'API Protected Audience, consultez la présentation de l'API Protected Audience pour obtenir une explication générale.
Cet article est destiné aux développeurs et constitue une référence technique pour la dernière version de l'API Protected Audience expérimentale. Une démonstration du 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 d'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 les cas d'utilisation de remarketing et d'audiences personnalisées. Elle est conçue pour empêcher des tiers de suivre le comportement de navigation des utilisateurs sur les sites. L'API permet aux enchères sur l'appareil par le navigateur de choisir des annonces pertinentes pour les sites Web que l'utilisateur a déjà consultés.
L'API Protected Audience est la première expérience à avoir été implémentée dans Chromium dans la famille de propositions TURTLEDOVE.
Essayer l'API Protected Audience
Documentation de référence de l'API disponible
Ce document est une présentation de l'API Protected Audience. Si vous recherchez des méthodes et des paramètres d'API spécifiques:
- Guide pour les acheteurs pour
joinAdInterestGroup()
etgenerateBid()
- Guide du vendeur pour l'API Protected Audience
runAdAuction()
- Guide pour les acheteurs (
reportWin()
) et guide pour les vendeurs (reportResult()
) - Résoudre les problèmes liés à l'API Protected Audience
Vous pouvez également lire 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 à l'adresse protection-audience-demo.web.app/.
Tester cette API
Vous pouvez tester l'API Protected Audience pour un seul utilisateur dans la version bêta 101.0.4951.26 de Chrome et les versions ultérieures sur ordinateur:
- Activez toutes les API Ad Privacy sous
chrome://settings/adPrivacy
. - Définir des indicateurs à partir de la ligne de commande La liste complète des indicateurs de l'API Protected Audience disponibles est disponible sur Chromium Code Search.
Afficher des annonces dans des cadres iFrame ou cloisonnés
Les annonces peuvent être affichées dans un <iframe>
ou un <fencedframe>
, selon les indicateurs définis.
Pour utiliser <fencedframe>
afin d'afficher des annonces:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Pour utiliser <iframe>
afin d'afficher des annonces:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Incluez l'option BiddingAndScoringDebugReportingAPI
pour activer les méthodes temporaires de création de rapports de perte/gagnement de débogage.
Fonctionnalités compatibles
L'API Protected Audience derrière les flags de fonctionnalité dans Chromium est une première expérience visant à tester les fonctionnalités suivantes de l'API Protected Audience:
- Groupes de centres d'intérêt: stockés par le navigateur, avec les 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 des 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 assouplie des frames cloisonnés: avec l'accès au réseau et la journalisation autorisés pour le rendu des annonces.
Pour en savoir plus sur la compatibilité des fonctionnalités et les contraintes, consultez la présentation de l'API Protected Audience.
Autorisations liées aux groupes de centres d'intérêt
Par défaut, l'implémentation actuelle de l'API Protected Audience autorise l'appel de joinAdInterestGroup()
depuis n'importe quel point de la page, même à partir d'iFrames interdomaines.
À l'avenir, une fois que les propriétaires de sites auront eu le temps de mettre à jour leurs règles d'autorisation pour les cadres iFrame interdomaines, ils prévoient d'interdire les appels provenant 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é-valeur afin de récupérer des informations en temps réel compatibles avec les enchères publicitaires de l'API Protected Audience. Ces informations peuvent être utilisées de plusieurs façons:
- 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 le règlement applicable aux éditeurs.
Le code du service clé-valeur de l'API Protected Audience est maintenant disponible. Consultez l'annonce de blog pour connaître l'état d'avancement.
Pour les tests initiaux, le modèle Bring Your Own Server a été introduit. À long terme, les technologies publicitaires devront utiliser les services clé-valeur Open Source de l'API Protected Audience qui s'exécutent dans des environnements d'exécution sécurisés.
Consultez l'article de blog sur les services de l'API Protected Audience pour connaître le calendrier. Nous informerons bien les développeurs qu'ils devront commencer les tests et l'adoption 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 si elle est 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 plus tard un site Web d'actualités. Une annonce pour un nouveau vélo du fabricant lui est présentée.
Des fonctionnalités de l'API Protected Audience seront ajoutées au fil du temps à mesure que l'implémentation progresse.
1. Un utilisateur consulte le site d'un annonceur.
![Une personne visitant le site d'un fabricant de vélos personnalisés dans un navigateur sur son ordinateur portable](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-person-visiting-custom-2ca7094e57259.png?authuser=3&hl=fr)
Imaginez qu'un utilisateur visite le site Web d'un fabricant de vélos personnalisés (l'annonceur) dans cet exemple et passe du temps sur la page produit d'un vélo en acier fabriqué à la main. Le fabricant de vélos bénéficie ainsi d'une opportunité de remarketing.
2. Le navigateur de l'utilisateur est invité à ajouter un groupe de centres d'intérêt
![Un utilisateur ouvre un navigateur sur son ordinateur portable et consulte un site. Le code JavaScript permettant d'accéder aux groupes de centres d'intérêt des annonces est exécuté dans le navigateur.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-user-opens-browser-th-6c2a4e6d97af7.png?authuser=3&hl=fr)
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 de centres d'intérêt à la liste des groupes dont il fait partie.
Dans cet exemple, le groupe s'appelle 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) sera un acheteur dans les enchères publicitaires 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 partagée avec le fournisseur du navigateur ni avec personne d'autre.
- Lisez la vidéo d'explication de l'API Protected Audience: Les navigateurs enregistrent les groupes de centres d'intérêt.
- Consultez le guide de l'API: découvrez comment
joinAdInterestGroup()
et générer des enchères pour les acheteurs et les DSP.
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 qui peuvent être utilisées au moment de l'enchère. 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 pour les développeurs generatedBid()
.
3. Il consulte un site qui vend de l'espace publicitaire.
![Une personne consulte un site Web d'actualités dans le navigateur de son ordinateur portable. Le site comporte un espace publicitaire vide.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-person-visits-news-web-3209fc4021a42.png?authuser=3&hl=fr)
Plus tard, l'utilisateur visite un site qui vend des espaces publicitaires. Dans cet exemple, il s'agit d'un site Web d'actualités. Le site dispose d'un inventaire publicitaire qu'il vend de manière programmatique avec des enchères en temps réel.
4. Mise en concurrence des annonces effectuée dans le navigateur
![Une personne consulte un site Web d'actualités dans le navigateur de son ordinateur portable. Une enchère publicitaire de l'API Protected Audience est effectuée afin de sélectionner une annonce pour l'espace publicitaire disponible.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-person-views-news-webs-32cbfd93dc442.png?authuser=3&hl=fr)
Les enchères publicitaires sont susceptibles d'être effectuées par le fournisseur côté offre (SSP) de l'éditeur ou par l'éditeur lui-même. L'objectif de l'enchère est de sélectionner l'annonce la plus appropriée pour un seul espace publicitaire disponible sur la page active. L'enchère prend en compte les groupes de centres d'intérêt auxquels le navigateur appartient, ainsi que les données des acheteurs de l'espace publicitaire et des vendeurs des services clé-valeur.
- Lire la vidéo d'explication de l'API Protected Audience: Les vendeurs effectuent des enchères sur l'appareil
- Consultez 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é-valeur.
![L'utilisateur consulte un site Web d'actualités dans le navigateur de son ordinateur portable. Une enchère publicitaire est en cours à l'aide de l'API Protected Audience, et un participant obtient des données du service clé-valeur.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/the-user-views-news-webs-6969c01094b4.png?authuser=3&hl=fr)
Lors d'enchères publicitaires, le vendeur peut demander des données en temps réel sur des créations publicitaires spécifiques en envoyant une demande à son service clé-valeur.
Le vendeur peut demander ces informations pendant runAdAuction()
par la propriété trustedScoringSignalsUrl
, ainsi que les clés des propriétés renderUrl
de toutes les entrées des champs ads
et adComponents
de tous les groupes d'intérêt dans 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 de centres 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
. - Le
hostname
est fourni par le navigateur. - La valeur
keys
est issue detrustedBiddingSignalsKeys
.
La réponse à cette requête est un objet JSON fournissant des valeurs pour chacune des clés.
- Lisez la description de 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 le service clé-valeur de l'API Protected Audience en Open Source.
6. L'annonce gagnante s'affiche.
![Une personne consulte un site Web d'actualités dans le navigateur de son ordinateur portable. Une annonce proposant une remise de 20% sur un vélo s'affiche dans un cadre clôturé et sécurisé.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-person-views-news-webs-2dc1236041c17.png?authuser=3&hl=fr)
La promesse renvoyée par runAdAuction() se résout en un objet de configuration de frame cloisonné (FencedFrameConfig
) lorsque l'option resolveToConfig
est définie sur true
dans la configuration de l'enchère. La configuration de frame est utilisée par un frame cloisonné pour naviguer dans le frame jusqu'à l'annonce gagnante, mais l'URL de l'annonce n'est pas visible pour l'intégrateur de frame.
L'objet de configuration de frame cloisonné est disponible à partir de M114. Pour en savoir plus sur l'objet FencedFrameConfig
, consultez l'article du blog Chrome.
- Lire la vidéo d'explication de l'API Protected Audience: Les navigateurs affichent l'annonce gagnante
7. Le résultat de l'enchère est indiqué
L'objectif à long terme est de permettre au navigateur de signaler les résultats des enchères pour le vendeur et les acheteurs à l'aide des API Private Aggregation.
Comme mécanisme de création de rapports temporaire au niveau des événements, le code qui implémente reportResult()
pour le vendeur et reportWin()
pour l'enchérisseur gagnant peut appeler la fonction sendReportTo()
. Elle n'accepte 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 pour en savoir plus sur les rapports sur les vendeurs et les acheteurs.
8. Un clic sur une annonce est enregistré
![Une personne clique sur une annonce de vélo intégrée dans un cadre clôturé sur un site Web d'actualités. Les données du rapport sont envoyées au vendeur et aux acheteurs.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a-person-clicks-an-ad-a-be2111724646f.png?authuser=3&hl=fr)
Un clic sur une annonce affichée dans un cadre cloisonné est enregistré. Pour en savoir plus sur ce fonctionnement, consultez Rapports sur les annonces utilisant des cadres cloisonnés.
![Aperçu de chaque étape des enchères publicitaires de l'API Protected Audience](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/an-overview-each-stage-c8bac3c2c070f.png?authuser=3&hl=fr)
Quelle est la différence entre l'API Protected Audience et TURTLEDOVE ?
L'API Protected Audience est la première expérience à avoir été implémentée 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 reposent sur la diffusion d'une annonce auprès d'une personne potentiellement intéressée ayant déjà interagi avec l'annonceur ou le réseau publicitaire. Jusqu'à présent, les annonceurs s'efforcent de reconnaître une personne spécifique lorsqu'ils naviguent sur des sites Web, ce qui constitue une préoccupation majeure pour le Web d'aujourd'hui.
L'initiative TURTLEDOVE consiste à proposer une nouvelle API pour répondre à ce cas d'utilisation tout en offrant des avancées clés en termes de confidentialité:
- C'est le navigateur, et non l'annonceur, qui contient les informations sur ce que l'annonceur pense être intéressé par une personne.
- Les annonceurs peuvent diffuser des annonces en fonction d'un centre d'intérêt, mais ne peuvent pas le combiner à d'autres informations sur une personne, en particulier son identité ou la page qu'il visite.
L'API Protected Audience est née de TURTLEDOVE et d'un ensemble de propositions de modifications associées afin de mieux répondre aux besoins des développeurs qui utilisaient l'API:
- Dans SPARROW : Criteo a proposé d'ajouter un modèle de service ("Gatekeeper") s'exécutant 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 la création de rapports agrégés.
- Les propositions TERN de NextRoll et PARRROT de Magnie ont décrit les différents rôles des acheteurs et des vendeurs dans les enchères sur l'appareil. Le flux d'enchères et de notation des annonces de l'API Protected Audience est basé sur ce travail.
- Les modifications 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 des enchères sur l'appareil.
- PARAKEET est la proposition de Microsoft pour un service publicitaire de type TURTLEDOVE qui s'appuie sur un serveur proxy exécuté dans un TEE entre le navigateur et les fournisseurs de technologie publicitaire, afin d'anonymiser les demandes d'annonces et d'appliquer les 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'identifier les annonces qu'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
, une propriété de l'objet de configuration des enchères transmis ànavigator.runAdAuction()
userBiddingSignals
, une propriété de l'objet de configuration de groupe d'intérêt transmis ànavigator.joinAdInterestGroup()
Configuration de navigateur disponible
Les utilisateurs peuvent modifier leur participation aux essais de la Privacy Sandbox dans Chrome en activant ou en désactivant le paramètre de premier niveau dans chrome://settings/adPrivacy
.
Lors des premiers tests, les utilisateurs pourront utiliser ce paramètre de haut niveau de la Privacy Sandbox 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 consulté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 organismes 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 d'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 les données de leur 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, et les Worklets d'évaluation des annonces et de création de rapports du vendeur) sont mis 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 partager 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 l'explication, posez des questions et suivez la discussion.
- Démonstration: signalez un problème dans le dépôt de code de démonstration.
- Assistance aux développeurs: posez des questions et participez à des discussions dans le dépôt de l'assistance pour les développeurs Privacy Sandbox. Sélectionnez le modèle de problème pour l'API Protected Audience.
- Implémentation de Chrome: pour les bugs ou les problèmes liés à l'implémentation de l'API Protected Audience dans Chrome, vous pouvez afficher les problèmes existants ou signaler un nouveau problème.
Pour des questions plus générales sur la façon de répondre à vos besoins avec l'API Protected Audience, signalez un problème dans le dépôt de l'API. Vous pouvez également discuter de cas d'utilisation sectoriels avec le groupe d'activités Améliorer la publicité sur le Web du W3C.
Utilisez le formulaire de commentaires de la Privacy Sandbox pour partager vos commentaires en privé 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 en tant qu'utilisateur individuel.
Recevoir les dernières informations
- Pour être informé des changements d'état de l'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 Regarder sur la page de l'API sur GitHub. Pour cela, vous devez posséder ou créer un compte GitHub.
- Pour obtenir des informations générales sur la Privacy Sandbox, abonnez-vous au flux RSS [Progress in the Privacy Sandbox].
- Participez aux appels planifiés pour l'API Protected Audience (toutes les deux semaines). Tout le monde est invité à participer. Pour participer, assurez-vous d'abord de rejoindre le WICG. Vous pouvez participer activement ou simplement écouter !