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
- A API Topics concluiu a fase de discussão pública e atualmente está disponível para 99% dos usuários, chegando a 100%.
- Para enviar feedback sobre a API Topics, crie um problema na explicação da API Topics ou participe das discussões no grupo de negócios Como melhorar a publicidade na Web (em inglês). A explicação tem várias perguntas em aberto que ainda precisam de definição.
- O cronograma do Sandbox de privacidade apresenta os cronogramas de implementação da API Topics e de outras propostas do Sandbox de privacidade.
- API Topics: atualizações mais recentes detalha mudanças e melhorias na API Topics e implementações.
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.](https://developers.google.cn/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=6&hl=pt-br)
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
Há 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.
- 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).
- 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.
- O navegador acumula a lista de temas.
- 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:
- Leia a documentação do módulo da API Topics (em inglês) do Prebid.
- Para mais informações, entre em contato com o Prebid.js pelo canal padrão oferecido.
Próximas etapas
- Se você é um desenvolvedor de adtech, faça testes e participe da API Topics.
- Leia o guia do desenvolvedor para ver recursos mais detalhados.
- Confira o guia de integração da API Topics para saber detalhes sobre casos de uso específicos de adtech.
Interaja e compartilhe feedback
- GitHub: leia a explicação da API Topics, tire dúvidas e acompanhe a discussão de problemas no repositório da API.
- W3C: discuta casos de uso do setor no grupo de negócios Como melhorar a publicidade na Web (em inglês).
- Avisos: participe ou acesse a lista de e-mails.
- Suporte ao desenvolvedor do Sandbox de privacidade: faça perguntas e participe de discussões no repositório de suporte para desenvolvedores do Sandbox de privacidade (link em inglês).
- Chromium: registre um bug do Chromium para fazer perguntas sobre a implementação atualmente disponível para teste no Chrome.