本文件概略說明執行競價的方式 單一賣方的 Protected Audience 資料,如目前的疊代作業中使用 Protected Audience API單一賣方的競價可 透過涉及多位賣方的複雜競價過程執行。在本 在此情況下,單一賣方競價稱為「元件競價」 可讓候選廣告參與「頂層競價」有多個賣家 參與。
如要瞭解 Protected Audience API 的完整生命週期,請參閱開發人員指南。 如需詳細說明,請參閱 Protected Audience API 說明 對賣方進行裝置端競價的討論。
Protected Audience API 廣告競價的六個階段
![Protected Audience API 廣告競價的六個階段](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/six-stages-a-protected-a-3e1dd6fdeddbe.png?authuser=9&hl=zh-tw)
- 使用者造訪顯示廣告的網站。
- 賣方的程式碼執行
navigator.runAdAuction()
。這可指定 廣告空間銷售,以及可出價的對象。銷售員也必須加入指令碼 為每次出價評分,scoreAd()
。 - 受邀買方的程式碼執行,以產生出價和相關廣告的網址 廣告素材等資料出價指令碼可以查詢即時資料 例如剩餘廣告活動預算 鍵/值服務:
- 賣方的代碼會為每次出價評分,並選出勝出者。此邏輯會使用 出價和其他資料會傳回出價的合適度。達成競價的廣告 內容相關廣告的勝出組合就會遭到拒絕賣方可以使用自己的 即時資料的鍵/值服務。
- 勝出的廣告會以不透明值的形式傳回,並在 圍欄頁框。賣方和 發布商將無法查看這個值。
- 系統會向賣方和得標買方回報競價內容。
當使用者前往顯示廣告的頁面時,系統就會進行競價。 競價可能會提前進行,這樣廣告素材在廣告放送時就能準備就緒
賣方啟動廣告競價,並使用提供的自訂邏輯為候選廣告評分
視為 scoreAd()
函式,且負責回報
和得標買方競價賣方也可以
強制執行發布商規則,並使用scoreAd()
的
函式。
賣方可能會提及:
- 內容發布商會自行在網站上代管廣告素材
- 供應端平台 (SSP),與廣告發布商合作並提供其他服務
- 第三方指令碼,可幫助發布商參與廣告競價。
執行競價的先決條件
賣方需要定義兩個 JavaScript 函式才能執行競價:
scoreAd()
,以便為候選廣告評分reportResult()
,負責向賣方自行回報競價結果
這些指令碼必須透過賣方擁有的單一端點提供。
scoreAd()
賣方必須定義從端點提供的 scoreAd()
函式
以免自己擁有端點是在競價設定中指定
decisionLogicUrl
。scoreAd()
函式具有下列簽章:
scoreAd(
adMetadata,
bid,
auctionConfig,
trustedScoringSignals,
browserSignals,
directFromSellerSignals)
scoreAd()
的參數如下:
adMetaData
,即廣告素材的任意中繼資料, 買方提供的描述這是 JSON 可序列化物件, 買方必須定義並同意結構bid
:代表出價的數值。auctionConfig
,這是用來執行競價的競價設定。trustedScoringSignals
,這是競價期間讀取的信號 賣方的鍵/值伺服器。平台會使用renderUrl
的 候選廣告做為這項查詢的關鍵。browserSignals
,這是瀏覽器建構的物件,包括 以及買方的競價指令碼可能 以便驗證資料。directFromSellerSignals
是一個物件,可能包含下列欄位: **sellerSignals
:就像auctionConfig.sellerSignals
,但使用directFromSellerSignals
機制。 **auctionSignals
:與auctionConfig.auctionSignals
一樣,但使用directFromSellerSignals
機制。
以下是 browserSignals
的範例。請注意,SDK 的 renderUrl
候選廣告可透過以下信號放送:
{ '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()
賣方需要定義 reportResult()
函式,該函式會從
取得自有的端點憑證端點已在競價設定中指定
做為 decisionLogicUrl
。reportResult()
函式具有以下特性
簽章:
reportResult(auctionConfig, browserSignals) {
...
return signalsForWinner;
}
reportResult()
的參數如下:
auctionConfig
,這是用來執行競價的競價設定。browserSignals
,這是瀏覽器建構的物件,包括 以及買方的競價指令碼可能 以便驗證資料。這就是傳遞至scoreAds()
函式的物件。
reportResult()
會傳回 signalsForWinner
,也就是任意 JSON 物件
並傳送給得標買方的報表功能其中應包含
賣方能提供的任何競價相關資訊
必須仰賴他們的報告
執行 Protected Audience API 競價
賣方必須採取四個主要步驟,才能進行競價。請注意 步驟假設賣方已將端點設為傳回必要的 JavaScript
- 設定競價。此步驟包括建立
auctionConfig
物件。 如此一來,賣方就能指定讓哪些買方參與 ,並提供任何可能在出價期間相關的信號 產生或評分 - 呼叫
navigator.runAdAuction()
並傳入 藉此啟動買家鏈 產生出價,然後再評分這個步驟的最終結果是候選廣告 關於顯示廣告的像素 - 在圍欄頁框或 iframe 中顯示勝出的廣告。
- 回報競價結果。這裡有一項功能
navigator.sendReportTo()
,即可啟動報表。賣方一律會 收到競價結果報表只有贏得競價的買方 會收到報告。這會使用先前說明賣家的reportResult()
向他們的伺服器回報。