瞭解如何使用 Topics 的興趣,做為 Protected Audience 出價和競價程序的輸入內容。Protected Audience 有數個面向,買方和賣方可以將第一方信號傳遞至出價和競價程序。Topics 提供的信號可運用在出價和廣告選擇過程中,補充目前使用者興趣的相關資訊,藉此提高廣告空間的潛在價值。
閱讀本指南前,請務必熟悉 Topics 和 Protected Audience 這兩個概念。
取得主題
呼叫 Topics API 時,呼叫端會看到之前針對該瀏覽器觀察到的一組主題。
const currentTopics = await document.browsingTopics();
// Example result
[
{
"configVersion": "chrome.2",
"modelVersion": "4",
"taxonomyVersion": "2",
"topic": 310,
"version": "chrome.2:2:4"
}
]
在這個案例中,主題:310
對應至「運動/自行車」。
下列範例顯示直接使用的主題值,但對於完整實作項目,可以選擇處理或與其他資料合併。
使用主題,根據條件定義興趣群組
產生的主題可直接用來選擇將使用者加入興趣群組。
if (currentTopics[0].topic === 310) { // Interest in "Sports/Cycling"
const interestGroup = {
owner: 'https://dsp.example',
name: 'custom-bikes',
}
}
為興趣群組提供買方主題
建立興趣群組時,您可以將目前的主題 (或已經處理的資料) 加入 userBiddingSignals
。如此一來,買方就能在出價時使用主題。
const interestGroup = {
owner: 'https://dsp.example',
name: 'custom-bikes',
userBiddingSignals: {
topics: currentTopics,
....
},
...
};
navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);
為競價提供賣方主題
設定競價時,賣方可以看到 (或從這些主題處理的資料) 會納入 auctionSignals
、sellerSignals
或 perBuyerSignals
的組合。如此一來,買方就能在出價時使用主題,賣方可以使用主題為出價評分。
const myAuctionConfig = {
seller: 'https://ssp.example',
auctionSignals: {
topics: currentTopics,
},
sellerSignals: {
topics: currentTopics,
},
perBuyerSignals: {
'https://dsp.example': {
topics: currentTopics,
// ...
},
// ...
},
// ...
};
const result = await navigator.runAdAuction(myAuctionConfig);
根據主題設定出價
這樣一來,呼叫買方的 generateBid()
函式時,傳入的記錄主題即可用於出價,就像信號中提供的任何其他資料一樣。舉例來說,出價工具可能會使用「運動/自行車」用這個 custom-bikes
個興趣群組提高出價。
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
const topics = interestGroup.userBiddingSignals.topics;
// Use the topic values in the bidding logic.
}
根據主題為出價評分
呼叫賣方的 scoreAd()
函式時出價後,記錄的主題的使用方式就和其他從競價設定傳遞的資料一樣。舉例來說,對於與偵測到的主題相符的廣告,賣方可能會想調高出價。
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
//...
}