Protected Audience API

使用裝置端廣告競價來放送再行銷和自訂目標對象,不需要跨網站第三方追蹤。

本文適用對象

本文將介紹 Protected Audience API 的基本概念,並說明一些基礎概念,但內容並不完整。

請參閱詞彙解釋,瞭解 Protected Audience 說明文件中使用的詞彙。在本文最後,您將瞭解如何互動及分享意見回饋

什麼是 Protected Audience API?

Protected Audience API 是一項 Privacy Sandbox 技術,可用於提供再行銷和自訂目標對像用途,因此第三方無法追蹤跨網站的瀏覽行為。

Protected Audience API 可讓瀏覽器在裝置端競價,從使用者造訪過的網站選擇相關廣告。

Protected Audience API 是可在 TURTLEDOVE 提案系列中導入 Chromium 的第一個實驗。Protected Audience 和 TURTLEDOVE 之間的差異,主要在於區隔廣告買方和賣方的裝置端角色。以下各節將說明 Protected Audience API 的運作方式。

一分鐘即可取得 Protected Audience API

如要深入瞭解 Protected Audience API,請參閱「Protected Audience API 開發人員指南」。

Protected Audience API 生命週期每個階段的總覽
Protected Audience API 生命週期:

Protected Audience API 會使用興趣群組,讓網站顯示與使用者相關的廣告。

舉例來說,當使用者造訪要宣傳自家產品的網站時,興趣群組擁有者 (例如需求端平台 (DSP)) 可以要求使用者的瀏覽器為興趣群組新增成員資格。如果要求成功,瀏覽器會記錄以下內容:

  • 興趣群組的名稱:例如「custom-bikes」。
  • 興趣群組的擁有者:例如「https://dsp.example」。
  • 興趣群組設定資訊:如果群組擁有者受邀在廣告競價中出價,瀏覽器可以存取出價程式碼、廣告程式碼和即時資料。

之後使用者造訪有可用廣告空間的網站時,廣告空間賣方 (賣方供應商 (SSP) 或網站本身) 即可使用 Protected Audience 執行廣告競價,挑選並向使用者顯示最合適的廣告。賣方會呼叫 navigator.runAdAuction() 函式,該函式會提供受邀出價的興趣群組擁有者清單。

出價只能由瀏覽器所屬的興趣群組提供,且群組擁有者已受邀出價。

系統會從興趣群組設定中提供的網址擷取出價程式碼。這個程式碼提供賣方的興趣群組和資訊,以及網頁和瀏覽器的比對內容資料。

也就是提供出價的每個興趣群組,稱為買方。

當瀏覽器呼叫函式執行廣告競價時,每個買方的程式碼會根據其 Protected Audience 鍵/值服務提供的即時資料產生出價。接著,賣方會收到這些出價,以及賣方擁有的即時資料和每筆出價評分。得分最高的出價即為競價勝出者。

勝出的廣告會在圍欄頁框中顯示。出價中指定的廣告素材網址,且來源必須與興趣群組設定中提供的清單一致。

賣方可以回報競價結果 (reportResult()),買方也可以回報勝出結果 (reportWin())。

瞭解 Protected Audience 競價報表

為什麼需要使用 Protected Audience API?

瞭解使用者興趣,除了根據網站內容選擇廣告 (內容比對) 外,也可以使用使用者造訪網站時提供的資訊 (指定第一方資料),製作出更切合需求的廣告。

傳統上,廣告平台透過追蹤使用者跨網站的行為,藉此掌握使用者興趣。瀏覽器需要能夠讓廣告平台選擇相關廣告,以便內容發布商在不跨網站追蹤的情況下獲得廣告收益。

Protected Audience API 的目標是將網路平台移近使用者裝置瀏覽器的狀態,而非廣告客戶或廣告技術平台,藉此掌握使用者感興趣的資訊。

該如何試用 Protected Audience API?

  • Protected Audience API 開發人員指南說明如何使用 API,以及如何在本機進行測試。

  • Protect-audience-demo.web.app 提供跨廣告客戶與發布商網站的基本 Protected Audience 部署逐步操作說明。Protected Audience 示範影片會說明此程式碼的運作方式,並預覽如何使用 Chrome 開發人員工具進行偵錯。

