Cookies de terceiros e fluxos de trabalho de incorporação

Os cookies de terceiros têm muitos usos, mas também são um fator essencial para o rastreamento entre sites.

Cookies de terceiros podem ser bloqueados por restrições do navegador, configurações do usuário, flags do desenvolvedor ou política empresarial.

Seu site ou serviço precisa oferecer uma ótima experiência para todos os usuários, com ou sem cookies de terceiros.

Nesta página, você encontra informações sobre soluções que preservam a privacidade para cenários incorporados que tradicionalmente dependem de cookies de terceiros, além de estratégias para ajudar você a escolher a solução mais adequada às suas necessidades.

Os serviços incorporados incluem conteúdo de terceiros (como vídeos, mapas), componentes interativos (como chat, sistemas de comentários ou serviços de pagamento), serviços de login e muito mais.

A maior parte do trabalho de transição dos cookies de terceiros precisa ser feita por desenvolvedores de incorporações, e não por sites que hospedam incorporações. Este guia vai abordar principalmente soluções para desenvolvedores que criam serviços incorporados.

Se o site estiver usando uma incorporação que usa cookies de terceiros, faça uma auditoria e teste os fluxos relacionados à incorporação. Entre em contato com os provedores de incorporação se descobrir alguma falha.

Auditar e testar as jornadas do usuário relacionadas à incorporação

A melhor maneira de determinar se seus incorporações são afetadas por cookies de terceiros é testar os fluxos de usuários de incorporação de terceiros com a flag de teste de cookies de terceiros ativada.

Depois de restringir os cookies de terceiros, teste estes cenários de incorporação comuns:

  • Widgets de chat:você pode iniciar uma sessão de chat? Você consegue atualizar a página sem perder sua sessão? Você consegue navegar para outras páginas e manter sua sessão?
  • Incorporações de conteúdo:você consegue ver conteúdo de vídeo ou outro conteúdo incorporado? As preferências do usuário, como idioma ou legendas, são mantidas? Você está vendo anúncios quando esperado, por exemplo, não os vendo como assinante premium?
  • Login:os logins, incluindo os de logon único (SSO), estão funcionando para incorporações que os aceitam? Elas são mantidas durante as atualizações de página e a navegação para páginas que usam as mesmas incorporações?
  • Widgets de comentários:você pode deixar, marcar como "Gostei" e votar nos comentários?
  • Soluções de pagamento incorporadas:você consegue concluir pagamentos?

Nas próximas seções, você vai encontrar informações mais específicas sobre como esses fluxos podem ser afetados.

Casos de uso comuns

Há várias APIs que podem ser usadas para incorporações que tradicionalmente dependem de cookies de terceiros. A tabela a seguir lista alguns fluxos de trabalho comuns e as APIs recomendadas para usar como um resumo de alto nível. As seções a seguir explicam o motivo dessas recomendações.

Caso de uso API recomendada para uso de cookies de terceiros
Widget de chat CHIPS
Incorporações de mapa CHIPS
Domínios de sandbox para conteúdo de usuários não confiáveis
(como googleusercontent.com e githubusercontent.com) que precisam de estado no escopo por editor
CHIPS
Anúncios incorporados que precisam de escopo de estado por publisher CHIPS
Fazer login com um provedor de identidade FedCM
Incorporação hospedada em origens diferentes, mas relacionadas. API Storage Access com conjuntos de sites relacionados
Incorporações de conteúdo com preferências baseadas em login
(como conteúdo de vídeo sem anúncios ou preferências de idioma/legenda)
API Storage Access
Widget de comentários em redes sociais que exige login API Storage Access
APIs alternativas recomendadas para casos de uso comuns

Escolha a API adequada para casos de uso incorporados de terceiros

Esta seção explica como escolher uma API alternativa adequada e as APIs recomendadas.

O fluxograma a seguir ajuda a escolher entre as opções disponíveis:

