Classificação dos temas

Saiba como os temas são inferidos, como são atribuídos aos navegadores dos usuários e como os usuários podem controlar a lista de temas.

Status da implementação

O que é um tópico?

Na API Topics, um tema é um assunto em que um usuário está interessado, conforme evidenciado pelos sites que ele visita.

Os tópicos são um indicador para ajudar as plataformas de adtech a selecionar anúncios relevantes. Ao contrário dos cookies de terceiros, essas informações são compartilhadas sem revelar mais informações sobre o usuário ou a atividade de navegação dele.

A API Topics permite que terceiros, como plataformas de adtech, observem e acessem temas de interesse de um usuário. Por exemplo, a API pode sugerir o tema "Artes têxteis e fibra" para um usuário que acessar o site knitting.example.

A lista de temas usada pela API Topics é pública, selecionada por humanos, legível e projetada para evitar categorias sensíveis. Esta é a lista atual, que será expandida com o tempo. A lista é estruturada como uma taxonomia. Os tópicos podem ser de alto nível ou mais específicos. Por exemplo, Food & Drink é uma categoria ampla, com uma subcategoria Cooking & Recipes. As subcategorias podem ser divididas em subcategorias adicionais.

Essa taxonomia de temas precisa fazer uma troca entre utilidade e privacidade. Se forem muito específicos, eles poderão ser usados para identificar um usuário individual. Se forem muito gerais, não serão úteis para selecionar publicidade ou outro conteúdo.

A taxonomia dos temas é construída com dois requisitos em mente:

  • Suporte à publicidade com base em interesses
  • Proteja a privacidade e a segurança dos usuários

Isso sugere várias perguntas. Exemplo:

  • Qual é a melhor maneira para a API inferir temas de interesse para um usuário com base na atividade de navegação e, ao mesmo tempo, preservar a privacidade do usuário?
  • Como a taxonomia poderia ser estruturada para torná-la mais útil?
  • Quais itens específicos a taxonomia deve incluir?

Como a API infere temas para um site

Os tópicos são derivados de um modelo de classificador que mapeia os nomes de host de sites para zero ou mais tópicos. A análise de informações adicionais (como URLs completos ou conteúdo da página) pode permitir anúncios mais relevantes, mas também reduzir a privacidade.

O modelo de classificador para mapear nomes de host para temas está disponível publicamente. De acordo com as observações, é possível acessar os temas de um site usando as ferramentas para desenvolvedores do navegador. Espera-se que o modelo evolua, melhore com o tempo e seja atualizado periodicamente. A frequência disso ainda está sendo considerada.

Somente sites que incluem código que chama a API Topics são incluídos no histórico de navegação qualificado para cálculos de frequência de temas, e os autores de chamadas da API só recebem temas observados. Em outras palavras, os sites não se qualificam para cálculos de frequência de temas sem que o site ou um serviço incorporado chame a API.

Além disso, o autor da chamada só pode receber temas que seu código tenha "encontrado". Portanto, se o código de outro autor da chamada registrou um tema, como /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, para o navegador de um usuário e seu código não fez com que esse tema fosse registrado para o navegador desse usuário, você não vai conseguir saber sobre esse tema de interesse para o navegador desse usuário quando chamar a API pelo código incorporado. Observe que, como a API agora inclui ancestrais conforme observado, o exemplo acima, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, também faria com que Autos & Vehicles e Motor Vehicles fossem observados.

Os tópicos retornados para um usuário são recalculados para um autor de chamada, dependendo do site de nível superior. Por exemplo, se adtech.example solicitar os temas do usuário em news-a.example, em news-b.example e depois em news-c.example, os temas retornados para ele serão recalculados em cada site. Isso significa que é provável que o autor da chamada tenha temas diferentes para um usuário em diferentes sites de nível superior, já que os três temas (máximo) retornados para um usuário são escolhidos aleatoriamente entre os cinco principais das três últimas épocas (com 5% de chance de receber um tema aleatório). Isso dificulta a identificação do usuário pelos temas, já que eles provavelmente são diferentes em sites de nível superior (mesmo para o mesmo usuário, autor da chamada e época).

Modelo de classificador

Os tópicos são selecionados manualmente para 50.000 domínios principais, e essa curadoria é usada para treinar o classificador. Essa lista pode ser encontrada em override_list.pb.gz, disponível em chrome://topics-internals/ no modelo atual, na guia Classifier. As associações de domínio a tópicos na lista são usadas pela API em vez da saída do próprio modelo.

Página chrome://topics-internals com o painel "Classificador" selecionado.
O painel do classificador da página chrome://topics-internals lista a versão do modelo, o caminho dela e os tópicos associados a cada host listado.

Para executar o modelo diretamente, consulte o guia do TensorFlow para execução de modelos (em inglês).

Para inspecionar o arquivo override_list.pb.gz, primeiro descompacte-o:

gunzip -c override_list.pb.gz > override_list.pb

Use protoc para inspecionar como texto:

protoc --decode_raw < override_list.pb > output.txt

Uma taxonomia completa de tópicos com IDs está disponível no GitHub.

Como fornecer feedback ou entrada no modelo de classificador

vários canais para fornecer feedback sobre a API Topics. Para enviar feedback sobre o modelo de classificador, recomendamos enviar um problema do GitHub ou responder a um problema já existente. Exemplo:

Como os cinco principais tópicos do usuário são selecionados

