Como parte do Sandbox de privacidade, o Chrome propôs a API Topics (em inglês) experimental. A API Topics fornece aos autores de chamada de terceiros na página da Web (incluindo provedores de adtech) temas de publicidade gerais que podem ser de interesse do visitante da página no momento. Os temas podem complementar as informações contextuais sobre a página atual e ser úteis para apoiar a publicidade com base em interesses.
O experimento da API Topics está disponível para parceiros de RTB em solicitações de lance. Os tópicos são enviados a todos os parceiros de RTB com base na disponibilidade.
Representação de solicitação de lance
Protocolo OpenRTB
Os tópicos são representados como segmentos na mensagem BidRequest.user.data do OpenRTB.
| Campo | Tipo | Descrição |
|---|---|---|
Data.ext.segtax
|
Número inteiro | O ID de uma taxonomia registrada de forma centralizada. Para tópicos, essa é a versão da taxonomia de publicidade que define o significado semântico de cada ID de tópico. 600 é usado para a taxonomia inicial de temas do Chrome. |
Data.ext.segclass
|
String | É equivalente a classifier_version.
|
Data.segment.id
|
String | Equivalente a id convertido em uma string.
|
Data.ext é uma extensão da mensagem BidRequest.user.data. Essa extensão está disponível na versão Beta aberta do protocolo.
Confira a definição:
// 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;
}
Protocolo RTB do Google (descontinuado)
Os tópicos são representados no campo topics da mensagem BidRequest. Esse campo está disponível na versão Beta aberta do protocolo.
Confira a definição:
// 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;
Exemplos
Confira abaixo um exemplo de como os protocolos do Google Authorized Buyers e do OpenRTB representam os temas retornados pela API Topics do Chrome.
Resposta da API Topics do Chrome, retornada por 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" }
]
}
]
}
}
Protocolo de RTB do Google (descontinuado) 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"
}
No exemplo da API Topics do Chrome acima, taxonomy_version implica que o mapeamento taxonomy_v1 é usado. Com base na taxonomia, esses IDs de tópico correspondem aos seguintes assuntos:
| ID do tópico | Valor do tópico |
|---|---|
| 3 | /Artes e entretenimento/Quadrinhos |
| 44 | /Artes e entretenimento/Ópera |
| 59 | /Automóveis e veículos/Veículos clássicos |
Disponibilidade
A presença de temas na solicitação de lance está sujeita às proteções e controles de privacidade atuais. Por exemplo, os temas não estão disponíveis se o usuário desativar a publicidade personalizada ou em um inventário de anúncios não personalizados.