Anonimização de IPs no Analytics

Explicação técnica do modo como o Analytics anonimiza os endereços IP

Resumo

Quando um cliente do Analytics solicita a anonimização dos endereços IP, o Analytics anonimiza o endereço assim que isso é tecnicamente possível na fase mais precoce possível da rede de recolha. A funcionalidade de anonimização de IPs no Analytics define o último octeto dos endereços IP dos utilizadores IPv4 e os últimos 80 bits dos endereços IPv6 para zeros na memória pouco depois de terem sido enviados para a Rede de Recolha do Analytics. Neste caso, o endereço IP completo nunca é escrito no disco.

Quando cria uma propriedade, tem três opções e, para cada opção, a anonimização do endereço IP é implementada da seguinte forma:

Em profundidade

Desde 25 de maio de 2010, o Analytics oferece a funcionalidade _anonymizelp na biblioteca de JavaScript ga.js (e mais recentemente ga('set', 'anonymizeIp', true) na biblioteca analytics.js) para permitir que os proprietários de Websites solicitem que todos os endereços IP dos seus utilizadores sejam anonimizados no produto. Esta funcionalidade foi concebida para ajudar os proprietários de sites a agir em conformidade com as suas próprias políticas de privacidade ou, em alguns países, as recomendações de autoridades locais de proteção de dados, que podem impedir o armazenamento integral das informações do endereço IP. A anonimização/ocultação de endereços IP ocorre logo que os dados são recebidos pela Rede de Recolha do Analytics, antes de ocorrer qualquer armazenamento ou processamento.

O processo de anonimização de IPs no Analytics ocorre em duas etapas no pipeline de recolha: a Etiqueta JavaScript e a Rede de Recolha. Estas etapas são explicadas abaixo.

A etiqueta JavaScript do Analytics

Quando um navegador de Internet compatível com JavaScript carrega uma página com a etiqueta do Analytics (ga.js ou analytics.js), efetua dois processos de forma assíncrona: carrega e processa a fila de funções do Analytics e solicita o JavaScript do Analytics. A fila de funções é uma matriz de JavaScript onde as diferentes funções de configuração e recolha do Analytics são emitidas. Estas funções, definidas pelo proprietário do site quando implementa o Analytics, podem incluir funções como a especificação do número de conta do Analytics e o envio efetivo de dados de visualização de páginas para a Rede de Recolha do Analytics para processamento.

Quando o JavaScript do Analytics executa uma função da fila de funções que aciona o envio dos dados para a Rede de Recolha do Analytics (normalmente, essa função é ga('send', 'pageview') na biblioteca de JavaScript analytics.js e _trackPageview na biblioteca ga.js), envia os dados como parâmetros de URL anexados a um pedido HTTP para http://www.google-analytics.com/_utm.gif (para ga.js) e http://www.google-analytics.com/collect (para analytics.js). Se a função de anonimização tiver sido chamada antes da função de acompanhamento de páginas, é adicionado um parâmetro adicional ao pedido de pixéis. O parâmetro de anonimização IP tem o seguinte aspeto: &aip=1

A Rede de Recolha do Analytics

A Rede de Recolha do Analytics corresponde ao conjunto de servidores que oferecem dois serviços principais: a publicação de ga.js e analytics.js (JavaScript do Analytics) e a recolha de dados enviados através de pedidos de _utm.gif e /collect.

Quando chega um pedido de ga.js, analytics.js, _utm.gif ou /collect, inclui informações adicionais no cabeçalho do pedido HTTP (ou seja, o tipo de navegador utilizado) e o cabeçalho de TCP/IP (ou seja, o endereço IP do requerente).

Assim que um pedido de _utm.gif é recebido, é retido na memória para fins de anonimização. Se o parâmetro &aip=1 for encontrado no URL do pedido (já que teria sido colocado pelo JavaScript do Analytics depois do processamento da função de anonimização em ga.js ou analytics.js), então o último octeto do endereço IP do utilizador é definido para zero enquanto ainda está na memória. Por exemplo, um endereço IP de 12.214.31.144 seria alterado para 12.214.31.0. (Se o endereço IP for um endereço IPv6, os últimos 80 dos 128 bits são definidos para zero.) Só depois deste processo de anonimização é que o pedido é escrito no disco para processamento. Se o método de anonimização do IP for utilizado, em nenhum momento o endereço IP completo é escrito no disco, uma vez que todo o processo de anonimização ocorre na memória quase instantaneamente depois de o pedido ter sido recebido.

A informação foi útil?
Como podemos melhorá-la?