Attribution Reporting: visão geral completa do sistema

Visão geral de alto nível dos serviços conectados para relatórios de atribuição, voltados para tomadores de decisões técnicas.

A API Attribution Reporting permite que adtechs e anunciantes meçam quando um clique ou visualização de anúncio leva a uma conversão, como uma compra. Essa API depende de uma combinação de integrações do lado do cliente e do servidor, dependendo das necessidades da empresa.

Antes de continuar, leia a visão geral dos relatórios de atribuição. Isso vai ajudar você a entender a finalidade da API e o fluxo dos diferentes relatórios de saída (relatório de eventos e relatórios de resumo). Se você encontrar termos desconhecidos, consulte o glossário do Sandbox de privacidade.

Para quem é este documento?

Leia este documento se:

  • Você é o responsável por tomar decisões técnicas de uma adtech ou de um anunciante. Você pode trabalhar em operações, DevOps, ciência de dados, TI, marketing ou outra função em que tome decisões de implementação técnica. Você quer saber como as APIs funcionam para preservar a privacidade.
  • Você é um profissional técnico (como um desenvolvedor, operador de sistema, arquiteto de sistema ou cientista de dados) que vai configurar experimentos com essa API e o ambiente do serviço de agregação.

Neste documento, você vai ler uma explicação geral e completa sobre como os serviços funcionam para a API Attribution Reporting. Se você é um profissional técnico, pode testar essa API localmente.

Visão geral

A API Attribution Reporting é composta por muitos serviços que exigem configurações específicas, configurações do lado do cliente e implantações do servidor. Para determinar o que você precisa, primeiro:

  • Tomar decisões de design. Defina quais informações você quer coletar, identifique as conversões que você espera de cada campanha e determine o tipo de relatório a ser coletado. O resultado final é um ou ambos os tipos de relatório: de eventos e de resumo.

Há sempre dois (e às vezes três) componentes que trabalham juntos para gerar relatórios:

  • Comunicação entre o site e o navegador. Em sistemas baseados em cookies, as informações de conversões e interações com anúncios são anexadas a um identificador que permite que você ou um serviço de análise combinem esses eventos mais tarde. Com essa API, o navegador associa conversões a cliques/visualizações de anúncios com base nas suas instruções antes de enviá-las para análise. Portanto, o código de renderização do anúncio e o acompanhamento de conversões precisam:
    • Informe ao navegador quais conversões devem ser atribuídas a quais cliques ou impressões de anúncios.
    • Sinalize outros dados para incluir nos relatórios finais.
  • Coleta de dados. Você vai precisar de um endpoint de coletor para receber os relatórios gerados nos navegadores dos usuários. A saída dos navegadores pode ser um dos dois relatórios possíveis: relatórios de eventos e agregáveis, que são criptografados e usados para gerar relatórios de resumo.

Se você coletou relatórios agregáveis, vai precisar de um terceiro componente:

Decisões de design

Um princípio fundamental dos relatórios de atribuição é a tomada de decisões de design antecipadas. Você decide quais dados coletar em quais categorias e com que frequência processar esses dados. Os relatórios de saída oferecem insights sobre suas campanhas ou sua empresa.

O relatório de saída pode ser:

  • Os relatórios de eventos associam um clique ou uma visualização de anúncio específico (no lado do anúncio) a dados da conversão. Para preservar a privacidade do usuário, limitando a combinação da identidade do usuário em vários sites, os dados do lado da conversão são muito limitados e têm ruídos, ou seja, em uma pequena porcentagem de casos, dados aleatórios são enviados em vez de relatórios reais.
  • Os relatórios de resumo não estão vinculados a um evento específico do anúncio. Esses relatórios oferecem dados de conversão mais detalhados e flexibilidade para mesclar dados de cliques e visualizações com dados de conversão.

A seleção de relatório determina quais dados você precisa coletar.

Você também pode pensar na saída final como uma entrada para as ferramentas que usa para tomar decisões. Por exemplo, se você gerar relatórios de resumo para determinar quantas conversões geraram um valor total de gastos, isso pode ajudar sua equipe a decidir qual será o público-alvo da próxima campanha publicitária para gerar um gasto total maior.

Depois de decidir o que você quer medir, configure o lado do cliente para a API Attribution Reporting.

Comunicação entre o site e o navegador

As origens de atribuição no site de um editor se conectam aos acionadores no site de um anunciante.
As origens de atribuição no site de um editor se conectam aos acionadores no site de um anunciante.

