Protected Audience API 總覽

透過裝置端廣告競價放送再行銷廣告和自訂目標對象廣告,不必進行跨網站第三方追蹤。

這份文件的目標讀者是誰?

本文將介紹 Protected Audience API 的基本概念,並說明一些基礎概念,但不會深入探討技術細節。

如需 Protected Audience 說明文件使用的術語,請參閱詞彙表。本文結尾會說明如何參與討論及分享意見回饋

什麼是 Protected Audience API?

Protected Audience API 是 Privacy Sandbox 技術,用來服務再行銷和自訂目標對象,設計方針是讓第三方無法追蹤使用者的跨網站瀏覽行為。

瀏覽器可透過 Protected Audience API 進行裝置端競價,從使用者先前造訪的網站中選擇相關廣告。

Protected Audience API 是 Chromium 實作的第一項實驗,屬於 TURTLEDOVE 系列提案。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,以及如何在本地進行測試。

  • protected-audience-demo.web.app 逐步說明如何在廣告主和發布商網站上部署基本的 Protected Audience。Protected Audience 示範影片說明瞭這段程式碼的運作方式,並預覽如何使用 Chrome 開發人員工具進行偵錯。

有哪些瀏覽器設定可供使用?

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

Chrome 預計會讓使用者查看及管理自己加入的興趣群組清單,這些群組來自他們造訪過的網站。與 Privacy Sandbox 技術一樣,使用者設定可能會根據使用者、監管機構和其他各方的意見回饋而有所調整。

我們會根據測試和意見回饋,在 Protected Audience API 發展過程中更新 Chrome 的可用設定。 日後我們將提供更精細的設定,方便您管理 Protected Audience 和相關資料。

使用者在無痕模式下瀏覽時,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 中,買方是擁有興趣群組並參與廣告競價的一方。

例如:

  • 廣告主:代表自己行事。
  • 需求端平台 (DSP):代表廣告主。
  • 興趣群組擁有者:為多個廣告主工作。

買方有三項工作:

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

這些工作會以程式輔助方式完成,也就是在 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 廣告競價階段。

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

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

賣方會提供程式碼給瀏覽器,用來評估出價,包括每個出價的值、廣告素材網址,以及每個買方傳回的其他資料。在競價期間,買方的出價程式碼和賣方的出價評分程式碼可以從鍵/值服務接收資料。選擇廣告並顯示後 (在受限框架中,以維護隱私權),賣方和勝出的買方即可回報競價結果。

  1. 使用者造訪顯示廣告的網站。
  2. 賣方的程式碼會啟動競價。賣方會指定要銷售的廣告空間、可出價的對象,以及為這些出價評分的方法。
  3. 受邀買方的程式碼會執行,產生出價、相關廣告素材的網址和其他資料。出價指令碼可以從買方的鍵/值服務查詢即時資料,例如廣告活動的剩餘預算。
  4. 賣家的程式碼會為每個出價評分,並選出得標者。這項邏輯會使用出價值和其他資料,傳回出價的合適程度,並拒絕無法擊敗內容比對廣告勝出者的廣告。賣方可以使用自己的鍵/值服務取得即時資料。競價開始前,賣家會為可用的廣告版位尋找最佳內容相關廣告。
  5. 如果在競價設定中設定 resolveToConfig 標記,系統會將得標廣告以設有圍欄的影格設定物件形式傳回。設定檔會用於將設有圍欄的影格導向廣告素材,且廣告素材的網址會對賣家和發布商隱藏。如果 resolveToConfig 旗標設為 false 或未傳入,系統會以不透明的 URN 形式傳回得標廣告,可用於在 iframe 中顯示廣告。從 M114 開始,您可以使用設有圍欄的影格設定物件。
  6. 系統會向賣家和得標買家回報競價結果。

我們正在討論買家流失的通報機制。

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

廣告技術可透過 Protected Audience API 鍵/值服務,在買方出價時查詢即時資料,賣方則可在保護隱私權的同時為廣告評分。如要瞭解 Protected Audience API 鍵/值服務和其他服務,請參閱「Protected Audience API 服務」。

鍵/值服務會部署至廣告技術的雲端基礎架構,並在受信任的執行環境中執行。對鍵/值服務的要求不會導致事件層級記錄,也不會產生其他副作用。鍵/值服務也支援使用者定義函式 (UDF),可讓廣告技術在鍵/值服務中執行自訂邏輯。

買家或賣家提供「索引鍵」清單,指定要從 Protected Audience API 鍵/值服務取得的資料。鍵/值服務會針對每個鍵傳回值。

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

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

系統如何將即時資料納入競價?

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

為符合 Protected Audience API 的隱私權規定,廣告競價期間所需的即時資料是由鍵/值服務提供。買方每次呼叫 navigator.joinAdInterestGroup() 時,都會指定鍵/值服務網址,並在競價期間指定要向服務查詢的鍵。同樣地,賣方呼叫 navigator.runAdAuction() 執行廣告競價時,會提供鍵/值服務的網址。系統會使用廣告素材的算繪網址查詢賣方的鍵/值服務。

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

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

在受保護的目標對象競價中,第一方資料的用途為何?

第一方資料是網站擁有的使用者資料。舉例來說,如果使用者在廣告主或發布商的網站上指定了自己最喜歡的顏色,該顏色就會視為第一方資料。

在 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。

參與討論及分享意見