Experimento de tópicos do Chrome para RTB

Como parte do Sandbox de privacidade, o Chrome propôs a API Topics experimental. A API Topics fornece aos autores de chamadas de terceiros na página da Web (incluindo provedores de tecnologia de publicidade) temas de publicidade gerais que podem ser do interesse do visitante da página. Os tópicos 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 nas solicitações de lance. Preencha o formulário de solicitação para participar do experimento da API Topics. Entre em contato com seu gerente de contas para mais informações.

Representação da solicitação de lance

Protocolo do Google Authorized Buyers

Os temas são representados no campo topics na mensagem BidRequest. Esse campo está disponível na versão Beta aberta do protocolo.

Aqui está 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;

Protocolo do OpenRTB

Os temas 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 que é registrado centralmente. Para a API Topics, essa é a versão da taxonomia de publicidade que define o significado semântico de cada ID de tema. O número 600 é usado para a taxonomia inicial da API Topics do Chrome.
Data.ext.segclass String É equivalente a classifier_version.
Data.segment.id String Equivalente a id transmitido para 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.

Aqui está 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;
}

Exemplos

Confira a seguir um exemplo de como os protocolos do Google Authorized Buyers e do OpenRTB representam os temas retornados pela API Chrome Topics.

Resposta da API Chrome Topics, 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
  }
]

BidRequest do protocolo do Authorized Buyers do Google:

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"
}

Solicitação de lance do OpenRTB:

{
  "user": {
    "data": [
      {
        "ext": {
          "segtax": 600,
          "segclass": "classifier_v1"
        },
        "segment": [
          { "id": "3" },
          { "id": "44" },
          { "id": "59" }
        ]
      }
    ]
  }
}

No exemplo anterior, taxonomy_version implica que o mapeamento taxonomia_v1 é usado. Com base na taxonomia, esses IDs de temas correspondem aos seguintes temas:

ID do tópico Valor do tema
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 aos controles e proteções de privacidade atuais. Por exemplo, os temas ficarão indisponíveis se o usuário desativar a publicidade personalizada ou o inventário de anúncios não personalizados.