Fluxo de eventos de atribuição

Imagine um site de editores que exibe anúncios. Cada anunciante ou provedor de adtech quer saber mais sobre as interações com os anúncios e atribuir as conversões ao anúncio correto. Os relatórios (no nível do evento e agregáveis) seriam gerados da seguinte forma:

  1. No site do editor, um elemento de anúncio (tag <a> ou <img>) é configurado com um atributo especial attributionsrc. O valor dela é um URL, por exemplo, https://adtech.example/register-source/ad_id=....

    Confira um exemplo de link que registra uma origem após o clique:

    <a href="https://shoes.example/landing"
      attributionsrc="http://adtech.example/register-source?..."
      target="_blank">
    Click me</a>
    

    Confira um exemplo de imagem que vai causar o registro de uma fonte quando for visualizada:

    <img href="https://advertiser.example/landing"
      attributionsrc="https://adtech.example/register-source?..."/>
    

    Como alternativa, em vez de elementos HTML, é possível usar chamadas JavaScript.

    Confira um exemplo de JavaScript usando window.open(). O URL é codificado para evitar problemas com caracteres especiais.

    const encodedUrl = encodeURIComponent(
      'https://adtech.example/attribution_source?ad_id=...');
    window.open(
      "https://shoes.example/landing",
      "_blank",
      `attributionsrc=${encodedUrl}`);
    
  2. Quando o usuário clica ou visualiza o anúncio, o navegador envia uma solicitação GET para attributionsrc, geralmente um endpoint de anunciante ou provedor de adtech.

  3. Ao receber essa solicitação, o anunciante ou provedor de adtech decide instruir o navegador a registrar eventos de origem para interações com o anúncio, para que as conversões possam ser atribuídas a esse anúncio mais tarde. Para fazer isso, o anunciante ou o provedor de adtech inclui um cabeçalho HTTP especial na resposta. Ele anexa a esse cabeçalho dados personalizados que fornecem informações sobre o evento de origem (o clique ou a visualização do anúncio). Se uma conversão acontecer para esse anúncio, esses dados personalizados vão aparecer no relatório de atribuição.

    Visualizar ou clicar em um anúncio.

  4. Mais tarde, o usuário visita o site do anunciante.

  5. Em cada página relevante do site do anunciante, como uma página de confirmação de compra ou de produto, um pixel de conversão (elemento <img>) ou uma chamada de JavaScript faz uma solicitação para https://adtech.example/conversion?param1=...&param2=....

  6. O serviço nesse URL, normalmente o anunciante ou o provedor de adtech, recebe a solicitação. Ela decide categorizar isso como uma conversão, então precisa instruir o navegador a registrar uma conversão, ou seja, acionar uma atribuição. Para isso, o anunciante ou o provedor de adtech inclui na resposta à solicitação do pixel um cabeçalho HTTP especial que contém dados personalizados sobre a conversão.

  7. O navegador no dispositivo local do usuário recebe essa resposta e faz a correspondência dos dados de conversão com o evento de origem original (clique ou visualização do anúncio).

  8. O navegador programa um relatório para ser enviado a attributionsrc. Este relatório inclui:

    1. Os dados de configuração de atribuição personalizada que o provedor de adtech ou anunciante anexou ao evento de origem na etapa 3.
    2. O conjunto de dados de conversão personalizada na etapa 6.
    O diagrama mostra os elementos do acionamento do Relatório de atribuição que resultam em relatórios agregáveis e de eventos.
    O diagrama mostra os elementos de acionamento da Attribution Reporting que resultam em relatórios agregáveis e de eventos.
  9. Depois, o navegador envia os relatórios ao endpoint definido em attributionsrc, com algum atraso e ruído. Os relatórios agregáveis são criptografados, enquanto os relatórios de eventos não são.

Acionadores de atribuição (site do anunciante)

O acionador de atribuição é o evento que informa ao navegador para capturar conversões.

Recomendamos capturar as conversões mais importantes para o anunciante, como compras. Vários tipos de conversão e metadados podem ser capturados em relatórios de resumo.

Isso garante que os resultados agregados sejam detalhados e precisos para esses eventos.

Associar origens a acionadores

Quando um navegador recebe uma resposta de acionador de atribuição, ele acessa o armazenamento local para encontrar uma origem que corresponda à origem do acionador de atribuição e ao eTLD+1 do URL da página.

