Mettre en place des enchères basées sur un navigateur avec un seul vendeur

Dans ce document, vous trouverez une présentation générale de la mise en concurrence avec Données Protected Audience pour un seul vendeur, telles qu'elles sont utilisées dans l'itération actuelle de l'API Protected Audience. Une enchère avec un seul vendeur peut être sont exécutées dans le cadre d'enchères plus complexes impliquant plusieurs vendeurs. Dans ce l'enchère d'un vendeur unique est appelée "enchère par composants", peuvent proposer des annonces candidates à l'enchère de premier niveau ; qui regroupe plusieurs vendeurs participants.

Consultez le guide du développeur pour découvrir le cycle de vie complet de l'API Protected Audience. et consultez la présentation de l'API Protected Audience pour une une discussion sur la façon dont les vendeurs lancent les enchères sur l'appareil.

Six étapes d'une enchère publicitaire de l'API Protected Audience

<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.

Une enchère peut avoir lieu lorsqu'un utilisateur accède à une page qui diffuse une annonce. Les enchères peuvent avoir lieu à l'avance afin que la création soit prête au moment où l'annonce d'un emplacement s'affiche.

Les vendeurs lancent les enchères publicitaires et évaluent les annonces candidates à l'aide de la logique personnalisée fournie. en tant que fonction scoreAd(), et sont chargés de créer un rapport sur les résultats à eux-mêmes ainsi qu'à l'acheteur gagnant. Les vendeurs peuvent également appliquer les règles des éditeurs et filtrer la qualité des annonces à l'aide de leur scoreAd() .

Un vendeur peut faire référence aux éléments suivants:

  • Éditeurs de contenu agissant pour leur propre compte pour héberger le contenu des annonces sur leur site Web
  • Plates-formes côté offre (SSP), qui collaborent avec l'éditeur d'annonces et fournissent d'autres services
  • Scripts tiers permettant aux éditeurs de participer à des enchères publicitaires.

Conditions préalables à la mise aux enchères

Un vendeur a besoin que deux fonctions JavaScript soient définies pour lancer une mise aux enchères:

  • scoreAd(), qui attribue une note à une annonce candidate
  • reportResult(), qui gère le signalement du résultat de l'enchère au vendeur lui-même

Ces scripts doivent être diffusés à partir d'un point de terminaison unique appartenant au vendeur.

scoreAd()

Un vendeur doit définir une fonction scoreAd() diffusée à partir d'un point de terminaison qu'ils possèdent. Le point de terminaison est spécifié dans la configuration de la mise aux enchères en tant que decisionLogicUrl La fonction scoreAd() a la signature suivante:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

Les paramètres scoreAd() sont les suivants:

  • adMetaData, qui correspond à des métadonnées arbitraires concernant la création publicitaire fournies par l'acheteur. Il s'agit d'un objet JSON sérialisable que les vendeurs et les acheteurs devront définir la structure et s'y mettre.
  • bid, qui est une valeur numérique représentant l'enchère.
  • auctionConfig, qui correspond à la configuration utilisée pour exécuter l'enchère.
  • trustedScoringSignals, qui correspondent à des signaux lus au moment de la mise aux enchères à partir de le serveur clé-valeur du vendeur. La plate-forme utilisera le renderUrl du comme clé pour cette recherche.
  • browserSignals, qui est un objet construit par le navigateur, y compris des informations connues du navigateur et que le script d'enchères du vendeur pourrait que vous voulez vérifier.
  • directFromSellerSignals est un objet qui peut contenir les champs suivants: ** sellerSignals: semblable à auctionConfig.sellerSignals, mais transmis à l'aide de la Mécanisme directFromSellerSignals. ** auctionSignals: semblable à auctionConfig.auctionSignals, mais transmis à l'aide de la méthode directFromSellerSignals.

Voici un exemple de browserSignals. Notez que le renderUrl de une annonce candidate est disponible par le biais des signaux suivants:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

Un vendeur doit définir une fonction reportResult() diffusée depuis un qui lui appartient. Le point de terminaison est spécifié dans la configuration de la mise aux enchères. comme decisionLogicUrl. La fonction reportResult() comporte les éléments suivants : signature:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

Les paramètres reportResult() sont les suivants:

  • auctionConfig, qui correspond à la configuration utilisée pour exécuter l'enchère.
  • browserSignals, qui est un objet construit par le navigateur, y compris des informations connues du navigateur et que le script d'enchères du vendeur pourrait que vous voulez vérifier. Il s'agit du même objet transmis à la fonction scoreAds().

reportResult() renvoie signalsForWinner, qui est un objet JSON arbitraire qui est transmis à la fonction de création de rapports de l'acheteur ayant remporté l'enchère. Cela doit inclure Toute information pertinente que le vendeur peut fournir à propos de l'enchère que l'acheteur peut pour la création de rapports.

Exécuter une mise aux enchères de l'API Protected Audience

Un vendeur doit suivre quatre étapes principales pour lancer une mise aux enchères. Notez que ces Cette procédure suppose que le vendeur a configuré un point de terminaison pour renvoyer le code JavaScript requis. mentionnées précédemment dans ce guide.

  1. Configurez la mise aux enchères. Cette étape inclut la création d'un objet auctionConfig. Cela permet au vendeur de spécifier quels acheteurs doivent participer au et fournir tout signal pertinent lors de la mise en concurrence ou l'évaluation des annonces.
  2. Pour exécuter l'enchère, appelez navigator.runAdAuction() et transmettez la valeur que vous avez créée à l'étape précédente. Cela initie la chaîne d'acheteurs les enchères, puis l'évaluation. Le résultat de cette étape est une annonce candidate pouvant être affichés pour afficher une annonce.
  3. Affichez l'annonce gagnante dans un cadre cloisonné ou un iFrame.
  4. Indiquer le résultat de la mise aux enchères. Il y a une fonction, navigator.sendReportTo(), qui lancera la création de rapports. Le vendeur doit toujours reçoivent un rapport sur les résultats des enchères. Seul l'acheteur qui a remporté l'enchère reçoivent un rapport. Cette opération utilise l'attribut reportResult() du vendeur décrit précédemment dans ce guide pour créer des rapports sur leur serveur.