Découvrez comment utiliser les centres d'intérêt issus de Topics pour le processus d'enchères Protected Audience. Protected Audience comporte plusieurs points où l'acheteur et le vendeur peuvent transmettre des signaux propriétaires au processus d'enchères. Les signaux fournis par Topics peuvent être utilisés pour enrichir les données disponibles lors du processus d'enchères et de sélection des annonces avec des informations sur les centres d'intérêt actuels des utilisateurs, ce qui augmente la valeur potentielle de l'inventaire publicitaire.
Avant de lire ce guide, assurez-vous de vous familiariser avec Topics et Protected Audience.
Obtenir des thèmes
Lorsqu'il appelle l'API Topics, l'appelant voit une sélection des thèmes qu'il a précédemment observés pour ce navigateur.
const currentTopics = await document.browsingTopics();
// Example result
[
{
"configVersion": "chrome.2",
"modelVersion": "4",
"taxonomyVersion": "2",
"topic": 310,
"version": "chrome.2:2:4"
}
]
Dans ce cas, le sujet 310
renvoie à "Sport/Cyclisme".
Ces exemples montrent les valeurs de thème utilisées directement, mais une implémentation complète peut choisir de les traiter ou de les combiner avec d'autres données.
Utiliser des thèmes pour définir un groupe de centres d'intérêt de manière conditionnelle
Le thème obtenu peut être utilisé directement pour choisir d'ajouter un utilisateur à un groupe de centres d'intérêt.
if (currentTopics[0].topic === 310) { // Interest in "Sports/Cycling"
const interestGroup = {
owner: 'https://dsp.example',
name: 'custom-bikes',
}
}
Fournir les thèmes des acheteurs à un groupe de centres d'intérêt
Les thèmes actuels (ou les données traitées à partir de ceux-ci) peuvent être inclus dans userBiddingSignals
lorsque vous créez le groupe de centres d'intérêt. Cela permet à l'acheteur d'utiliser des thèmes pour définir des enchères.
const interestGroup = {
owner: 'https://dsp.example',
name: 'custom-bikes',
userBiddingSignals: {
topics: currentTopics,
....
},
...
};
navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);
Proposer des thèmes de vendeurs pour une mise aux enchères
Les thèmes actuellement visibles par le vendeur (ou les données traitées à partir de ceux-ci) peuvent être inclus dans une combinaison de auctionSignals
, sellerSignals
ou perBuyerSignals
lors de la configuration de l'enchère. Cela permet à l'acheteur d'utiliser des thèmes lors de la définition des enchères et au vendeur d'utiliser des thèmes pour évaluer les enchères.
const myAuctionConfig = {
seller: 'https://ssp.example',
auctionSignals: {
topics: currentTopics,
},
sellerSignals: {
topics: currentTopics,
},
perBuyerSignals: {
'https://dsp.example': {
topics: currentTopics,
// ...
},
// ...
},
// ...
};
const result = await navigator.runAdAuction(myAuctionConfig);
Utiliser des thèmes lorsque vous définissez des enchères
Ensuite, lorsque la fonction generateBid()
de l'acheteur est appelée, les thèmes enregistrés transmis peuvent être utilisés (comme toutes les autres données fournies dans les signaux) pour faciliter les enchères. Par exemple, l'enchérisseur peut utiliser la présence de l'option "Sports/Cycling" thème pour définir une enchère plus élevée dans ce groupe de centres d'intérêt custom-bikes
.
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
const topics = interestGroup.userBiddingSignals.topics;
// Use the topic values in the bidding logic.
}
Utiliser des thèmes lors de l'évaluation des enchères
Une fois les enchères définies lorsque la fonction scoreAd()
du vendeur est appelée, les thèmes enregistrés peuvent être utilisés comme toutes les autres données transmises à partir de la configuration des enchères. Par exemple, le vendeur peut vouloir pondérer des enchères plus élevées pour les annonces qui correspondent aux thèmes détectés.
scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals, directFromSellerSignals) {
const sellerTopics = actionConfig.auctionSignals.topics;
// or corresponding key in sellerSignals
// use the topics values to score the ads
//...
}