A API retorna um tema para cada época, até um máximo de três. Se três forem retornados, isso inclui temas da época atual e dos dois anteriores.

  1. No final de cada período, o navegador compila uma lista de páginas que atendem aos seguintes critérios:
    • A página foi visitada pelo usuário durante a época.
    • A página inclui um código que chama document.browsingTopics().
    • a API foi ativada (por exemplo, não foi bloqueada pelo usuário ou com um cabeçalho de resposta).
  2. O navegador, no dispositivo do usuário, usa o modelo de classificador fornecido pela API Topics para mapear o nome do host de cada página para uma lista de temas.
  3. O navegador acumula a lista de temas.
  4. O navegador gera uma lista dos cinco principais temas por frequência.

O método document.browsingTopics() retorna um tema aleatório entre os cinco principais de cada época, com 5% de chance de que qualquer um deles possa ser escolhido aleatoriamente da taxonomia completa de temas. No Chrome, os usuários também podem remover temas individuais ou limpar o histórico de navegação para reduzir o número de temas retornados pela API. Os usuários também podem desativar a API.

É possível visualizar informações sobre temas observados durante a época atual na página chrome://topics-internals.

Como a API decide quais autores de chamadas veem quais tópicos

Os autores das chamadas de API só recebem temas observados recentemente, e os temas de um usuário são atualizados uma vez a cada época. Isso significa que a API fornece uma janela contínua em que um determinado autor da chamada pode receber determinados temas.

A tabela abaixo descreve um exemplo (embora pouco realista) de um histórico de navegação hipotético de um usuário durante um único período, mostrando temas associados aos sites visitados e os autores de chamadas da API presentes em cada site (as entidades que chamam document.browsingTopics() no código JavaScript incluído no site).

Site Tópicos Autores de chamadas de API no site
yoga.example Fitness adtech1.example adtech2.example
knitting.example Artesanato adtech1.example
trilha-feriado.example Fitness, viagem e transporte adtech2.example
roupas-faça você mesmo.example Artesanato, moda e estilo [nenhum]

No final da época (atualmente uma semana), a API Topics gera os principais temas do navegador para a semana.

  • adtech1.example agora está qualificado para receber os temas "Condicionamento físico" e "Artesanato", já que os observou em yoga.example e também em tricô.example.
  • O adtech1.example não está qualificado para receber o tema "Viagem e transporte" desse usuário porque não está presente em nenhum site que o usuário visitou recentemente e que está associado a esse tema.
  • A adtech2.example viu os tópicos "Condicionamento físico" e "Viagens e transporte", mas não "Artesanato".

O usuário acessou diy-routhing.example, que tem o tópico "Moda e estilo", mas não houve chamadas à API Topics nesse site. Nesse ponto, isso significa que o tópico "Moda e estilo" não seria retornado pela API para os autores das chamadas.

Na segunda semana, o usuário visita outro site:

Site Tópicos Autores de chamadas de API no site
sewing.example Artesanato adtech2.example

Além disso, o código de adtech2.example é adicionado a "faça você mesmo".example:

Site Tópicos Autores de chamadas de API no site
roupas-faça você mesmo.example Artesanato, moda e estilo adtech2.example

Assim como "Condicionamento físico" e "Viagens e transporte" da primeira semana, isso significa que adtech2.example agora poderá receber os temas "Artesanato" e "Moda e estilo", mas não até a época seguinte, na semana 3. Isso garante que terceiros não saibam mais sobre o passado de um usuário (neste caso, um interesse em moda) do que conseguiriam com os cookies.

Depois de mais duas semanas, "Condicionamento físico" e "Viagens e transporte" podem sair da lista de temas qualificados da adtech2.example se o usuário não acessar nenhum site com esses temas que incluam o código de adtech2.example.

Controles do usuário, transparência e desativação

Os usuários precisam ser capazes de entender a finalidade da API Topics, reconhecer o que está sendo dito sobre ela, saber quando a API está em uso e receber controles para ativá-la ou desativá-la.

A taxonomia legível da API permite que os usuários aprendam e controlem os temas que podem ser sugeridos pelo navegador. Os usuários podem remover temas que especificamente não querem que a API Topics compartilhe com anunciantes ou editores, e pode haver controles para informar o usuário sobre a API e mostrar como ativá-la ou desativá-la. O Chrome oferece informações e configurações para a API Topics em chrome://settings/adPrivacy. Além disso, os temas não ficam disponíveis para autores de chamadas da API no modo de navegação anônima e são excluídos quando o histórico de navegação é apagado.

A lista de temas retornados vai estar vazia se:

  • O usuário desativa a API Topics nas configurações do navegador em chrome://settings/adPrivacy.
  • O usuário limpou os temas (pelas configurações do navegador em chrome://settings/adPrivacy) ou os cookies.
  • O navegador está no modo de navegação anônima.

A explicação fornece mais detalhes sobre as metas de privacidade e como a API tenta alcançá-las.

Desativação do site

Além da possibilidade de o usuário desativar, você pode desativar o Topics para seu site ou as páginas dele. O Guia do desenvolvedor explica como fazer isso.

Como usar a API Topics em sites com prebid.js

Conforme observado na versão do Prebid 7, a comunidade desenvolveu ativamente uma integração com a API Topics usando um novo módulo. Este módulo foi mesclado em dezembro de 2022.

Saiba mais aqui:

Próximas etapas

Interaja e compartilhe feedback