Guide du vendeur: lancer des enchères publicitaires

Guide et références de l'API pour les vendeurs concernant les enchères publicitaires de l'API Protected Audience.

Dans cet article, vous trouverez une documentation de référence technique sur les enchères publicitaires, telle qu'elle est utilisée dans l'itération actuelle de l'API Protected Audience expérimentale.

Lisez le guide du développeur pour en savoir plus du cycle de vie de l'API Protected Audience, et reportez-vous à la vidéo d'explication de l'API pour une discussion approfondie sur comment les vendeurs procèdent aux enchères sur l'appareil.

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

Qu'est-ce que les enchères publicitaires de l'API Protected Audience ?

Une enchère publicitaire de l'API Protected Audience est un ensemble de petits programmes JavaScript le navigateur s'exécute sur l'appareil de l'utilisateur pour choisir une annonce. Pour préserver la confidentialité, toutes les annonces le code d'enchères du vendeur et des acheteurs s'exécute dans un code JavaScript isolé worklets qui ne peuvent pas communiquer avec du monde extérieur.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> Six étapes d&#39;une enchère publicitaire de l&#39;API Protected Audience
Ce schéma décrit chaque étape d'une enchère publicitaire de l'API Protected Audience.
  1. Un utilisateur visite un site où sont diffusées des annonces.
  2. Le code du vendeur exécute navigator.runAdAuction(). Cela permet de spécifier l'espace publicitaire est à vendre et qui peut enchérir. Les vendeurs doivent également inclure un script qui évalue chaque enchère, scoreAd().
  3. Le code de l'acheteur invité s'exécute pour générer une enchère, l'URL d'une annonce pertinente création et autres données. Le script d'enchères peut interroger des données en temps réel, comme le budget restant de la campagne, Service clé-valeur :
  4. Le code du vendeur évalue chaque enchère et sélectionne une annonce gagnante. Cette logique utilise d'enchère et d'autres données renvoient l'attrait d'une enchère. Annonces qui ne peuvent pas battre l'annonce gagnante contextuelle sont rejetées. Le vendeur peut utiliser ses propres Service clé-valeur pour les données en temps réel.
  5. L'annonce gagnante est renvoyée sous la forme d'une valeur opaque qui s'affiche dans un frame cloisonné. Le vendeur et l'éditeur ne pourra pas afficher cette valeur.
  6. L'enchère est signalée au vendeur et aux acheteurs gagnants.

Quand la mise aux enchères a-t-elle lieu ?

L'API Protected Audience peut être exécutée seule ou avec des enchères programmatiques. Dans un multivendeur, enchères programmatiques:

  1. Il consulte un site participant.
  2. Un autre vendeur lance une enchère programmatique afin de trouver une annonce contextuelle pour un espace publicitaire disponible.
  3. Les enchères de l'API Protected Audience sont lancées.
  4. scoreAd()compare les offres de l'acheteur avec les résultats de la première mise aux enchères.

Les enchères qui ne peuvent pas battre l'enchère gagnante contextuelle sont refusées.

Qui gère les enchères publicitaires de l'API Protected Audience ?

Plusieurs parties peuvent participer à des enchères pour vendre de l'espace publicitaire.

Exemple :

  • Éditeur de contenu: hébergeant le contenu des annonces sur son site Web.
  • Plate-forme côté offre (SSP): vous travaillez avec l'éditeur et fournissez d'autres services.
  • Script tiers: il agit pour le compte d'un éditeur afin de permettre la participation aux enchères publicitaires.

Avec l'API Protected Audience, un vendeur a trois tâches:

  • Appliquez les règles des éditeurs: quels acheteurs et quelles enchères sont éligibles.
  • Exécuter la logique d'enchères: JavaScript exécuté dans worklets pour calculer une de désirabilité pour chaque enchère.
  • Signalez le résultat de la mise aux enchères.

Ces tâches sont effectuées de manière programmatique, dans le code fourni par le vendeur lorsqu'il lance une mise en concurrence des annonces en appelant la fonction JavaScript navigator.runAdAuction()

Fonctions de l'API

runAdAuction()

Le vendeur envoie une demande au navigateur de l'utilisateur pour lancer une enchère publicitaire en appelant navigator.runAdAuction().

Exemple :

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

runAdAuction() renvoie une promesse qui se résout en un URN (urn:uuid:<something>) qui représente le le résultat des enchères publicitaires. Elle ne peut être décodée par le navigateur que lorsqu'elle est transmise à un frame cloisonné. pour l'affichage: la page de l'éditeur ne peut pas inspecter l'annonce gagnante.

