建議您閱讀系統推測主題的方式、將這些主題指派至使用者瀏覽器的方式,以及使用者如何控制主題清單。
導入狀態
- Topics API 已完成公開討論階段,目前開放 99% 的使用者使用,向上擴充至 100%。
- 如要提供你對 Topics API 的意見,請在 Topics 說明上建立問題,或參與改善網路廣告業務小組討論。解釋中有一些未解決的問題,但仍需進一步定義。
- Privacy Sandbox 時程表提供 Topics API 和其他 Privacy Sandbox 提案的導入時程。
- Topics API:最新更新內容詳細說明 Topics API 和實作方式的變更與改善項目。
什麼是主題?
Topics API 中的主題是使用者感興趣的主題,可由他們造訪的網站證明。
主題是一種信號,可協助廣告技術平台選擇相關廣告。與第三方 Cookie 不同的是,系統分享這項資訊時,不會進一步揭露使用者本身或使用者的瀏覽活動。
Topics API 可讓廣告技術平台等第三方觀測,然後存取使用者感興趣的主題。舉例來說,當使用者造訪 knitting.example
網站時,API 可能會建議「纖維與紡織藝術」主題。
Topics API 使用的主題清單是公開、使用者收錄且人類可讀的主題,且可避免敏感類別。這是目前的清單,日後會逐步展開。這份清單的結構是分類。主題可以包含概略或更具體的主題。舉例來說,Food & Drink
是廣泛類別,子類別為 Cooking & Recipes
。子類別可進一步分為其他子類別。
這類主題分類必須在實用性和隱私權之間權衡取捨。如果主題太具體,可以用來識別個別使用者。如果太過籠統,就無法用來選擇廣告或其他內容。
主題分類是以下列兩個基本需求所建構:
- 支援按照興趣顯示廣告
- 保護使用者安全和隱私權
產生了幾個問題。例如:
- 為了讓 API 根據使用者的瀏覽活動推斷出興趣主題,同時保護使用者隱私,以下何者是最佳方法?
- 您該如何建立分類,讓分類更加實用?
- 分類應包含哪些特定項目?
API 如何推測網站主題
主題衍生自分類器模型,將網站主機名稱對應至零個或多個主題。分析額外資訊 (例如完整網址或網頁內容) 或許能夠顯示更貼近您需求的廣告,但也有可能降低隱私權。
將主機名稱對應至主題的分類器模型是公開可用的,而說明則可用來透過瀏覽器開發人員工具查看網站主題。模型預期會隨時間演進與改進,並且定期更新;目前還是考慮了這麼做的頻率。
只有包含呼叫 Topics API 的程式碼的網站才會納入用於計算主題頻率計算的瀏覽記錄,API 呼叫端只會接收他們觀察到的主題。換句話說,網站必須要有網站或呼叫 API 的內嵌服務,才能計算主題頻率。
此外,來電者只能接收代碼中「看過」的主題。因此,如果其他呼叫端的程式碼為使用者的瀏覽器註冊了一個主題 (例如 /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
),且您的程式碼並未針對該使用者的瀏覽器註冊該主題,則當您透過內嵌的程式碼呼叫 API 時,您將無法得知該使用者的瀏覽器感興趣的主題。請注意,由於 API 現在如觀察到的祖係也加入了,因此上述範例 /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
也會導致系統觀察 Autos & Vehicles
和 Motor Vehicles
。
系統會根據頂層網站,重新計算呼叫者所傳回的主題。舉例來說,如果 adtech.example
向 news-a.example
要求使用者的主題,則在 news-b.example
和 news-c.example
時,將重新計算每個網站傳回的主題。換言之,呼叫者可能會在不同的頂層網站上,找到不同的主題,因為系統在過去三個週期的前五大週期中,系統會從前 5 個主題 (最多) 隨機選擇向使用者傳回的三個主題 (找到隨機主題的機率為 5%)。這讓呼叫端更難依主題識別使用者,因為他們的主題在不同的頂層網站 (即便是同一使用者、呼叫端和週期相同,也可能不同)。
分類器模型
主題是由 50,000 個熱門網域手動收錄,而這項資訊會用於訓練分類器。您可以在override_list.pb.gz
找到這份清單,在chrome://topics-internals/
目前模型下方的分類器分頁中找到此清單。API 會使用清單中的網域對主題關聯,取代模型本身的輸出內容。
如要直接執行模型,請參閱 TensorFlow 的模型執行指南。
如要檢查 override_list.pb.gz
檔案,請先解壓縮檔案:
gunzip -c override_list.pb.gz > override_list.pb
請使用 protoc
將其檢查為文字:
protoc --decode_raw < override_list.pb > output.txt
GitHub 提供具有 ID 的主題分類。
針對分類器模型提供意見回饋或輸入
目前有多個管道可以針對 Topics API 提供意見。如要針對分類器模型提供意見,建議您提交 GitHub 問題或回覆現有問題。例如:
系統如何挑選使用者的五大熱門主題
API 會為每個訓練週期傳回一個主題,最多三個。如果傳回三個值,這個值會包含當前週期和前兩段主題的主題。
- 在每個週期結束時,瀏覽器會編譯符合下列條件的網頁清單:
- 使用者在紀元期間造訪的網頁。
- 網頁包含呼叫
document.browsingTopics()
的程式碼。 - API 已啟用 (例如未遭到使用者封鎖,或透過回應標頭)。
- 在使用者的裝置上,瀏覽器會使用 Topics API 提供的分類器模型,將每個網頁的主機名稱對應至主題清單。
- 瀏覽器會累積主題清單。
- 瀏覽器會按頻率列出前五大主題,
document.browsingTopics()
方法接著會傳回每個訓練週期前五名的隨機主題,並有 5% 的機率會從完整的主題分類中隨機選擇任一主題。在 Chrome 中,使用者也可以移除個別主題或清除瀏覽記錄,藉此減少 API 傳回的主題數量。使用者也可以選擇停用 API。
您可以透過 chrome://topics-internals
頁面,查看目前週期中觀察到的主題相關資訊。
API 如何決定要讓哪些呼叫端查看哪些主題
API 呼叫端只會接收最近觀察到的主題,使用者的主題會在每個週期中更新一次。也就是說,API 提供滾動式視窗,特定呼叫端可能會接收特定主題。
下表概略說明使用者在單一週期內假設的瀏覽記錄範例 (雖然不切實際),但會顯示與使用者造訪過的網站相關的主題,以及每個網站上出現的 API 呼叫端 (在網站包含的 JavaScript 程式碼中呼叫 document.browsingTopics()
的實體)。
網站 | 主題 | 網站上的 API 呼叫端 |
---|---|---|
yoga.example | 健身 | adtech1.example adtech2.example |
knitting.example | 手工藝課程 | adtech1.example |
健行-holiday.example | 健身、旅遊與交通 | adtech2.example |
尿布用.example | 手工藝品、時尚與風格 | [無] |
在訓練週期結束時 (目前為一週),Topics API 會產生瀏覽器當週的熱門主題。
- adtech1.example 現在可收到「健身」和「手工藝」主題,因為在瑜珈.example 和 knitting.example 上觀察到。
- adtech1.example 無法接收這位使用者的「旅遊與交通」主題,因為使用者最近造訪的任何網站都沒有與該主題相關聯的「旅遊與交通」主題。
- adtech2.example 曾查看過「健身」和「旅遊與交通」主題,但尚未看過「工藝」主題。
使用者造訪了主題為「時尚與樣式」的 diy-clothing.example,但該網站並未呼叫 Topics API。現階段,API 不會為呼叫端傳回「時尚與風格」主題。
使用者在第 2 週造訪了另一個網站:
網站 | 主題 | 網站上的 API 呼叫端 |
---|---|---|
sewing.example | 手工藝課程 | adtech2.example |
此外,adtech2.example 的程式碼也會加進 diy-clothing.example:
網站 | 主題 | 網站上的 API 呼叫端 |
---|---|---|
尿布用.example | 手工藝品、時尚與風格 | adtech2.example |
也就是說,Adtech2.example 現在除了能夠接收第 1 週的「健身」和「旅遊與交通」外,還能接收「工藝」和「時尚與風格」主題,但直到接下來的第 3 週為止。這能確保第三方不會深入瞭解使用者過去使用 Cookie 的資訊 (在此情況下,興趣喜好)。
經過兩週後,假如使用者未造訪任何含有 adtech2.example 程式碼主題的網站,則「健身」和「旅遊與交通」可能會從 adtech2.example 的適用主題清單中移除。
讓使用者控制、資訊公開和選擇不採用
應該要讓使用者能瞭解 Topics API 的用途、辨識他們分享的內容、瞭解 API 的使用時機,並隨附啟用或停用 Topics API 的控制項。
這個 API 提供人類可讀的分類方式,方便使用者瞭解及控管瀏覽器可能建議的主題。使用者可以單獨移除不希望 Topics API 提供給廣告主或發布商的主題,也可以控制是否要向使用者說明該 API,以及啟用或停用該 API。Chrome 會在 chrome://settings/adPrivacy
提供 Topics API 的相關資訊和設定,此外,API 呼叫端在無痕模式下無法使用主題,且會在瀏覽記錄清除時清除主題。
在下列情況下,傳回的主題清單不會列出任何內容:
- 使用者透過瀏覽器設定 (
chrome://settings/adPrivacy
) 停用 Topics API。 - 使用者已透過瀏覽器設定 (
chrome://settings/adPrivacy
) 清除主題或清除 Cookie。 - 瀏覽器使用無痕模式。
這份說明會進一步說明隱私權目標,以及 API 希望達成這些目標的方式。
網站停用
除了讓使用者選擇退出之外,您也可以為自家網站或網站上的網頁停用 Topics。詳情請參閱開發人員指南。
透過 prebid.js
在網站上使用 Topics API
如同 Prebid 7 第 7 版所述,社群可透過新模組主動與 Topics API 整合。這個模組已於 2022 年 12 月合併。
詳情請參閱:
- 參閱 Prebid 的 Topics API 模組說明文件。
- 如需更多資訊,請透過供應商提供的任何標準管道與 Prebid.js 聯絡。
後續步驟
- 如果您是廣告技術開發人員,請使用 Topics API 實驗並參與。
- 如需更多資源,請參閱開發人員指南。
- 如要進一步瞭解特定廣告技術用途,請參閱 Topics API 整合指南。
交流及分享意見回饋
- GitHub:參閱 Topics API 說明工具,以及提出疑問並追蹤 API 存放區中相關問題。
- W3C:前往「改善網路廣告業務群組」討論業界應用實例。
- 公告:加入或查看郵寄清單。
- Privacy Sandbox 開發人員支援:在 Privacy Sandbox 開發人員支援存放區中提問及參與討論。
- Chromium:請回報 Chromium 錯誤,針對目前可在 Chrome 中測試的實作問題提問。