可以使用哪些瀏覽器設定?

使用者可以在 chrome://settings/adPrivacy 中啟用或停用 Chrome 的頂層設定,藉此調整是否參與 Chrome 的 Privacy Sandbox 試用計畫。在初始測試期間,使用者可以透過 Privacy Sandbox 設定選擇退出 Protected Audience API。

Chrome 計劃讓使用者查看及管理自己造訪過的網站上的興趣群組清單。與 Privacy Sandbox 技術一樣,使用者設定可能會隨著使用者、監管機構等意見回饋的改進。

隨著 Protected Audience API 的發展,我們會依據根據測試和意見回饋的進展,更新 Chrome 中的可用設定。日後我們將提供更精細的設定,協助您管理 Protected Audience 和相關資料。

使用者在無痕模式下瀏覽網頁時,API 呼叫端無法存取群組成員,而當使用者清除網站資料時,API 呼叫端就會移除成員資格。

我可以選擇退出 Protected Audience API 嗎?

瞭解如何以網站擁有者或個別使用者的身分封鎖 Protected Audience API 存取權

核心概念

想進一步瞭解 Protected Audience 術語嗎?請參閱 Privacy Sandbox 詞彙

什麼是興趣群組?

Protected Audience API 興趣群組代表有共同興趣的一群使用者,對應再行銷名單。

每個 Protected Audience API 興趣群組都有擁有者。不同的擁有者類型會建立不同類型的興趣群組,用途也不盡相同。

擁有者會呼叫 JavaScript 函式 navigator.joinAdInterestGroup(),提供與興趣群組相關的廣告資料,以及用於出價的 JavaScript 網址,藉此要求使用者的瀏覽器新增興趣群組。興趣群組資料 (例如廣告) 也可以更新,興趣群組啟用期限最長可達 30 天。

下表舉例說明不同類型的 Protected Audience API 興趣群組和擁有者。

擁有者 範例 興趣 範例 應用情境
廣告主 自行車製作工具 產品 查看過特定單車類別產品網頁的人。 再行銷給曾與品牌互動的使用者。
發布者 新聞網站 內容 曾閱讀單車相關文章的使用者。 發布商可運用第一方資料,讓廣告客戶能購買與自家網站讀者相關的廣告。發布商擁有的興趣群組可讓發布商達成同樣的目標,即使這些使用者在瀏覽其他網站時也是如此。發布商或許可以收取向特定目標對象區隔放送廣告的資格。
廣告技術 DSP 產品類別 對自行車裝備感興趣的人。 廣告技術公司可以建立及管理興趣群組,而使用者認為有意購買某種商品類別的使用者。然後,這個興趣群組就能在銷售該類別 (以及廣告技術公司與廣告技術公司) 合作的網站上,宣傳產品。

Chrome 允許每位擁有者最多 1000 個興趣群組,以及最多 1000 位興趣群組擁有者。這些限制旨在當做防護機制,並非正常作業。

什麼是買方?

在 Protected Audience API 中,買方是指擁有興趣群組和廣告競價出價的一方。

例如:

  • 廣告客戶:行為本身。
  • 需求端平台:為廣告客戶提供服務。
  • 興趣群組擁有者:適用於多個廣告客戶。

買方有三種工作:

  • 選擇是否要參與競價。
  • 選擇廣告並計算出價。
  • 回報競價結果。

這些工作會透過買方提供的程式碼,以程式輔助方式在 Protected Audience API 廣告競價期間執行。

當買方要求使用者的瀏覽器在所屬群組中加入興趣群組 (藉由呼叫 JavaScript 函式 navigator.joinAdInterestGroup()),買方將提供瀏覽器:

  • 出價程式碼的網址,用於賣方執行廣告競價時。
  • 可能的興趣群組的廣告素材網址。(廣告網址之後可能會以更新的形式加入。)
  • 要查詢的資料清單,以及買家鍵/值服務的網址,可讓出價程式碼在競價期間取得即時資料。

買方程式碼也可以加入 reportWin() 函式,回報競價結果。

誰負責進行廣告競價?

