Coffescript para rastrear eventos do Analytics

Você deseja acompanhar no Google Analytics quando um usuário faz o download de um arquivo PDF ou ZIP? Basta colocar este script em seu código.

timeout = () -> location.href = baseHref + href

$
->
filetypes
= /.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i
baseHref
= if $('base').attr('href') != undefined then $('base').attr('href') else ''

$
('a').each () ->
href
= $(this).attr('href')
if href && href.match(/^https?:/i) && !href.match(document.domain)
$
(this).bind 'click', () ->
extLink
= href.replace(/^https?:///i, '')
_gaq
.push ['_trackEvent', 'External', 'Click', extLink]
setTimeout timeout
, 200 if $(this).attr('target') != undefined && $(this).attr('target').toLowerCase() != '_blank'

else if href && href.match(/^mailto:/i)
$
(this).bind 'click', () ->
mailLink
= href.replace(/^mailto:/i, '')
_gaq
.push ['_trackEvent', 'Email', 'Click', mailLink]

else if (href && href.match(filetypes))
$
(this).bind 'click', () ->
extension
= if /[.]/.exec(href) then /[^.]+$/.exec(href) else undefined
filePath
= href
_gaq
.push ['_trackEvent', 'Download', 'Click-' + extension, filePath]
setTimeout timeout
, 200 if $(this).attr('target') != undefined && $(this).attr('target').toLowerCase() != '_blank'

Este script automatiza o seguinte:

  • Rastreia downloads de arquivos como eventos para as seguintes extensões: .zip, .exe, .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .mp3
  • Rastreia cliques de saída como eventos se o valor href contiver http: // ou https: // e o valor do domínio não corresponder ao domínio atual.
  • Rastreia cliques de mail para e-mail

Fonte: Blastam