與單一賣方進行瀏覽器式競價

本文件概略說明執行競價的方式 單一賣方的 Protected Audience 資料,如目前的疊代作業中使用 Protected Audience API單一賣方的競價可 透過涉及多位賣方的複雜競價過程執行。在本 在此情況下,單一賣方競價稱為「元件競價」 可讓候選廣告參與「頂層競價」有多個賣家 參與。

如要瞭解 Protected Audience API 的完整生命週期,請參閱開發人員指南。 如需詳細說明,請參閱 Protected Audience API 說明 對賣方進行裝置端競價的討論。

Protected Audience API 廣告競價的六個階段

Protected Audience API 廣告競價的六個階段
此圖表概述 Protected Audience API 廣告競價的各個階段。
  1. 使用者造訪顯示廣告的網站。
  2. 賣方的程式碼執行 navigator.runAdAuction()。這可指定 廣告空間銷售,以及可出價的對象。銷售員也必須加入指令碼 為每次出價評分,scoreAd()
  3. 受邀買方的程式碼執行,以產生出價和相關廣告的網址 廣告素材等資料出價指令碼可以查詢即時資料 例如剩餘廣告活動預算 鍵/值服務
  4. 賣方的代碼會為每次出價評分,並選出勝出者。此邏輯會使用 出價和其他資料會傳回出價的合適度。達成競價的廣告 內容相關廣告的勝出組合就會遭到拒絕賣方可以使用自己的 即時資料的鍵/值服務
  5. 勝出的廣告會以不透明值的形式傳回,並在 圍欄頁框。賣方和 發布商將無法查看這個值。
  6. 系統會向賣方和得標買方回報競價內容。

當使用者前往顯示廣告的頁面時,系統就會進行競價。 競價可能會提前進行,這樣廣告素材在廣告放送時就能準備就緒

賣方啟動廣告競價,並使用提供的自訂邏輯為候選廣告評分 視為 scoreAd() 函式,且負責回報 和得標買方競價賣方也可以 強制執行發布商規則,並使用scoreAd()的 函式。

賣方可能會提及:

  • 內容發布商會自行在網站上代管廣告素材
  • 供應端平台 (SSP),與廣告發布商合作並提供其他服務
  • 第三方指令碼,可幫助發布商參與廣告競價。

執行競價的先決條件

賣方需要定義兩個 JavaScript 函式才能執行競價:

  • scoreAd(),以便為候選廣告評分
  • reportResult(),負責向賣方自行回報競價結果

這些指令碼必須透過賣方擁有的單一端點提供。

scoreAd()

賣方必須定義從端點提供的 scoreAd() 函式 以免自己擁有端點是在競價設定中指定 decisionLogicUrlscoreAd() 函式具有下列簽章:

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() 函式,該函式會從 取得自有的端點憑證端點已在競價設定中指定 做為 decisionLogicUrlreportResult() 函式具有以下特性 簽章:

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

reportResult() 的參數如下:

  • auctionConfig,這是用來執行競價的競價設定。
  • browserSignals,這是瀏覽器建構的物件,包括 以及買方的競價指令碼可能 以便驗證資料。這就是傳遞至 scoreAds() 函式的物件。

reportResult() 會傳回 signalsForWinner,也就是任意 JSON 物件 並傳送給得標買方的報表功能其中應包含 賣方能提供的任何競價相關資訊 必須仰賴他們的報告

執行 Protected Audience API 競價

賣方必須採取四個主要步驟,才能進行競價。請注意 步驟假設賣方已將端點設為傳回必要的 JavaScript

  1. 設定競價。此步驟包括建立 auctionConfig 物件。 如此一來,賣方就能指定讓哪些買方參與 ,並提供任何可能在出價期間相關的信號 產生或評分
  2. 呼叫 navigator.runAdAuction() 並傳入 藉此啟動買家鏈 產生出價,然後再評分這個步驟的最終結果是候選廣告 關於顯示廣告的像素
  3. 在圍欄頁框或 iframe 中顯示勝出的廣告
  4. 回報競價結果。這裡有一項功能 navigator.sendReportTo(),即可啟動報表。賣方一律會 收到競價結果報表只有贏得競價的買方 會收到報告。這會使用先前說明賣家的 reportResult() 向他們的伺服器回報。