Acompanhamento de eventos

Este guia explica como implementar o acompanhamento de eventos com o analytics.js.

Visão geral

Eventos são interações do usuário com conteúdo que pode ser acompanhado independentemente do carregamento de uma página da Web ou de uma tela. Downloads, cliques em anúncios para dispositivos móveis, gadgets, elementos em Flash, elementos incorporados em AJAX e reproduções do vídeo são todos exemplos de ações que convém acompanhar como eventos.

Se você não conhece bem os eventos no Google Analytics, primeiro leia o artigo Sobre os eventos na Central de Ajuda do Google Analytics.

Implementação

É possível enviar hits de evento por meio do comando send e da especificação de um hitType de event. O comando send tem a assinatura a seguir para o tipo de hit event:

ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

Campos de evento

A tabela a seguir resume os campos de evento:

Nome do campo Tipo de valor Obrigatório Descrição
eventCategory texto sim Normalmente, o objeto com o qual a interação ocorreu (por exemplo, 'Video')
eventAction texto sim O tipo de interação (por exemplo, 'play')
eventLabel texto não Útil para classificar eventos (por exemplo, 'Fall Campaign')
eventValue número inteiro não Um valor numérico associado ao evento (por exemplo, 42)

Para ver uma descrição mais detalhada de cada um desses campos, consulte Anatomia de um evento na Central de Ajuda do Google Analytics.

Exemplos:

O comando a seguir envia um evento ao Google Analytics indicando que o vídeo promocional da campanha de outono foi reproduzido:

ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

Assim como acontece com todos os comandos send, os campos transmitidos nos parâmetros de conveniência também são especificados no fieldsObject. O comando acima pode ser reescrito como:

ga('send', {
  hitType: 'event',
  eventCategory: 'Videos',
  eventAction: 'play',
  eventLabel: 'Fall Campaign'
});

Quando um usuário clica em um link que o direciona para outra página no seu site, geralmente, essa página envia um hit de exibição de página quando o usuário a acessa. Como há uma série de exibições de páginas, o Google Analytics pode descobrir no sistema para onde (e de onde) o usuário navegou. No entanto, se um usuário clicar em um link ou enviar um formulário a um domínio externo, essa ação não será capturada, a não ser que você informe especificamente o Google Analytics o que aconteceu.

É possível acompanhar links externos e formulários enviando eventos e especificando o URL de destino em um dos campos de evento. A função de manipulador de eventos a seguir pode ser usada para enviar eventos de cliques em links externos ao Google Analytics:

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href
  });
}

Acompanhar links externos e formulários pode ser difícil porque a maioria dos navegadores para de executar JavaScript na página atual depois que uma nova página começa a ser carregada. Uma solução para esse problema é definir o campo transport como beacon:

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href,
    transport: 'beacon'
  });
}

Para navegadores que não suportam o método de transporte "beacon", é necessário atrasar a navegação para a próxima página até que o evento conclua o envio. A seção Como saber quando um hit foi enviado do guia sobre Envio de dados ao Google Analytics explica como fazer isso em detalhes.

Eventos sem interação

Em alguns casos, convém enviar um evento como um evento sem interação. Para fazer isso, especifique o campo nonInteraction como true no fieldsObject do comando send:

ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
  nonInteraction: true
});

Para mais informações sobre hits sem interação e quando usá-los, leia sobre eventos sem interação na Central de Ajuda do Google Analytics