為銷售廣告空間時,可能會同時進行多方競價。

例如:

  • 內容發布商:代替自己在網站上代管廣告素材。
  • 供應端平台 (SSP):與發布商合作並提供其他服務。
  • 第三方指令碼:代表發布商用來參與廣告競價。

導入 Protected Audience API 後,廣告空間「賣方」有三種工作:

  • 執行發布商規則:說明哪些買方和哪些出價符合資格。
  • 執行競價邏輯:JavaScript 在工作流程中執行,來計算每項出價的理想分數。
  • 回報競價結果。

這些工作會透過呼叫 JavaScript 函式 navigator.runAdAuction() 而由賣方提供的程式碼中,以程式輔助方式完成。

Protected Audience API 廣告競價的運作方式為何?

下圖概略說明 Protected Audience API 廣告競價的各個階段:

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

在 Protected Audience API 中,廣告競價是指瀏覽器在使用者裝置上執行的一組小型 JavaScript 程式,以選擇廣告。為保護隱私權,賣方和買方的所有廣告競價程式碼都會在無法與外部通訊的獨立 JavaScript 指令碼中執行。

賣方 (發布商或供應端平台) 在銷售廣告空間 (例如新聞網站) 的網站上啟動 Protected Audience 廣告競價。賣方可以選擇買方參與競價、指明要銷售的空間,並為廣告提供其他條件。每個買方都是興趣群組的擁有者。

賣方提供出價給瀏覽器的程式碼,包括每個出價的值、廣告素材網址,以及每個買方傳回的其他資料。在競價期間,買方的出價程式碼和賣方的出價評分程式碼,都可從他們的鍵/值服務接收資料。廣告選擇完畢並顯示 (基於保護隱私的圍欄頁框) 後,賣方和得標買方就能回報競價結果。

  1. 使用者造訪顯示廣告的網站。
  2. 賣方代碼發起競價。賣方可指定哪些廣告空間要銷售和出價,以及為這些出價評分的方法。
  3. 受邀買方的程式碼會執行出價、相關廣告素材的網址及其他資料。出價指令碼可查詢來自買家鍵/值服務的即時資料,例如剩餘廣告活動預算。
  4. 賣方程式碼會計算每個出價並選出勝出者。這個邏輯會使用出價值和其他資料傳回出價的理想選擇,並拒絕無法贏過內容相關廣告勝出者的廣告。賣方可以使用自己的鍵/值服務處理即時資料。在競價開始前,賣方為可用廣告版位尋找最適合的內容相關廣告。
  5. 在競價設定中設定 resolveToConfig 標記時,系統將以圍欄頁框設定物件傳回勝出的廣告。這項設定是用來將 Fenced Frame 前往廣告素材,賣方和發布商皆會隱藏廣告素材網址。如果將 resolveToConfig 旗標設為 false 或未傳入,則勝出的廣告會以不透明 URN 傳回,可用於在 iframe 中顯示廣告。Fenced Frame 設定物件自 M114 起開放使用。
  6. 系統會將競價回報給賣方和得標買方。

要贏得買家青睞的報表機制,請參閱討論中的說明

什麼是 Protected Audience API 鍵/值服務?

Protected Audience API 鍵/值服務可讓廣告技術在買方出價時查詢即時資料,也可讓賣方在保障隱私權的情況下查詢廣告分數。如要進一步瞭解 Protected Audience API 鍵/值服務和其他項目,請參閱 Protected Audience API 服務

鍵/值服務會部署至廣告技術本身的雲端基礎架構,服務會在值得信賴的執行環境中執行。要求鍵/值服務無法產生事件層級記錄,或造成其他副作用。鍵/值服務也支援使用者定義函式 (UDF),讓廣告技術可以在鍵/值服務中執行自己的自訂邏輯。

買方或賣方提供一份「鍵」清單,用於指定他們需要來自 Protected Audience API 鍵/值服務的資料。「鍵/值」服務會回應每個鍵的值。

您現在可以在 Privacy Sandbox GitHub 存放區中取得 Protected Audience API 鍵/值服務程式碼。Chrome 和 Android 開發人員可使用這項服務。

