Como funciona

O Aggregation Service oferece às adtechs os insights de performance necessários para melhorar a eficácia das campanhas com os clientes.

Este documento aborda:

Para quem é este documento?

Esta página ajuda adtechs e desenvolvedores a entender como nossas APIs permitem uma medição de publicidade eficaz e que preserva a privacidade.

Este documento pressupõe que você já conhece a API Private Aggregation, a API Attribution Reporting, a API Protected Audience, o armazenamento compartilhado e os ambientes de execução confiáveis.

Principais termos e conceitos

Conheça os termos principais antes de continuar:

Glossário

AdTech

Uma plataforma de publicidade é uma empresa que presta serviços para veicular anúncios.

Relatórios agregáveis

Os relatórios criptografados são enviados de dispositivos de usuários individuais. Esses relatórios contêm dados sobre o comportamento do usuário entre sites e as conversões. As conversões (às vezes chamadas de eventos acionador de atribuição) e as métricas associadas são definidas pelo anunciante ou pela adtech. Cada relatório é criptografado para impedir que várias partes acessem os dados.

Saiba mais sobre os relatórios com agregação.

Contabilização de relatórios agregáveis

Um ledger distribuído, localizado nos dois coordenadores, que rastreia o orçamento de privacidade alocado e aplica a regra "Sem duplicações". Esse é o mecanismo de preservação da privacidade, localizado e executado em coordenadores, que garante que nenhum relatório passe pelo serviço de agregação além do orçamento de privacidade alocado.

Saiba mais sobre como as estratégias de lote se relacionam com os relatórios agregáveis.

Orçamento de contabilização de relatórios agregáveis

Referências ao orçamento que garantem que os relatórios individuais não sejam processados mais de uma vez.

Serviço de agregação

Um serviço operado por adtech que processa relatórios agregáveis para criar um relatório de resumo.

Leia mais sobre o histórico do serviço de agregação em nosso texto explicativo e na lista completa de termos.

Declaração

Um mecanismo para autenticar a identidade do software, geralmente com hashes criptográficos ou assinaturas. Para a proposta de serviço de agregação, o atestado corresponde ao código executado no serviço de agregação operado pela adtech com o código de código aberto.

Leia mais sobre atestados.

Vinculação de contribuição
Coordenador

Entidades responsáveis pelo gerenciamento de chaves e pela contabilidade de relatórios agregáveis. Um coordenador mantém uma lista de hashes de configurações de serviço de agregação aprovadas e configura o acesso às chaves de descriptografia.

Ruído e escalonamento

Ruído estatístico adicionado aos relatórios de resumo durante o processo de agregação para preservar a privacidade e garantir que os relatórios finais forneçam informações de medição anônimas.

Leia mais sobre o mecanismo de ruído aditivo, que é extraído da distribuição de Laplace.

Origem do relatório

A entidade que recebe relatórios agregáveis, ou seja, você ou uma adtech que chamou a API Attribution Reporting. Os relatórios agregáveis são enviados dos dispositivos dos usuários para um URL conhecido associado à origem do relatório. A origem do relatório é designada durante o registro.

ID compartilhado

Um valor computado que consiste em shared_info, reporting_origin, destination_site (somente para a API Attribution Reporting), source_registration-time (somente para a API Attribution Reporting), scheduled_report_time e versão.

Vários relatórios que compartilham os mesmos atributos no campo shared_info precisam ter o mesmo ID compartilhado. Os IDs compartilhados desempenham um papel importante na contabilização de relatórios agregáveis.

Saiba mais sobre servidores confiáveis.

Relatório do resumo

Um tipo de relatório da API Attribution Reporting e da API Private Aggregation. Um relatório de resumo inclui dados agregados do usuário e pode conter dados de conversão detalhados com ruído adicionado. Os relatórios de resumo são compostos por relatórios agregados. Eles permitem mais flexibilidade e oferecem um modelo de dados mais rico do que os relatórios no nível do evento, principalmente para alguns casos de uso, como valores de conversão.

Ambiente de execução confiável (TEE)

Uma configuração segura de hardware e software de computador que permite que partes externas verifiquem as versões exatas do software em execução na máquina sem medo de exposição. Os TEEs permitem que terceiros verifiquem se o software faz exatamente o que o fabricante afirma.

Para saber mais sobre os TEEs usados para as propostas do Sandbox de privacidade, leia a explicação dos serviços da API Protected Audience e a explicação do serviço de agregação.

Fluxo de trabalho do serviço de agregação

O serviço de agregação gera relatórios de resumo com dados detalhados de conversão e alcance dos relatórios agregáveis brutos. O fluxo de geração de relatórios consiste nas seguintes etapas:

  1. Um navegador busca uma chave pública para gerar relatórios criptografados.
  2. Os relatórios agregáveis criptografados são enviados para servidores de adtech.
  3. O servidor de adtech agrupa relatórios (no formato avro) e os envia ao serviço de agregação.
  4. Um worker de agregação recupera os relatórios agregados para descriptografar.
  5. O worker de agregação recupera chaves de descriptografia de um coordenador.
  6. O worker de agregação descriptografa os relatórios para agregação e adição de ruído.
  7. O serviço de contabilidade de relatórios agregáveis verifica se há um orçamento de privacidade suficiente para gerar um relatório de resumo dos relatórios agregáveis.
  8. O serviço de agregação envia um relatório de resumo final.

O diagrama a seguir mostra o serviço de agregação em ação, desde o momento em que os relatórios são recebidos de dispositivos móveis e da Web até a criação de um relatório de resumo pelo serviço de agregação.

Fluxo completo do serviço de agregação.
Fluxo completo do serviço de agregação

