裝置端廣告競價,放送再行銷廣告和自訂目標對象,不必跨網站追蹤第三方。
這篇文章適用對象
本文將介紹 Protected Audience API 的基本概念,並說明一些基礎概念,但不會深入探討技術細節。
- 如果您從事廣告或廣告技術相關工作,將可瞭解Protected Audience 的運作方式。
- 如果您是開發人員或軟體工程師,請參閱 Protected Audience API 開發人員指南,進一步瞭解 API 的技術細節。請參閱待處理 Protected Audience 功能的最新狀態。
如要瞭解 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 會使用興趣群組,讓網站顯示與使用者相關的廣告。
舉例來說,當使用者造訪想宣傳產品的網站時,興趣群組擁有者 (例如需求端平台 (DSP)) 可以要求使用者的瀏覽器為興趣群組新增會員。如果要求成功,瀏覽器會記錄下列項目:
- 興趣相似目標對象的名稱:例如「custom-bikes」。
- 興趣群組的擁有者:例如「https://dsp.example」。
- 興趣群組設定資訊:如果群組擁有者獲邀在廣告競價中出價,則可讓瀏覽器存取出價程式碼、廣告程式碼和即時資料。
之後,如果使用者造訪有可用廣告空間的網站,廣告空間賣家 (供應端供應商 (SSP) 或網站本身) 就能使用 Protected Audience 執行廣告競價,選出最適合向使用者顯示的廣告。賣方會呼叫 navigator.runAdAuction()
函式,提供獲邀出價的興趣群組擁有者清單。
出價只能由瀏覽器所屬的興趣群組提供,且該群組的擁有者已獲邀出價。
系統會從興趣群組設定中提供的網址擷取出價程式碼。這個程式碼會提供興趣群組和賣家提供的資訊,以及網頁和瀏覽器的背景資料。
每個提供出價的興趣群組都稱為買方。
當瀏覽器呼叫函式來執行廣告競價時,每個買方的程式碼都會利用Protected Audience 鍵/值服務提供的即時資料產生出價。接著,賣方會收到這些出價,以及賣方擁有的即時資料,並為每項出價評分。得分最高的出價即為競價勝出者。
勝出的廣告會顯示在柵欄框架中。出價中會指定廣告素材網址,且來源必須與興趣群組設定提供的清單相符。
賣方可以回報競價結果 (reportResult()
),買方則可以回報得標結果 (reportWin()
)。
為什麼需要 Protected Audience API?
除了根據網站內容 (情境指定) 或使用者提供給廣告刊登網站的資訊 (第一方資料指定) 選擇廣告,您還可以瞭解使用者興趣,放送更相關的廣告。
以往,廣告平台會追蹤使用者在不同網站上的行為,藉此瞭解使用者的興趣。瀏覽器需要提供一種方法,讓廣告平台能夠選取相關廣告,讓內容發布者不必跨網站追蹤,也能獲得廣告收益。
Protected Audience API 的目標是讓網頁平台更接近一種狀態,在這種狀態下,使用者裝置上的瀏覽器 (而非廣告客戶或廣告技術平台) 會保留使用者感興趣的資訊。
如何試用 Protected Audience API?
Protected Audience API 開發人員指南說明如何使用 API 及如何在本機測試。
protected-audience-demo.web.app 提供基本 Protected Audience 部署程序的逐步操作說明,適用於廣告主和發布商網站。Protected Audience 示範影片會說明這段程式碼的運作方式,並預覽如何使用 Chrome 開發人員工具進行偵錯。
可用的瀏覽器設定為何?
使用者可以透過啟用或停用 chrome://settings/adPrivacy
中的頂層設定,調整在 Chrome 中參與 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 允許每位擁有者最多建立 1,000 個興趣群組,最多可有 1,000 位興趣群組擁有者。這些限制是用來做為防護措施,在正常運作時不應觸及。
什麼是買家?
在 Protected Audience API 中,買方是指擁有興趣群組,並在廣告競價中出價的一方。
例如:
買方有三項工作:
- 選擇是否要參與競價。
- 選擇廣告並計算出價。
- 回報競價結果。
這些工作會以程式輔助方式完成,並在買方提供的程式碼中執行,該程式碼會在 Protected Audience API 廣告競價期間執行。
當買方要求使用者的瀏覽器將興趣群組加入該群組的會員 (透過呼叫 JavaScript 函式 navigator.joinAdInterestGroup()
),買方會提供以下資訊給瀏覽器:
- 出價程式碼的網址,會在賣方執行廣告競價時使用。
- 可能會是興趣群組的廣告素材網址。(廣告網址可能會在日後的更新中加入)。
- 要查詢的資料鍵清單,以及買方的鍵/值服務網址,以便出價程式碼在競價期間取得即時資料。
買方的程式碼也可以加入 reportWin()
函式,用於回報競價結果。
誰會執行廣告競價?
有多方可能會執行競價來銷售廣告空間。
例如:
- 內容發布商:自行在網站上代管廣告內容。
- 供應端平台 (SSP):與發布商合作並提供其他服務。
- 第三方指令碼:代表發布商參與廣告競價。
使用 Protected Audience API 時,廣告空間賣家有三項工作:
- 強制執行發布商規則:指出哪些買方和出價符合資格。
- 執行競價邏輯:在 worklet 中執行 JavaScript,計算每個出價的適合度分數。
- 回報競價結果。
這些工作會以程式輔助方式完成,賣方在透過呼叫 JavaScript 函式 navigator.runAdAuction()
啟動廣告競價時,會在其提供的程式碼中執行這些工作。
Protected Audience API 廣告競價的運作方式為何?
下圖概略說明 Protected Audience API 廣告競價的各個階段:

在 Protected Audience API 中,廣告競價是指瀏覽器在使用者裝置上執行的一系列小型 JavaScript 程式,用於選擇廣告。為保護隱私權,賣方和買方提供的所有廣告競價程式碼都會在隔離的 JavaScript worklet 中執行,無法與外部溝通。
賣方 (發布商或供應方平台) 會在販售廣告空間的網站 (例如新聞網站) 上啟動 Protected Audience 廣告競價。賣方會選擇參與競價的買家、指出要出售的空間,並提供廣告的其他條件。每位買家都是興趣群組的擁有者。
賣方會為瀏覽器提供出價評分程式碼,其中包含每個出價的價值、廣告素材網址,以及各個買方傳回的其他資料。在競價期間,買方的出價程式碼和賣方的出價評分程式碼可以從鍵/值服務接收資料。選擇並顯示廣告後 (在圍欄框架中顯示,以保護隱私權),賣方和勝出買家就能回報競價結果。
- 使用者造訪顯示廣告的網站。
- 賣方的程式碼會啟動競價。賣方會指定要銷售的廣告空間、可出價的對象,以及評分這些出價的方法。
- 系統會執行受邀買家的程式碼,產生出價、相關廣告素材的網址和其他資料。出價指令碼可從買方的鍵/值服務查詢即時資料,例如剩餘廣告活動預算。
- 賣方的程式碼會為每個出價評分,並選出得標者。這個邏輯會使用出價值和其他資料,傳回出價的適合度,並拒絕無法勝過比對內容廣告優勝者的廣告。賣方可以使用自己的鍵/值服務取得即時資料。競價開始前,賣家會為可用的廣告版位找出最佳的內容相關廣告。
- 在競價設定中設定
resolveToConfig
標記時,系統會以柵欄式影格設定物件形式傳回得標廣告。設定用於將受限區塊導向廣告素材,且廣告素材的網址會隱藏起來,賣家和發布商都無法看到。如果resolveToConfig
標記設為false
,或未傳入,系統會將獲勝廣告以不透明的 URN 格式傳回,以便在 iframe 中顯示廣告。從 M114 開始,系統就支援圍欄邊框設定物件。 - 系統會向賣家和得標買家回報競價結果。
我們正在討論,是否要提供失去買家的回報機制。
什麼是 Protected Audience API 鍵/值服務?
Protected Audience API 鍵/值服務可讓廣告技術在買方出價時查詢即時資料,並讓賣方在保護隱私權的同時評估廣告。如要瞭解 Protected Audience API 鍵/值服務和其他服務,請參閱「Protected Audience API 服務」。
鍵/值服務會部署至廣告技術的雲端基礎架構,並在受信任的執行環境中執行。對 Key/Value 服務提出要求時,不會產生事件層級記錄或其他副作用。鍵/值服務也支援使用者定義函式 (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 競價中的作用為何?
第一方資料是網站擁有的使用者資料。舉例來說,如果使用者在廣告主或發布商的網站上指定自己最喜歡的顏色,該顏色就會視為第一方資料。
在 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 進行偵錯。
互動及分享意見回饋
- GitHub:閱讀說明文章,提出問題並參與討論。
- 公告:加入 Protected Audience API 電子報或查看過去的公告。
- W3C:在改善網路廣告業務小組中討論產業用途。
- 開發人員支援:如有實作和最佳做法相關問題,歡迎加入 Privacy Sandbox 開發人員支援存放區的討論。
- 目前實作方式:如有 Chrome 實作 Protected Audience 相關問題,請回報 Chromium 錯誤。