如要進一步瞭解 Protected Audience API 鍵/值服務,請參閱 API 說明信任模型說明

即時資料如何參與競價?

廣告競價中的買方賣方可能需要存取即時資料。舉例來說,買方可能想計算廣告活動的剩餘預算,或賣方可能必須根據發布商政策檢查廣告素材。

為符合 Protected Audience API 的隱私權規定,鍵/值服務會提供在廣告競價期間所需的即時資料。每個買方呼叫 navigator.joinAdInterestGroup() 時,買方會指定「鍵/值」服務網址,並指定競價期間要查詢服務的鍵。同樣地,當賣方呼叫 navigator.runAdAuction() 執行廣告競價時,賣方會提供「鍵/值」服務的網址。系統將透過廣告素材的顯示網址,查詢賣方的鍵/值服務。

初始測試作業則會使用「自備伺服器」模型。長遠來看,廣告技術都必須使用在可信任執行環境執行的開放原始碼 Protected Audience API 鍵/值服務擷取即時資料。

為確保生態系統有足夠的時間進行測試,我們預計在第三方 Cookie 淘汰後,才要求使用開放原始碼鍵/值服務或受信任的執行環境。我們會在轉換作業開始前,向開發人員發出重大通知,協助他們開始測試及採用。

Protected Audience 競價會如何使用第一方資料?

第一方資料是指網站使用者所擁有的資料。舉例來說,如果使用者在廣告客戶或發布商的網站上指定最喜歡的顏色,系統就會將這個顏色視為第一方資料。

在 Protected Audience 競價中,廣告客戶可以使用第一方資料決定廣告興趣群組成員資格,也可以將資料做為 userBiddingSignals 傳入興趣群組。只有買方可以在出價產生步驟中使用廣告客戶提供的第一方資料,賣方不會看到這些資料。

舉例來說,假設廣告客戶知道使用者最常用的顏色,在加入興趣群組後,您可以在興趣群組設定中將這個值設為 userBiddingSignals

const interestGroup = {
  owner: 'https://example-buyer.com',
  name: 'running-shoes',
  userBiddingSignals: {
    favoriteColor: 'blue' // First-party data
  },
  // ...other interest group settings
};

navigator.joinAdInterestGroup(interestGroup, 3600);

發布商也可以在啟動競價時設定競價設定中的信號,藉此傳遞第一方資料,並控制接收第一方資料的對象。當發布商以 auctionSignals 的形式傳遞第一方資料時,買方和賣方均可使用這些資料。如果資料是以 sellerSignals 的形式傳遞,則只有賣方能使用;而以 perBuyerSignals 傳入時,則只會提供給指定買方。發布商也可以傳送第一方資料給元件競價。發布商和競價參與者應先約定要分享哪些第一方資料,以及資料需要採用的格式。

以下範例說明發布商如何將第一方資料傳送給各種競價參與者:

const auctionConfig = {
  seller: 'https://example-seller.com',
  auctionSignals: {
    favoriteColor: 'blue', // Both buyer and seller will receive this signal
  },
  sellerSignals: {
    favoriteIceCreamFlavor: 'chocolate', // Only the seller will receive this signal
  },
  perBuyerSignals: {
    'https://example-buyer.com': {
      favoriteDrink: 'tea', // Only a specific buyer will receive this signal
    },
  },
  // The same pattern applies to the component auction
  componentAuctions: [{
    seller: 'https://example-component-seller.com',
    auctionSignals: { ... },
    sellerSignals: { ... },
    perBuyerSignals { ... }
  }],
  // ...other auction settings
};

navigator.runAdAuction(auctionConfig);

瞭解詳情

如要深入瞭解 Protected Audience API,請參閱「Protected Audience API 開發人員指南」。

開發人員

如果您已準備好開始使用 Protected Audience API,請參閱實驗並參與

我們撰寫了 API 開發人員指南,並製作了 Protected Audience API 示範,當中提供基本 Protected Audience API 部署的逐步操作說明。Protected Audience API 示範影片會解釋示範程式碼的運作方式,以及如何使用 Chrome 開發人員工具進行 Protected Audience API 偵錯。

互動並提供意見