Saiba como os temas são inferidos e a atribuição aos usuários navegadores e como os usuários podem controlar a lista de tópicos.
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 temas são um indicador que ajuda 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 próprio usuário ou sobre 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 tópico "Fibra e Artes têxteis" para um usuário que visita 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 vai 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 de Cooking & Recipes
. As subcategorias podem ser divididas em outras subcategorias.
Essa taxonomia de temas precisa encontrar um equilíbrio entre utilidade e privacidade. Se os temas 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 é criada com dois requisitos básicos em mente:
- Suporte à publicidade com base em interesses
- Mantenha os usuários seguros e proteja a privacidade deles
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 dele, sem deixar de 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 temas 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 e, conforme a explicação, é possível ver os temas de um site usando as ferramentas para desenvolvedores do navegador. Espera-se que o modelo evolua e melhore ao longo do tempo e seja atualizado periodicamente. a frequência ainda está sendo considerada.
Somente os 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 das 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 tópicos que seu código "viu". Portanto, se o código de outro autor da chamada registrou um tema (por exemplo, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
) para o navegador de um usuário e seu código não fez com que esse tópico fosse registrado no navegador dele, você não poderá aprender sobre esse tema de interesse para o navegador desse usuário ao chamar a API pelo código incorporado. Como a API agora inclui ancestrais conforme observados, 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 o autor da chamada, dependendo do site de nível superior. Por exemplo, se adtech.example
solicitar os temas do usuário em news-a.example
, depois em news-b.example
e depois em news-c.example
, os temas retornados a eles serão recalculados em cada site. Isso significa que é provável que um autor de chamada receba temas diferentes para um usuário em diferentes sites de nível superior, já que os três temas retornados (máximo) são escolhidos aleatoriamente entre os cinco principais das últimas três épocas (com 5% de chance de encontrar um tema aleatório). Isso dificulta para o autor da chamada identificar um usuário por tópicos, já que eles provavelmente serão diferentes em sites de nível superior distintos (mesmo para o mesmo usuário, autor da chamada e época).
Modelo do classificador
Os temas são selecionados manualmente em 50 mil domínios principais, e essa seleção é 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 Classificador. As associações de domínio para tópico na lista são usadas pela API no lugar da saída do próprio modelo.
![Página chrome://topics-internals com o painel Classificador selecionado.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=8&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 executar um modelo (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 de temas com IDs completa está disponível no GitHub.
Como enviar feedback ou entradas sobre o modelo do classificador
Existem 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 existente. Exemplo:
- Qual taxonomia de temas precisa ser usada a longo prazo?
- E se um site discordar dos temas atribuídos?
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 incluirá temas da época atual e das duas 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 por 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 tópicos principais por frequência.
O método document.browsingTopics()
retorna um tema aleatório dos cinco principais para cada época, com 5% de chance de que qualquer um deles seja 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 conferir informações sobre os temas observados durante a época atual na página chrome://topics-internals
.
Como a API decide quais autores da chamada veem quais temas
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 oferece uma janela contínua em que um determinado autor da chamada pode receber determinados temas.
A tabela abaixo descreve um exemplo (embora irrealista) de um histórico de navegação hipotético de um usuário durante uma única época, mostrando temas associados aos sites visitados e os autores de chamadas de 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 da API no site |
---|---|---|
yoga.example | Condicionamento físico | adtech1.example adtech2.example |
knitting.example | Artesanato | adtech1.example |
caminhada-férias.example | Condicionamento físico, viagem e Transporte | adtech2.example |
diy-clothing.example | Artesanato, moda e Estilo | [nenhum] |
No final do período (atualmente uma semana), a API Topics gera os principais temas do navegador para a semana.
- adtech1.example agora está qualificada para receber a categoria "Fitness" e "Artesanato" já que os observaram em ioga.example e também em tricô.example.
- adtech1.example não está qualificada para receber a classificação "Viagem e Transporte" para esse usuário, pois ele não está presente em sites que o usuário visitou recentemente e que estão associados a esse tópico.
- adtech2.example viu o termo "Fitness" e "Viagens e Transporte" tópicos, mas não viu a seção "Artesanato" tópico.
O usuário visitou o site faça você mesmo-roupas.example, que tem a seção "Moda e Estilo" mas não havia chamadas para a API Topics nesse site. Neste ponto, a seção "Moda e Estilo" tópico não será retornado pela API para nenhum autor da chamada.
Na segunda semana, o usuário visita outro site:
Site | Tópicos | Autores de chamadas da API no site |
---|---|---|
sewing.example | Artesanato | adtech2.example |
Além disso, o código de adtech2.example é adicionado a "faça você mesmo-roupas.example":
Site | Tópicos | Autores de chamadas da API no site |
---|---|---|
diy-clothing.example | Artesanato, moda e Estilo | adtech2.example |
Além de "Condicionamento físico" e "Viagens e Transporte" na primeira semana, isso significa que adtech2.example vai poder receber "Artesanato" e "Moda e Estilo" mas não até o período seguinte, a semana 3. Isso garante que terceiros não possam saber mais sobre o passado de um usuário (nesse caso, um interesse em moda) do que poderiam com cookies.
Depois de mais duas semanas, “Condicionamento físico” e "Viagens e Transporte" poderá sair da lista de temas qualificados de adtech2.example se o usuário não acessar sites com esses temas que incluem código de adtech2.example.
Controles de 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 eles, saber quando a API está em uso e receber controles para ativar ou desativar.
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 não querem que a API Topics compartilhe com anunciantes ou editores. Além disso, há controles para informar o usuário sobre a API e mostrar como ativar ou desativar. O Chrome fornece informações e configurações para a API Topics em chrome://settings/adPrivacy
. Além disso, os temas não ficam disponíveis para os autores das chamadas de API no modo de navegação anônima, e os temas são apagados quando o histórico de navegação é apagado.
A lista de temas retornados ficará vazia se:
- O usuário desativa a API Topics nas configurações do navegador em
chrome://settings/adPrivacy
. - O usuário limpou seus temas (nas configurações do navegador em
chrome://settings/adPrivacy
) ou limpou 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 abordá-las.
Desativar site
Além da possibilidade de desativação, o usuário também pode desativar a API Topics no seu site ou nas páginas dele. O Guia do desenvolvedor explica como fazer isso.
Como usar a API Topics em sites com prebid.js
Conforme observado no lançamento 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 do Prebid.
- Para mais informações, entre em contato com o Prebid.js pelo canal padrão oferecido.
Próximas etapas
- Se você desenvolve adtech, faça testes e participe da API Topics.
- Leia o guia do desenvolvedor para recursos mais detalhados.
- Confira o guia de integração da API Topics para ver 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.