Définir des données d'audience

Découvrez comment définir une audience en créant un groupe d'intérêt à l'aide de l'API Protected Audience. Consultez le guide du développeur pour découvrir le cycle de vie complet de l'API Protected Audience. Reportez-vous également à la présentation de l'API Protected Audience pour obtenir une proposition détaillée sur la façon dont les navigateurs enregistrent les groupes d'intérêt.

Vous n'êtes pas développeur ? Consultez la présentation de l'API Protected Audience.

Groupes d'intérêt de l'API Protected Audience

Un groupe d'intérêt de l'API Protected Audience représente un groupe de personnes ayant un intérêt commun, ce qui correspond à une liste de remarketing. Chaque groupe d'intérêt de l'API Protected Audience a un propriétaire.

Les propriétaires de groupes d'intérêt agissent en tant qu'acheteur dans les enchères d'annonces de l'API Protected Audience. L'appartenance à un groupe 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 qui que ce soit d'autre.

Fonctions de l'API

joinAdInterestGroup()

La plate-forme côté demande (DSP, demand-side platform) de l'annonceur ou l'annonceur lui-même appelle navigator.joinAdInterestGroup() pour demander au navigateur d'ajouter un groupe d'intérêt à sa liste de membres.

L'origine du contexte d'appel pour joinAdInterestGroup() doit correspondre à l'origine du propriétaire du groupe d'intérêt. Par conséquent, joinAdInterestGroup() devra être appelé à partir d'un iFrame (par exemple, à partir d'une DSP), sauf si l'origine du propriétaire du groupe d'intérêt correspond à l'origine du document actuel (par exemple, un site Web avec ses propres groupes d'intérêt).

joinAdInterestGroup() nécessite l'autorisation de :

Cela signifie qu'il n'est pas possible pour malicious.example d'appeler joinAdInterestGroup() pour un groupe d'intérêt appartenant à dsp.example.com, sans que dsp.example.com n'accorde l'autorisation.

Autorisation du site consulté

L'autorisation peut être accordée à partir de la même origine ou d'une origine croisée. Par défaut, l'autorisation est accordée pour les appels joinAdInterestGroup() provenant de la même origine que le site visité (en d'autres termes, de la même origine que le frame de premier niveau de la page actuelle).

Exemple d'utilisation

Voici un exemple de définition d'un groupe d'intérêt et de demande au navigateur de rejoindre le groupe.

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  updateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

La taille de l'objet interestGroup transmis à la fonction ne doit pas dépasser 50 Kio, sinon l'appel échouera. Le deuxième paramètre spécifie la durée du groupe d'intérêt, limitée à 30 jours. Les appels successifs écrasent les valeurs stockées précédemment.

Propriétés obligatoires

Les seules propriétés requises pour les groupes d'intérêt sont owner et name :

Propriété Exemple Rôle
owner https://dsp.example Origine du propriétaire du groupe d'intérêt.
name custom-bikes Nom du groupe d'intérêt.

Propriétés facultatives

Les autres propriétés sont facultatives :

biddingLogicUrl1, 2
Exemple : https://dsp.example/bid/custom-bikes/bid.js
Rôle : URL pour l'exécution du JavaScript d'enchères dans le worklet.
biddingWasmHelperUrl1, 2
Exemple : https://dsp.example/bid/custom-bikes/bid.wasm
Rôle : URL du code WebAssembly généré à partir de biddingLogicUrl.
updateUrl2
Exemple : https://dsp.example/bid/custom-bikes/update
Rôle : URL qui renvoie le fichier JSON permettant de mettre à jour les attributs du groupe d'intérêt. (Consultez Mettre à jour les données d'audience et actualiser les annonces.)
trustedBiddingSignalsUrl2
Exemple : https://dsp.example/trusted/bidding-signals
Rôle : URL de base pour les requêtes de clé/valeur au service de clé/valeur approuvé de l'enchérisseur.
trustedBiddingSignalsKeys
Exemple : ['key1', 'key2' ...]
Rôle : clés pour les requêtes adressées au service clé/valeur sécurisé.
userBiddingSignals
Exemple : {...}
Rôle : métadonnées supplémentaires que le propriétaire peut utiliser lors des enchères.
ads1
Exemple : [bikeAd1, bikeAd2, bikeAd3]
Rôle : annonces susceptibles d'être diffusées pour ce groupe d'intérêt.
adComponents
Exemple : [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2]
Rôle : composants pour les annonces composées de plusieurs éléments.