Em resumo, a API Attribution Reporting ou a API Private Aggregation geram relatórios de várias instâncias do navegador. O Chrome recebe uma chave pública, que é trocada a cada sete dias, do serviço de hospedagem de chaves no coordenador para criptografar os relatórios antes de enviá-los à origem de relatórios de adtech. A origem de relatórios da adtech coleta e converte os relatórios recebidos para o formato avro e os envia ao serviço de agregação. Quando uma solicitação em lote é enviada ao serviço de agregação, ele busca chaves de descriptografia no serviço de hospedagem de chaves, descriptografa os relatórios e os agrega e adiciona ruído para criar um relatório de resumo, desde que haja orçamento de privacidade suficiente para isso.

Saiba como preparar seus relatórios agregáveis na seção de implementação.

Agrupamento em lote de relatórios agregáveis

O fluxo de relatórios não estaria completo sem a ajuda do servidor de origem de relatórios designado, que você especificou durante o processo de inscrição. A origem de relatórios é responsável por coletar, transformar e agrupar relatórios agregáveis, além de prepará-los para serem enviados ao seu serviço de agregação no Google Cloud ou na Amazon Web Services. Leia mais sobre como preparar seus relatórios agregáveis.

Componentes do Cloud

O serviço de agregação consiste em vários componentes de serviço de nuvem. Você usa scripts Terraform fornecidos para provisionar e configurar todos os componentes necessários do serviço de nuvem.

Componentes de nuvem do serviço de agregação.
Componentes de nuvem do serviço de agregação.

Serviço de front-end

Serviço gerenciado na nuvem:Cloud Function (Google Cloud) / API Gateway (Amazon Web Services)

O serviço de front-end é um gateway sem servidor que é o principal ponto de entrada para chamadas da API Aggregation para criação e recuperação do estado do job. Ele é responsável por receber solicitações dos usuários do serviço de agregação, validar parâmetros de entrada e iniciar o processo de programação de jobs de agregação.

O serviço de front-end tem duas APIs disponíveis:

Endpoint Descrição
createJob Essa API aciona um job do serviço de agregação. Para acionar o job, são necessárias informações como ID do job, detalhes do armazenamento de entrada e saída e origem do relatório.
getJob Essa API retorna o status do job com um ID especificado. Ele fornece informações sobre o estado do job, como "Recebido", "Em andamento" ou "Concluído". Se o job for concluído, ele também vai retornar o resultado, incluindo todas as mensagens de erro encontradas durante a execução.

Confira a documentação da API do serviço de agregação.

Fila de jobs

Serviço gerenciado de nuvem:Pub/Sub (Google Cloud) / Amazon SQS (Amazon Web Services)

A fila de jobs é uma fila de mensagens que contém solicitações de jobs para o serviço de agregação. O serviço de front-end insere solicitações de job na fila, que são consumidas por workers de agregação que as processam.

Cloud Storage

Serviço de nuvem gerenciado:Google Cloud Storage (Google Cloud) / Amazon S3 (Amazon Web Services)

Os arquivos de entrada e saída usados pelo Serviço de agregação, como arquivos de relatórios criptografados e relatórios de resumo de saída, são mantidos no armazenamento em nuvem.

Banco de dados de metadados do job

Serviço de nuvem gerenciado:Spanner (Google Cloud) / DynamoDB (Amazon Web Services)

O banco de dados de metadados de jobs é usado para armazenar e rastrear o status dos jobs de agregação. Ele registra metadados como hora de criação, hora solicitada, hora de atualização e estado, como "Recebido", "Em andamento" ou "Concluído". Os workers de agregação atualizam o banco de dados de metadados de job conforme os jobs avançam.

Worker de agregação

Serviço gerenciado de nuvem:Compute Engine com espaço confidencial (Google Cloud) / Amazon Web Services EC2 com Nitro Enclave (Amazon Web Services).

Um worker de agregação processa solicitações de job na fila de jobs e descriptografa as entradas criptografadas usando chaves buscadas no Serviço de geração e distribuição de chaves (KGDS, na sigla em inglês) nos coordenadores. Para minimizar a latência de processamento de jobs, os workers de agregação armazenam em cache as chaves de descriptografia por um período de oito horas e as usam em todos os jobs que processam.

Os workers de agregação operam em uma instância de ambiente de execução confiável (TEE). Um worker processa apenas um trabalho por vez. É possível configurar vários workers para processar jobs em paralelo definindo a configuração de escalonamento automático. Se usado, o escalonamento automático ajusta dinamicamente o número de workers de acordo com o número de mensagens na fila de jobs. É possível configurar o número mínimo e máximo de workers para escalonamento automático no arquivo de ambiente do Terraform. Para mais informações sobre o escalonamento automático, consulte estes scripts do Terraform: Amazon Web Services ou Google Cloud.

Os workers de agregação chamam o serviço de contabilização de relatórios agregáveis para contabilizar esses relatórios. Esse serviço verifica se os jobs só são executados se o limite do orçamento de privacidade não foi excedido. Consulte a regra"Sem duplicatas". Se o orçamento estiver disponível, um relatório de resumo será gerado usando os agregados com ruído. Leia mais detalhes sobre a contabilidade de relatórios agregáveis.

Os trabalhadores de agregação atualizam os metadados do job no banco de dados de metadados do job. Essas informações incluem códigos de retorno de jobs e contadores de erros de relatórios em caso de falhas parciais. Os usuários podem buscar o estado usando a API de recuperação de estado do job getJob.

Consulte esta explicação para uma descrição mais detalhada do serviço de agregação.

Próximas etapas

Agora que você sabe como o serviço de agregação funciona, siga o guia de início rápido para implantar sua própria instância no Google Cloud ou na Amazon Web Services.