Por exemplo, quando o navegador recebe um acionador de atribuição de adtech.example em shoes.example/shoes123, ele procura uma fonte no armazenamento local que corresponda a adtech.example e shoes.example.

Filtros (ou regras personalizadas) podem ser definidos para determinar quando um acionador é associado a uma origem específica. Por exemplo, defina um filtro para contar apenas as conversões de uma categoria de produto específica e ignore todas as outras categorias. Os filtros e modelos de priorização permitem relatórios de atribuição mais avançados.

Se várias fontes de atribuição forem encontradas no armazenamento local, o navegador vai escolher a que foi armazenada mais recentemente. Em alguns casos, quando as fontes de atribuição recebem uma prioridade, o navegador seleciona a fonte com a maior prioridade.

Coleta de dados

Juntos, um acionador de atribuição associado a uma fonte correspondente é enviado como um relatório pelo navegador a um endpoint de relatório em um servidor de adtech (às vezes chamado de endpoint de coleta ou serviço de coleta). Esses relatórios podem ser de eventos ou agregáveis.

Os relatórios agregáveis são usados para gerar relatórios de resumo. Um relatório agregável é uma combinação de dados coletados do anúncio (no site de um editor) e de conversão (do site do anunciante), que é gerado e criptografado pelo navegador no dispositivo de um usuário antes de ser coletado pela adtech.

Os relatórios de evento têm um atraso de 2 a 30 dias. Os relatórios agregáveis são enviados com um atraso aleatório em até uma hora, e os eventos precisam se encaixar no orçamento de contribuição. Essas escolhas protegem a privacidade e impedem a exploração das ações de qualquer usuário.

Se você só tem interesse em relatórios de eventos, essa é a última parte da infraestrutura necessária. No entanto, se você quiser gerar relatórios de resumo, processe os relatórios agregáveis com um serviço adicional.

Geração de relatórios de resumo

Para gerar relatórios de resumo, use o serviço de agregação operado pela adtech para processar os relatórios agregáveis. O serviço de agregação adiciona ruído para proteger a privacidade do usuário e retorna o relatório de resumo final.

Os relatórios agregáveis são coletados, agrupados e enviados para o ambiente de adtech.
Este diagrama representa o fluxo assíncrono de dados do endpoint de coleta, relatórios de lote, pelo processamento no serviço de agregação da adtech.

Depois de agrupar os relatórios agregáveis coletados, o lote é processado pelo serviço de agregação. Um coordenador fornece as chaves de descriptografia apenas para versões atestadas do serviço de agregação. O Aggregation Service descriptografa os dados, os agrega e adiciona ruído antes de retornar os resultados como um relatório resumido.

Relatórios agregáveis em lote

Antes de processar os relatórios agregáveis, eles precisam ser agrupados. Um lote é composto por relatórios agregáveis agrupados de forma estratégica. Sua estratégia provavelmente vai refletir um período específico (diário ou semanal). Esse processo pode ocorrer no mesmo servidor que atua como seu endpoint de relatórios.

Os lotes precisam conter muitos relatórios para garantir que a relação entre sinal e ruído seja alta.

Períodos maiores levam a resultados menos ruidosos.
Compare o tempo de espera de um dia e de uma semana. Em uma hora, você terá um valor de resumo menor com resultados mais ruidosos. Em um dia, você terá um valor de resumo maior, então é provável que haja menos ruído.

Os períodos de lote podem mudar a qualquer momento para garantir que você capture eventos específicos em que você espera um volume maior, como uma venda anual. O período de lote pode ser alterado sem precisar mudar as origens ou acionadores de atribuição.

Serviço de agregação

O Aggregation Service é responsável por processar relatórios agregáveis para gerar um relatório de resumo. Os relatórios agregáveis são criptografados e só podem ser lidos pelo serviço de agregação, que é executado em um ambiente de execução confiável (TEE).

O serviço de agregação solicita chaves de descriptografia do coordenador para descriptografar e agregar os dados. Depois de descriptografados e agregados, os resultados são ruídos para preservar a privacidade e retornados como um relatório resumido.

Os profissionais podem gerar relatórios de texto não criptografado agregáveis para testar o serviço de agregação localmente. Também é possível testar com relatórios criptografados na AWS com Nitro Enclaves.

A seguir

Queremos conversar com você para garantir que estamos criando uma API que funcione para todos.

Discutir a API

Como outras APIs do Sandbox de privacidade, essa API é documentada e discutida publicamente.

Testar a API

Você pode testar e participar da conversa sobre a API Attribution Reporting.