1 Les propriétés biddingLogicUrl et ads sont facultatives, mais obligatoires pour participer à une enchère. Il peut être utile de créer un groupe d'intérêt sans ces propriétés. Par exemple, un propriétaire de groupe d'intérêt peut vouloir ajouter un navigateur à un groupe d'intérêt pour une campagne qui n'est pas encore diffusée ou pour une autre utilisation future, ou il peut avoir temporairement épuisé son budget publicitaire.

2 Dans l'implémentation actuelle de l'API Protected Audience, biddingLogicUrl, biddingWasmHelperUrl, updateUrl et trustedBiddingSignalsUrl doivent avoir la même origine que le propriétaire. Il s'agit peut-être d'une contrainte à court terme, car les URL ads et adComponents ne sont pas soumises à cette contrainte.

Spécifier des annonces pour un groupe d'intérêt

Les objets ads et adComponents incluent l'URL d'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
}

leaveAdInterestGroup()

Le propriétaire d'un groupe d'intérêt peut demander à un navigateur d'être supprimé d'un groupe d'intérêt. Le navigateur supprime le groupe d'intérêt de sa liste de membres.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

Si un utilisateur revient sur le site qui a demandé au navigateur d'ajouter un groupe d'intérêt, le propriétaire du groupe d'intérêt peut appeler la fonction navigator.leaveAdInterestGroup() pour demander au navigateur de supprimer le groupe d'intérêt.

Le code d'une annonce peut également appeler cette fonction pour son groupe d'intérêt.

Questions fréquentes

Quel est le nombre maximal de groupes d'intérêt par propriétaire de groupe pour un même utilisateur ?

Chrome autorise jusqu'à 1 000 groupes d'intérêt par propriétaire et jusqu'à 1 000 propriétaires de groupes d'intérêt. Ces limites sont destinées à servir de garde-fous et ne doivent pas être atteintes en fonctionnement normal.

Comment maximiser les annonces de groupes d'intérêt qui respectent les seuils de k-anonymat ?

Comme indiqué dans l'explication publique, un même groupe d'intérêt peut contenir plusieurs annonces qu'il peut diffuser. Le groupe aura donc la possibilité de faire une nouvelle offre pour une autre de ses annonces afin qu'elle serve d'"annonce de remplacement" chaque fois que son choix préféré est en dessous du seuil. Cela signifie qu'une petite annonce spécialisée qui reste en dessous du seuil d'anonymat k peut toujours choisir de participer aux enchères. Son groupe d'intérêt peut se rabattre sur une annonce plus générique jusqu'à ce que l'annonce plus spécialisée dispose d'une audience suffisamment large.

D'un point de vue tactique, vous pouvez envisager les actions suivantes :

  • Pour qu'une nouvelle annonce commence à être diffusée, il vous suffit de définir des enchères pour celle-ci lorsque vous souhaitez qu'elle soit diffusée. Aucune autre action n'est requise de votre part.
  • Vous pouvez utiliser une annonce de remplacement lorsque les nouvelles annonces ne sont pas k-anonymes. Il existe un risque que votre annonce de remplacement ne soit pas elle-même 𝑘-anonyme. Vous pouvez donc envisager de n'enchérir qu'avec l'annonce de remplacement. Par exemple, vous pouvez le faire 1 % du temps si cela vous permet de vous assurer que la valeur de remplacement reste au-dessus du seuil.

D'autres façons de procéder ont été évoquées récemment. Si vous avez un cas d'utilisation pour lequel ce mécanisme poserait problème, continuez à participer à la discussion publique sur les façons d'améliorer l'API.

Toutes les références de l'API Protected Audience

Des guides de référence de l'API sont disponibles:

L'article explicatif de l'API Protected Audience fournit également des informations détaillées sur la compatibilité des fonctionnalités et les contraintes.