Como desativar os cookies do Google Analytics?

Poucos sabem, porém os cookies do Google Analytics podem ser desativados a partir do próprio código de rastreio fornecido pelo Google. O método é fácil, mas cria um problema: cada novo usuário só é “visto” pelo Analytics como sendo um novo usuário. Como não há cookies e IDs registados, não é possível diferenciar um novo visitante de um recorrente.

Ainda assim, para algumas empresas e websites pode ser uma saída interessante para zelar pela privacidade dos utilizadores e estar em consonância com o RGPD.

No código de rastreio em Javascript, determinada parte exibe o método create, seguido do número de identificação do website. Nessa linha, basta adicionar um novo argumento: storage. O argumento storage indica que tipo de armazenamento deve ocorrer no caso dos IDs gerados para os usuários. Ao colocar o storage como “none”, indica-se ao código de rastreio que IDs não devem ser armazenados e, portanto, cookies não deverão ser gerados.

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none'
});

O mesmo pode ser feito em relação aos cookies gerados a partir de campanhas do AdWords, nomeadamente cookies do tipo _gac_<property-id>. Novamente, definimos o argumento como nulo, usando a mesma lógica, porém desta vez como “false”.

ga('create', 'UA-XXXXX-Y', {
  storeGac: false,
});

Como limpar os cookies de sessão após o logout?

O WordPress gera alguns cookies de sessão que, embora não armazenem dados pessoais ou sensíveis, permanecem no navegador do usuário que esteve logado ao website por qualquer razão. À luz do novo regulamento do RGPD, tal permanência de cookies é indesejável, além de tecnicamente desnecessária.

Contudo, como livrar-se desses cookies de forma automatizada? A seguir explicamos como utilizar uma solução em código simples para tal.

A solução passa por duas etapas:

  1. Primeiro, utiliza-se a “hook” wp-logout para acionar a função sempre que o usuário efetuar a saída do sistema. A função usa setcookie para deletar todos os cookies gerados a partir do domínio do website.
  2. No segundo passo, o redirecionamento é feito para a página inicial do website e não mais para o login do WordPress, que seria o redirecionamento padrão. Isto porque a página de login geraria um novo cookie.

 

add_action('wp_logout', function () {
 array_map(function ($k) {
  setcookie($k, FALSE, time()-YEAR_IN_SECONDS, '', COOKIE_DOMAIN);
 }, array_keys($_COOKIE));
  // Redireciona para o 'siteurl' ao invés do ecrã de login
  // o URL de login geraria um novo cookie
 header('Location: '.get_option('siteurl'));
 exit();
}, 99999);

 

O código pode ser utilizado em qualquer tema ou plugin para gerar o efeito. De forma mais recomendável, deve-se utilizar o código no ficheiro functions.php de um tema filho ou em um plugin customizado, para evitar que seja apagado em atualizações.