Le script decisionLogicUrl examine chaque annonce individuelle, ainsi que ses l'enchère et les métadonnées associées, l'une après l'autre, puis lui attribue une valeur numérique le score de désirabilité.

auctionConfig établissements

seller
Obligatoire
Exemple: 'https://ssp.example'
Rôle: origine du vendeur.
decisionLogicUrl
Obligatoire
Exemple: 'https://ssp.example/auction-decision-logic.js'
Rôle: URL du code JavaScript du Worklet d'enchères.
trustedScoringSignalsUrl
Facultatif
Exemple: 'https://ssp.example/scoring-signals'
Rôle: URL du serveur de confiance du vendeur.
interestGroupBuyers
Obligatoire
Exemple: ['https://dsp.example', 'https://buyer2.example', ...]
Rôle: origine de tous les propriétaires de groupes de centres d'intérêt auxquels on demande de participer à la mise aux enchères
Remarque: Le vendeur peut spécifier la valeur interestGroupBuyers: pour autoriser tous les groupes d'intérêt à définir des enchères. Les annonces sont ensuite acceptées ou refusées en fonction de critères autres que l'inclusion du propriétaire du groupe de centres d'intérêt. Par exemple, le vendeur peut examiner les créations publicitaires pour s'assurer qu'elles respectent ses règles.
auctionSignals
Facultatif
Exemple: {...}
Rôle: informations sur le vendeur sur le contexte de la page, le type d'enchères, etc.
sellerSignals
Facultatif
Exemple: {...}
Rôle: informations basées sur les paramètres de l'éditeur, envoi d'une demande d'annonce contextuelle, etc.
sellerTimeout
Facultatif
Exemple: 100
Rôle: durée d'exécution maximale (ms) du script scoreAd() du vendeur.
perBuyerSignals
Facultatif
Exemple:
{'https://dsp.example': {...}, 'https://another-buyer.example': {...}, ... }
Rôle: signaux contextuels concernant la page de chaque acheteur spécifique, provenant de leur serveur.
perBuyerTimeouts
Facultatif
Exemple: 50
Rôle: durée d'exécution maximale (ms) des scripts generateBid() d'un acheteur spécifique.
componentAuctions
Facultatif
Exemple:
[{'seller': 'https://www.some-other-ssp.com', 'decisionLogicUrl': ..., ...}, ...]
Rôle: Configurations supplémentaires pour les enchères de composants.

decisionLogicUrl

decisionLogicUrl est une propriété de l'objet de configuration des enchères, transmis à runAdAuction(). Cette URL doit inclure un script pour le paramètre fonction scoreAd(). Cette logique est exécutée une fois pour chaque annonce déterminer sa souhaitabilité.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

browserSignals

browserSignals est un objet construit par le navigateur, y compris les informations que le navigateur connaît et que le script d'enchères du vendeur est susceptible de vouloir vérifier:

{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* DValue from the seller's Key/Value service response. */
}

Avant le début d'une enchère, le vendeur trouve l'annonce contextuelle la plus adaptée l'espace publicitaire disponible. Une partie de la logique scoreAd() refuse les annonces qui ne peuvent pas à battre le vainqueur du contexte.

scoreAd()

scoreAd() utilise les arguments suivants :

Argument Rôle
adMetadata Métadonnées arbitraires fournies par l'acheteur.
auctionConfig Objet de configuration des enchères transmis à navigator.runAdAuction().
bid Valeur d'enchère numérique.
trustedScoringSignals Valeurs récupérées au moment des enchères sur le serveur de confiance du vendeur, représentant l'opinion du vendeur sur l'annonce.

Questions fréquentes

Comment le vainqueur de l'enchère est-il désigné et qui les sélectionne ?

Le vendeur fournit la logique d'évaluation permettant de déterminer le niveau d'attractivité de chaque annonce, et le navigateur sélectionne le score le plus élevé pour désigner l'annonce gagnante.

Le vendeur inclut une logique dans la fonction scoreAd(), et le navigateur exécute la fonction dans un Worklet dont la communication avec le code est limitée en dehors de celui-ci. Le navigateur lui-même n'attribue pas d'évaluation aux annonces. Le navigateur est seul responsable de l'exécution de la logique d'évaluation et de la sélection de l'enchère avec le score le plus élevé.

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.