Fluxograma de opções para decidir sobre uma alternativa de cookie de terceiros com base em três perguntas.
Decidir qual API usar para incorporações de cookies de terceiros

O fluxograma faz três perguntas principais, que vamos analisar em mais detalhes, e por que uma determinada API é recomendada em cada caso.

1. Os cookies são específicos do site de incorporação?

Muitas incorporações de terceiros são usadas de forma independente em sites completamente não relacionados. Por exemplo, os widgets de chat para suporte ao cliente geralmente exigem cookies para funcionar, mas não precisam compartilhar esses cookies entre duas organizações completamente diferentes que usam a mesma solução de widget de chat. Na verdade, a preferência seria não permitir o compartilhamento de cookies em muitos desses casos.

Se você fornece um serviço de incorporação de terceiros para outros sites e ele depende de cookies, considere se esses cookies são específicos do serviço no site em que ele está incorporado. Eles são compartilhados por instâncias da sua incorporação em outros sites?

Se não for necessário compartilhar os cookies, a opção mais fácil é particioná-los usando CHIPS. Essa API vincula cookies de terceiros ao site de nível superior, em vez de permitir que eles sejam compartilhados por todos os sites que usam a mesma incorporação de terceiros. O CHIPS é fácil de implementar, já que só exige a adição de um atributo Partitioned extra aos cookies atuais. Isso permite que os serviços incorporados ainda salvem o estado, mas remove o armazenamento compartilhado entre sites que permitiria o rastreamento entre sites.

Os sites também precisam verificar se os cookies estão sendo usados pelos motivos certos. Os cookies só devem ser usados quando forem definidos ou precisarem ser enviados com solicitações HTTP. Se não for esse o caso, e os cookies forem usados apenas como uma opção de armazenamento conveniente, considere as várias APIs de armazenamento. Isso mantém os dados locais quando não é necessário enviá-los. As APIs de armazenamento já são particionadas em todos os principais navegadores, de maneira semelhante à forma como o CHIPS particiona cookies.

2. Os cookies são de um provedor de identidade terceirizado?

Um uso comum de cookies de terceiros em incorporações é fornecer recursos de login gerenciados por um provedor de login terceirizado, como o Fazer login com o Google. Nesse caso, os cookies particionados não são uma opção.

O Gerenciamento federado de credenciais (FedCM) é uma API dedicada especificamente para esse caso de uso e funciona sem cookies de terceiros. Se a FedCM for compatível com o provedor de identidade, isso poderá eliminar a necessidade de cookies de terceiros.

Leia mais sobre como lidar com os efeitos dos cookies de terceiros nos fluxos de trabalho de login no guia de identidade.

Se nenhuma das opções anteriores for adequada para substituir os cookies, você precisará reativar o acesso a cookies de terceiros para a incorporação. Isso pode ser ativado em casos de uso específicos e controlados com a API Storage Access. Essa API reativa o acesso total a cookies de terceiros (sujeito a controles), sendo a opção mais eficiente. Por isso, a recomendação é evitar o uso de permissões amplas se uma alternativa mais restritiva for suficiente.

Há alguns requisitos para usar a API Storage Access:

  • O usuário precisa ter acessado o site da incorporação em um nível superior. Por exemplo, se você incorporar um sistema de comentários, o usuário também precisará acessar o site desse sistema.
  • O usuário precisa interagir com a incorporação antes que os cookies possam ser compartilhados. Isso significa que talvez não seja possível carregar todo o conteúdo incorporado antes da interação do usuário.
  • O usuário pode precisar aprovar o compartilhamento de cookies com um pop-up do navegador, principalmente na primeira vez e periodicamente depois disso.
  • O site de incorporação também pode precisar definir outros atributos de sandbox.

Essas restrições garantem que a ação poderosa de reativar cookies de terceiros seja feita apenas quando o usuário e o site esperam isso. No entanto, em determinados cenários, as ações do usuário podem ser ignoradas. Por exemplo, se o usuário tiver aprovado o acesso recentemente, talvez não seja necessário pedir novamente por um período (conforme definido pelo navegador).

