Como usar variáveis personalizadas do Google Analytics no Drupal 7

Olá pessoas! Hoje vou falar de um assunto que não é muito comum, porém deveria ser. Análises providas pelo Google Analytics são muito úteis e de extrema importância quando estamos tratando de decisões, principalmente de marketing. Muito bem!

Vou descrever aqui uma forma fácil de usar variáveis personalizadas em um site Drupal para ser lida através da interface poderosa do Google Analytics. Para isso, vou usar os módulos Google Analytics e o Token. Se você já tem esses dois módulos instalados, sim'bóra saber o que nos falta. :)

Na página de configurações do Google Analytics (admin/config/system/googleanalytics) se encontra uma parte que pode definir variáveis personalizadas. A gente pode definir uma string estática também, mas nesses casos não será uma coisa muito útil. É melhor trabalhar com tokens e trabalhando assim, podemos também escolher um dos vários tokens já existentes para criar a nossa variável personalizada para análise. No entanto, aqui, vamos fazer um token próprio.

Para fazer o token próprio, nós precisamos criar um módulo que informe ao Drupal o uso de um token personalizado, através do hook_token_info. Sabendo disso, começamos adicionando um tipo para todas as nossas variáveis Google Analytics. Veja no código a seguir:

/** * Implements hook_token_info(). */ function my_module_token_info() { // new type $info['types']['google-analytics'] = array( 'name' => t('Google analytics variables'), 'description' => t("Google analytics variables."), ); // new token $info['tokens']['google-analytics']['user-roles'] = array( 'name' => t('User roles'), 'description' => t("All the roles that the user has."), ); return $info; }

Agora o Drupal já sabe da existência do nosso token. Devemos adicionar ainda o hook_tokens que reescreve o token com o valor atual dele. No exemplo, estamos retornando os papéis do usuário. Fazendo isso, posso rastrar os page-views filtrando por papel de usuário. Show, né? Você também pode usar um token já existente para retornar os papéis do usuário, mas neste artigo, vamos usar um token personalizado:

/** * Implements hook_tokens(). */ function my_module_tokens($type, $tokens, array $data = array(), array $options = array()) { $replacements = array(); if ($type == 'google-analytics') { foreach ($tokens as $name => $original) { switch ($name) { case 'user-roles': global $user; $replacements[$original] = implode(', ', $user->roles); break; } } } return $replacements; }

Depois do token adicionado, é preciso limpar todos os caches do Drupal, para que ele procure pelo novo token. Feito isso, agora podemos adicionar esse token como uma variável personalizada na página de administração do Google Analytics (admin/config/system/googleanalytics), pois ele estará listado junto aos outros tokens. Supondo que a nossa variável seja a primeira da lista personalizada e o nome dela seja "Papéis". Esse nome será o primeiro a aparecer nos relatórios "Custom Variables" do Google Analytics.

Depois de salvar essa página, precisamos que o HTML de todas as páginas do nosso site retornem um código adicional. Para isso, basta adicionar o código a seguir nas configurações do script do Google Analytics (pelo próprio Drupal):

_gaq.push(['_setCustomVar', 1, "Roles", "authenticated user, administrator", 3]);

Pronto! Isso é tudo que precisamos. Agora imagine a quantidade de possibilidades para rastreamentos bacanudos que você pode inserir em seu site, para serem vistos através da interface do Google Analytics. Isso dá uma poderosa via de rastramento dos estados/elementos em seu site. No link a seguir tem uns exemplos de bons casos de uso: http://techpad.co.uk/content.php?sid=166

É isso galera! Espero que seja útil pra vocês. Qualquer coisa deixe um comentário. :D

Este post é uma livre tradução adaptada do Bruno Goossens.