Chrome 提出了實驗性的 Topics API,做為 Privacy Sandbox 的一部分。網頁上的第三方呼叫端 (包括廣告技術供應商) 可透過 Topics API,取得網頁訪客目前可能感興趣的概略廣告主題。這些主題可補充目前網頁的脈絡資訊,有助於支援按照興趣顯示的廣告。
出價要求中會提供 Topics API 實驗,供 RTB 合作夥伴使用。系統會根據供應情形,將主題傳送給所有即時出價合作夥伴。
出價要求代表
OpenRTB 通訊協定
主題會以區隔的形式,顯示在 OpenRTB BidRequest.user.data 訊息中。
| 欄位 | 類型 | 說明 |
|---|---|---|
Data.ext.segtax
|
整數 | 集中註冊的分類 ID。如果是主題,這是指廣告分類的哪個版本定義了每個主題 ID 的語意。600 用於 Chrome 的 Topics 初始分類。 |
Data.ext.segclass
|
String | 等同於 classifier_version。
|
Data.segment.id
|
String | 等同於轉換為字串的 id。
|
Data.ext 是 BidRequest.user.data 訊息的擴充功能。這項擴充功能適用於通訊協定的開放 Beta 版。
定義如下:
// Ad Exchange extensions for the Data object.
message DataExt {
// The ID for a taxonomy that is registered centrally. Used to define the
// namespace and semantic meaning of the segment IDs. See
// https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/segtax.md#enumeration-of-taxonomies
// for the enumeration of the taxonomies that this value can take. Currently
// only Chrome Topics API taxonomy (segtax=600) is supported.
optional int32 segtax = 1;
// The version of the classifier which produced the segment IDs within the
// taxonomy. For example, in the case of Chrome Topics API (segtax=600), this
// is the version of the classifier used by the browser to map hostnames to
// topics in the taxonomy.
optional string segclass = 2;
}
Google RTB 通訊協定 (已淘汰)
主題會以 BidRequest 訊息中的 topics 欄位表示。這個欄位適用於通訊協定的開放 Beta 版。
定義如下:
// Experimental field; subject to change.
// A coarse-grained topic that a website visitor might currently be interested
// in based on recent browsing activity. See
// https://developer.chrome.com/docs/privacy-sandbox/topics/ and/or
// https://privacysandbox.com/intl/en_us/proposals/topics/ for more
// information about the Topics API. Reach out to your account manager to
// participate in the Topics API experiment.
message Topic {
// The value of a topic ID. A numerical identifier corresponding to a
// coarse-grained advertising topic. See
// https://github.com/patcg-individual-drafts/topics/blob/main/taxonomy_v1.md
// for a list of topics in the initial taxonomy.
optional int32 id = 1;
// The version of the advertising taxonomy which defines the semantic
// meaning of each topic ID for the topics, for example "v1".
optional string taxonomy_version = 2;
// The version of the classifier used by the browser to map hostnames to
// topic IDs in the taxonomy.
optional string classifier_version = 3;
}
// The list of topics that a website visitor might currently be interested in
// inferred by the browser based on recent browsing activity. See
// https://developer.chrome.com/docs/privacy-sandbox/topics/ and/or
// https://privacysandbox.com/intl/en_us/proposals/topics/ for more
// information about Topics API.
repeated Topic topics = 74;
範例
以下範例說明 Google Authorized Buyers 和 OpenRTB 通訊協定如何表示 Chrome Topics API 傳回的主題。
Chrome Topics API 回應,由 document.browsingTopics() 傳回:
[
{
"modelVersion": "classifier_v1",
"taxonomyVersion": "taxonomy_v1",
"topic": 3
},
{
"modelVersion": "classifier_v1",
"taxonomyVersion": "taxonomy_v1",
"topic": 44
},
{
"modelVersion": "classifier_v1",
"taxonomyVersion": "taxonomy_v1",
"topic": 59
}
]
OpenRTB BidRequest:
{
"user": {
"data": [
{
"ext": {
"segtax": 600,
"segclass": "classifier_v1"
},
"segment": [
{ "id": "3" },
{ "id": "44" },
{ "id": "59" }
]
}
]
}
}
Google RTB 通訊協定 (已淘汰) BidRequest:
topics {
id: 3
taxonomy_version: "taxonomy_v1"
classifier_version: "classifier_v1"
}
topics {
id: 44
taxonomy_version: "taxonomy_v1"
classifier_version: "classifier_v1"
}
topics {
id: 59
taxonomy_version: "taxonomy_v1"
classifier_version: "classifier_v1"
}
在上述 Chrome Topics API 範例中,taxonomy_version 表示使用分類法 v1 對應。根據分類,這些主題 ID 對應下列主題:
| 主題 ID | 主題值 |
|---|---|
| 3 | /藝術與娛樂/漫畫 |
| 44 | /藝術與娛樂/歌劇 |
| 59 | /汽車與交通工具/經典車輛 |
可用性
出價要求中是否包含主題,取決於現有的隱私權保護措施和控制項。舉例來說,如果使用者選擇不採用個人化廣告,或是在非個人化廣告空間中,系統就不會提供主題。