Outro cenário em que isso provavelmente é esperado pelo usuário é em sites relacionados. Por exemplo, algumas organizações usam várias origens diferentes, que são consideradas entre sites pelo navegador. Assim, o uso de cookies entre elas é tratado como de terceiros. Por exemplo, marcas com sites específicos de países (como example.com e example.co.uk) ou sites específicos de marcas (como example.car e example.house).

Nesse caso, em que há um pequeno número de sites relacionados, você pode usar os conjuntos de sites relacionados. Os sites são enviados ao Chrome para que ele saiba que estão relacionados. Isso permite o acesso à API Storage Access de uma maneira mais fácil de usar, com menos solicitações ao usuário.

Para sites não relacionados que são terceiros e em que o acesso total a cookies de terceiros é necessário porque as APIs alternativas não são suficientes, o uso da API Storage Access está sujeito a todos os requisitos e solicitações.

Comparação das várias APIs

Cada uma das soluções tem características e limitações ligeiramente diferentes que as tornam uma opção melhor para determinados casos de uso. A tabela a seguir resume as principais diferenças:

CHIPS Armazenamento particionado FedCM API Storage Access com conjuntos de sites relacionados API Storage Access
O usuário não precisa ter acessado anteriormente a parte incorporada como um site de nível superior.
Não exige que o usuário aprove o acesso
Não exige que o usuário interaja com a incorporação
(também pode ser verdadeiro para sites incorporados com acesso de nível superior).
Esforço de implementação Muito baixa Baixo Alta Médio Médio
Pode ser usado para compartilhar cookies em vários sites/origens de nível superior.
(Proposta em discussão.)
Disponível em navegadores não Chromium
(reverte para a API Storage Access)
Comportamentos, nível de esforço necessário e disponibilidade das principais APIs para casos de uso incorporados

Suporte a casos de uso em vários navegadores

A compatibilidade com navegadores é um dos principais fatores ao decidir sobre uma solução, como mencionado na última linha da tabela. Algumas APIs (CHIPS, FedCM, conjuntos de sites relacionados) estão disponíveis apenas em navegadores Chromium. As únicas duas soluções entre navegadores no momento são APIs de armazenamento particionado (quando cookies não são necessários) e a API Storage Access (quando cookies são necessários).

No entanto, como observado anteriormente, a API Storage Access tem várias restrições que podem afetar a experiência do usuário no seu site. A equipe do Chrome trabalhou para adicionar as outras APIs, que são projetadas para atender a casos de uso específicos e oferecer uma experiência semelhante ao que foi possível com cookies de terceiros. Portanto, é recomendável considerar quais são as melhores opções e tratá-las como melhorias progressivas, com um fallback para a API Storage Access em navegadores sem suporte.

Como os cookies podem ser bloqueados por vários motivos (por exemplo, configurações do navegador, extensões), a detecção de recursos do suporte à API pode não ser suficiente. Em vez disso, é melhor testar se os cookies esperados existem e, se não, voltar ao fluxo de trabalho da API Storage Access para solicitar acesso a cookies de terceiros.

Tome providências agora!

Se a incorporação de terceiros não funcionar mais sem o uso de cookies de terceiros, há várias soluções disponíveis que abordam o possível impacto, conforme detalhado nesta conversa. Chegou a hora de auditar seu serviço quanto a cookies de terceiros agora.

Para quem está enfrentando problemas com incorporações agora que o Chrome está testando a remoção de cookies de terceiros, há várias opções de curto prazo para ajudar na migração para as alternativas descritas nesta postagem. Consulte a documentação sobre preservar experiências críticas do usuário para mais informações.

Se você tiver dúvidas sobre casos de uso de incorporação de terceiros não abordados neste guia, informe um novo problema usando a tag "descontinuação de cookies de terceiros" no repositório de suporte a desenvolvedores.