Permita acesso de gravação ilimitado ao armazenamento entre sites com acesso de leitura que preserva a privacidade.
Status da implementação
Neste documento, descrevemos uma proposta de armazenamento não particionado entre sites: a API Shared Storage.
- A API Shared Storage foi movida para a disponibilidade geral.
- Uma demonstração ao vivo está disponível, assim como testes:
- O portão de saída da seleção de URL está disponível para testes locais no Chrome M105 ou versões mais recentes.
- O portão de saída da agregação particular está disponível para testes locais no Chrome M107 ou versões mais recentes.
- A medição com a API Private Aggregate está em disponibilidade geral.
- Status da plataforma do Chrome
Proposta | Status |
---|---|
Relatórios no nível do evento para a seleção de conteúdo (selectURL() ) |
Disponível pelo menos até 2026 |
Orçamento por local Explicação |
Disponível na versão M119 |
Permitir gravação usando cabeçalhos de resposta Explicação Problema no GitHub (link em inglês) |
Disponível na versão M124. Pode ser ativado manualmente na versão M119-M123 |
Tempo limite da contribuição da agregação particular Explicação |
Disponível na versão M119 |
Como depurar os worklets de armazenamento compartilhado com o DevTools Seção |
Disponível na versão M120 |
Atualização do limite de armazenamento de dados do armazenamento compartilhado para 5 MB Explicação |
Disponível na versão M124 |
Por que precisamos dessa API?
Para evitar o rastreamento de usuários entre sites, os navegadores particionam todas as formas de armazenamento (cookies, localStorage, caches etc.). No entanto, há vários casos de uso legítimos que dependem de armazenamento não particionado, o que seria impossível sem a ajuda das novas APIs da Web. Por exemplo, um produtor de conteúdo pode querer medir o alcance em diferentes sites, sem depender de identificadores entre sites.
A API Shared Storage permite que os sites armazenem e acessem dados entre sites não particionados. Esses dados precisam ser lidos em um ambiente seguro para evitar vazamentos.
É possível usar dados do armazenamento compartilhado de duas maneiras:
- Seleção de conteúdo entre sites.
- Agregação com ruído de dados entre sites com a API Private Aggregate
A quem se destina?
Há muitos tipos diferentes de empresas que podem se beneficiar do uso da API de armazenamento compartilhado. Exemplo:
- As adtechs podem medir o alcance da campanha, definir limites de frequência e alternar criativos, tudo isso usando cookies de terceiros.
- Os provedores de pagamentos podem determinar se um usuário já é cliente e personalizar a experiência de finalização de compra.
- As empresas de segurança da Web podem criar uma lógica personalizada para sinalizar comportamentos suspeitos ou perigosos.
Sua empresa está procurando soluções de armazenamento entre sites que ainda não foram abordadas? Compartilhe seu caso de uso.
Casos de uso
A API Shared Storage pretende oferecer suporte a muitos casos de uso, substituindo vários usos atuais de cookies de terceiros. Isso inclui:
Caso de uso | Descrição | Porta de saída |
---|---|---|
Alternar criativos de anúncios | É possível armazenar dados, como ID do criativo, contagens de visualizações e interações do usuário, para determinar quais criativos os usuários veem em diferentes sites. Isso permite equilibrar as visualizações e evitar a saturação excessiva de determinados conteúdos, o que pode ajudar a evitar uma experiência do usuário negativa. | Seleção de URL |
Fazer testes A/B | É possível atribuir um usuário a um grupo experimental e armazenar esse grupo no armazenamento compartilhado para acesso entre sites. | Seleção de URL |
Personalizar a experiência do usuário para clientes conhecidos | Você pode compartilhar conteúdo personalizado e calls-to-action com base no status de registro ou em outros estados de um usuário. | Seleção de URL |
Mitigações antiabuso | As organizações antiabuso, antifraude e de segurança da Web costumam usar técnicas próprias para detectar usuários maliciosos, sejam bots automatizados ou pessoas reais tentando causar danos. É possível testar muitas estratégias diferentes aqui, seja usando o portão de saída da seleção de URL para codificar uma classificação de confiabilidade do usuário ou o portão de saída da agregação privada para criar conjuntos de dados para detecção de anomalias. | Seleção de URL, API Private Aggregate |
Medir o alcance único | Muitos produtores de conteúdo e anunciantes geralmente querem saber quantas pessoas únicas viram o conteúdo deles. É possível usar o armazenamento compartilhado para gerar relatórios sobre a primeira vez que um usuário viu seu anúncio, vídeo incorporado e publicação. Além disso, você pode evitar a contagem duplicada desse usuário em outro site, gerando um relatório de ruído agregado do seu alcance único aproximado. | API Private Aggregation |
Medir as informações demográficas dos usuários | Os produtores de conteúdo geralmente querem entender as informações demográficas do público. É possível usar o armazenamento compartilhado para registrar dados demográficos do usuário no contexto em que você os tiver, como seu site próprio, e usar relatórios agregados para gerar relatórios sobre eles em muitos outros sites, como conteúdo incorporado. | API Private Aggregation |
Meça o alcance da frequência K+ | Às vezes descrito como "frequência efetiva", geralmente há um número mínimo de visualizações antes que um usuário reconheça ou se lembre de determinado conteúdo (geralmente no contexto de visualizações de anúncios). É possível usar o armazenamento compartilhado para criar relatórios de usuários únicos que viram um conteúdo pelo menos K vezes. | API Private Aggregation |
A proposta tem como objetivo criar uma API de uso geral com suporte a muitos casos de uso futuros possíveis. Isso permite mais experimentação e mudança, para crescer junto com o ecossistema da Web.
Como funciona o armazenamento compartilhado?
O armazenamento compartilhado permite que você tome decisões informadas com base em dados entre sites, sem compartilhar informações do usuário (como histórico do navegador ou outros detalhes pessoais) com um site de incorporação ou exfiltrar dados para seus próprios servidores.
Você pode gravar no armazenamento compartilhado a qualquer momento, assim como outras APIs de armazenamento JavaScript, como localStorage ou indexesDB. Ao contrário das outras APIs de armazenamento, só é possível ler os valores do armazenamento compartilhado em um ambiente seguro, conhecido como worklet de armazenamento compartilhado.
Os worklets são onde você adiciona sua lógica de negócios. Dentro do worklet, é permitido ler e processar um valor do armazenamento compartilhado, mas não é possível retornar diretamente o valor exato para o autor da chamada do worklet. Para extrair informações úteis do worklet, há um conjunto de "portões" disponível. Há dois portões disponíveis, mas outros podem ser adicionados no futuro.
As portas de saída da API Shared Storage disponíveis são:
- Seleção de URL entre sites: é possível executar um script de worklet para selecionar um URL de uma lista fornecida, com base nos dados armazenados, e renderizar esse conteúdo em um frame isolado.
- Agregação com ruído com a API Private Aggregate: é possível executar um worklet para enviar dados entre sites usando essa API e retornar um relatório de resumo.
Testar a API Shared Storage
A API Shared Storage para o portão de saída da seleção de URL e o portão de saída da agregação privada
estão disponíveis para teste. A seleção de conteúdo pode ser testada no Chrome
Canary/Dev/Beta M105+, e a API Private Aggregate está disponível para testes no
Chrome M107+ Canary e Dev. A API pode ser testada ativando todas as APIs de privacidade de anúncios em chrome://settings/adPrivacy
.
Usar a demonstração
Uma demonstração está disponível, e você pode revisar o código no GitHub.
Esta demonstração foi criada com base na perspectiva de um anunciante, adtech, distribuidor de conteúdo ou outro serviço terceirizado que queira armazenar informações nos sites de diferentes editores. Na demonstração, o mesmo código de terceiros será executado nos sites do editor A e do editor B para cada caso de uso. Acesse as páginas do editor para saber como os dados são compartilhados em um contexto entre sites.
A demonstração contém casos de uso para seleção de conteúdo e agregação privada.
Para a demonstração da seleção de conteúdo, estão disponíveis os casos de uso Alternar criativos de anúncios, Personalizar a experiência de uso para clientes conhecidos e Executar testes A/B.
Para a demonstração da agregação particular, é possível visualizar Medir o alcance único e Medir o alcance da frequência K+. Meça as informações demográficas dos usuários.
Depurar worklets de armazenamento compartilhado com o DevTools
Para inspecionar os worklets do Armazenamento compartilhado iniciados pela página em que você está, acesse a guia "Sources" no painel DevTools e adicione o ponto de interrupção do listener do evento "Worklet de armazenamento compartilhado / Primeira instrução do script". Esse ponto de interrupção pausará a execução do script do módulo inicial ou os worklets de curta duração na inicialização.
Além disso, a página chrome://inspect/#shared-storage-worklets
mostra todos os worklets de armazenamento compartilhado ativos de todas as páginas.
Interaja e compartilhe feedback
A proposta de armazenamento compartilhado está em discussão ativa e sujeita a alterações. no futuro. Se você testar essa API e tiver algum feedback, conte para nós.
- GitHub: leia proposta, artigo sobre contato, fazer perguntas e participar de discussões.
- Comunicados da API Shared Storage: participe ou veja comunicados anteriores na nossa lista de e-mails.
- Suporte ao desenvolvedor: faça perguntas e participe de discussões no Repositório de suporte ao desenvolvedor do Sandbox de privacidade.