Acompanhamento de eventos do Google Analytics com pjax e jquery

Algumas sugestões aleatórias para configurar o google analytics em seus projetos. Minha pilha atual é Rails + pjax + coffeescript + jquery, mas essas sugestões são válidas para todos!

Acompanhamento de eventos de exibição de página com pjax

Muitas pessoas se esquecem do google analytics ao usar o pjax.
Na verdade, quando um usuário navega pelas páginas usando pjax, ele não dispara pagevieweventos.
Você pode resolver isso facilmente:

$(document).on 'pjax:success', (e) ->
if (window.ga)
window
.ga('send', 'pageview')

Rastreie as informações do usuário registradas

O Google Analytics tem um ótimo recurso para rastrear as informações do usuário registradas. Em vez de informações demográficas gerais, você pode passar um “userId” para o Google Analytics na instanciação. Por exemplo, eu passo meu current_usernome de usuário do devise:

... your google analytics instantiation here...
ga
('create', 'UA-XXXXX-Y', 'auto');
<% if current_user %>
ga
('set', 'userId', '<%= current_user.username %>');
<% end %>

Rastreie as ações do usuário em links e formulários:

$(document).on 'ready', ->
this.on 'click', 'a[data-analytics-click]', (e)->
if (window.ga)
window
.ga('send', 'event', $(this).attr('data-analytics-click'), 'click', $(this).attr('href'))

this.on 'submit', 'form[data-analytics-submit]', (e)->
if (window.ga)
window
.ga('send', 'event', $(this).attr('data-analytics-submit'), 'submit')

Exemplo de uso com links:

<%= link_to "DOWNLOAD NOW!", my_file_download_link, target: '_blank', data: { analytics_click: 'DownloadFile' } %>

Ou com formulários:

<%= form_for :something, data: { remote: true, analytics_click: 'SubmitForm' } do |f| %>
...

Você tem mais truques do Google Analytics?