Trabalhando com eventos no Google Analytics

O Google Analytics por si só já traz uma gama muito grande de relatórios que dá para ter uma noção bem grande do que o usuário está fazendo em nossa aplicação.
O problema é quando nossa aplicação precisa de algo a mais, algo que o Google Analytics não captura, é nesse caso que você pode usar os eventos e muita criatividade para capturar tudo que você quiser.

Os eventos do Google Analytics são muito úteis quando a aplicação possui interações são independente do carregamento da página. Exemplo são requisições ajax, execução de vídeos, cliques em áreas específicas, ver se o usuário passou o mouse em cima de algum objeto... As opções são inúmeras, tudo dependerá da sua criatividade.

Primeira coisa, verifique seu código de acompanhamento do Google Analytics está funcionando corretamente. Para isso, vá nas opções de tempo real, e verifique se consegue monitorar o próprio acesso.

Com código de acompanhamento funcionando corretamente, agora é hora de sair inserindo os eventos. Usaremos a função ga para o código de acompanhamento novo e o _gaq para o antigo. Veja a extrutura da função abaixo:

1
ga('send', 'event', [categoria], [ação], [rótulo], [valor]);
1
_gaq.push([‘_trackEvent’, [categoria], [ação], [rótulo], [valor]]);

O que é isso tudo?

Categoria Obrigatório
Local ou objeto que sofreu interação.
Exemplo: Video, Menu...
Ação Obrigatório
A interação que aconteceu no objeto ou local.
Exemplo: Reproduziu, Acessou...
Rótulo Não obrigatório
Qualquer coisa que facilite distinguir os eventos.
Exemplo: Campanha zero erro, campanha natal programando, teste para ver se alguem leu isso...
Valor Não obrigatório.
Qualquer número associado ao evento.
Exemplo: 1, 30, 100 (vocês sabem o que é um número né? Qualquer um...)

Exemplos de uso

Marcar o envio de um forumário de contato via ajax

1
2
//Para o código de acompanhamento novo
ga('send', 'event', 'Formulário', 'Formulário enviado com sucesso!', 'Contato');
1
2
//Para o código de acompanhamento novo
_gaq.push([‘_trackEvent’, 'Formulário', 'Formulário enviado com sucesso!', 'Contato']);

Marcar reprodução de um vídeo

1
2
//Para o código de acompanhamento novo
ga('send', 'event', 'Vídeo', 'Reproduzido', 'Vídeo aula PHP', 1);
1
2
//Para o código de acompanhamento antigo
_gaq.push([‘_trackEvent’, 'Vídeo', 'Reproduzido', 'Vídeo aula PHP', 1]);
1
2
//Para o código de acompanhamento novo
ga('send', 'event', 'erro', 404, window.location.href);
1
2
//Para o código de acompanhamento antigo
_gaq.push([‘_trackEvent’, 'erro', 404', window.location.href]);

Capturar cliques para links externos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Para o código de acompanhamento novo
window.onload = function () {
    var externalLinks = document.querySelectorAll('a[href^="http"]');
    for (var i = externalLinks.length - 1; i >= 0; i--) {
        if (!externalLinks[i].href.match(/sounoob.com.br/g)) {
            externalLinks[i].addEventListener('click', function () {
                if (this.alt) {
                    var title = this.alt;
                } else if (this.title) {
                    var title = this.title;
                } else {
                    var title = 'Link sem alt/title';
                }
                ga('send', 'event', 'outbound-article', title, this.href);
            }, false);
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Para o código de acompanhamento antigo
window.onload = function () {
    var externalLinks = document.querySelectorAll('a[href^="http"]');
    for (var i = externalLinks.length - 1; i >= 0; i--) {
        if (!externalLinks[i].href.match(/sounoob.com.br/g)) {
            externalLinks[i].addEventListener('click', function () {
                if (this.alt) {
                    var title = this.alt;
                } else if (this.title) {
                    var title = this.title;
                } else {
                    var title = 'Link sem alt/title';
                }
                _gaq.push([‘_trackEvent’, 'outbound-article', title, this.href]);
            }, false);
        }
    }
}

ga is not defined

Quando comecei a inserir evento em tudo que é site esse foi o erro que mais aconteceu, tente fazer o checklist abaixo que um deles vai resolver o seu problema.

  • Verifique se o código de acompanhamento está funcioando corretamente
  • Verifique se você está chamando a função ga antes do código de acompanhamento
  • Verifique se você está usando o código de acompanhamento antigo com a função do novo, ou vice versa.

Já inseri, onde isso tudo vai aparecer?

Acesse sua conta do Google Analytics, vá em Relatório, depois em Comportamento , depois Eventos e por fim Visão geral. Acessar eventos no Google Analytcs

Agora é a vez de vocês

O Google Analytics da forma padrão já te atende?
Se não, como você solucionou esse problema usando os eventos?