[Obsolete] Guia de migração (Chrome 92): API Conversion Measurement para a API Attribution Reporting

A API Conversion Measurement vai mudar no Chrome 92.

O que muda?

Após as mudanças na proposta de API nos primeiros meses de 2021, a implementação da API no Chrome está evoluindo. Veja o que muda:

  • O nome da API e da política de permissões.
  • Os nomes dos atributos HTML e os URLs .well-known.
  • O formato dos relatórios. Agora os relatórios são enviados como JSON no corpo da solicitação.
  • O conteúdo dos relatórios: credit foi removido, assim como os relatórios que teriam 0 crédito.

O que permanece inalterado no Chrome 92 é o conjunto de recursos compatíveis: relatórios no nível do evento, apenas para cliques. Aguarde novidades sobre isso. Depois dessa mudança, outras atualizações e recursos serão lançados em versões futuras do Chrome.

Quando essas mudanças vão entrar em vigor?

Essas mudanças entram em vigor a partir do Chrome 92, que será lançado em 20 de julho de 2021. A versão Beta do Chrome 92 foi lançada em 3 de junho de 2021.

O que você deve fazer?

Se você estiver executando um teste de origem ou tiver implementado uma demonstração para essa API, terá duas opções:

  • Opção 1 (recomendada): migre seu código agora ou nas próximas semanas, de preferência antes de meados de julho de 2021. Assim, sua base de código estará pronta para mudanças futuras e continuará funcionando para clientes Chrome mais recentes.
  • Opção 2: aguardar o lançamento de mais atualizações e recursos em versões futuras do Chrome e fazer todas as mudanças necessárias no código de uma só vez.

Migrar

Exemplo de migração

Confira um exemplo de migração para um pequeno app de demonstração nesta solicitação de pull (rascunho).

Atualizar o código da política de permissões

Código legado Novo código
allow='conversion-measurement' allow='attribution-reporting'

Atualizar o código de detecção de recursos

Código legado Novo código
document.featurePolicy.features()
.includes('conversion-measurement')
document.featurePolicy.features()
.includes('attribution-reporting')

Atualizar os atributos HTML

Código legado Novo código
conversiondestination attributiondestination
impressiondata attributionsourceeventid
impressionexpiry attributionexpiry
reportingorigin attributionreportto

Atualizar argumentos de window.open()

Uma fonte de atribuição pode ser registrada para navegações iniciadas por window.open(). Atualize essas chamadas se você estiver usando window.open() para registrar fontes de atribuição.

O novo código vai ficar assim (essa mudança de nome segue a renomeação de atributos HTML):

window.open(
  'https://dest.example',
  '_blank',
  'attributionsourceeventid=1234,attributiondestination=https://dest.example,attributionreportto=https://reporter.example,attributionexpiry=604800000'
);

Atualizar o URL de chamada e o parâmetro de registro

Código legado Novo código
.well-known/register-conversion?conversion-data={DATA} .well-known/attribution-reporting/trigger-attribution?trigger-data={DATA}

Atualizar o código do endpoint de relatórios

Código legado Novo código
Solicitações esperadas do navegador .well-known/register-conversion?impression-data=&conversion-data={DATA}&attribution-credit=100 .well-known/attribution-reporting/trigger-attribution
Relatórios recebidos Enviados como parâmetros de URL. Enviado como JSON no corpo da solicitação.

Os dados do relatório são incluídos no corpo da solicitação como um objeto JSON com as seguintes chaves:
source_event_id: anteriormente impression-data, o ID do evento de 64 bits definido na origem da atribuição.
trigger_data: anteriormente conversion-data, o conjunto de dados de 3 bits no redirecionamento do gatilho de atribuição.

⚠️ credit foi removido.

Attribution Reporting: todos os recursos

Consulte Relatórios de atribuição.