2010-08-17 8 views
33

Un po 'confuso ... Sto cercando di rintracciare i collegamenti mailto che sono stati cliccati, ma viene mostrato costantemente' pageTracker non è definito '. Ho il seguente codice appena prima che il mio tag body end()Pagina di Google Analytics Il tag non è definito?

<script type="text/javascript"> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-000000']); // This is my account number, I have added the zeros in this editor 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 
</script> 

Poi Sto usando questo nel mio link mailto

<a href="mailto:[email protected]" onClick="javascript:pageTracker._trackPageview('/mailto/hello');">[email protected]</a> 

non riesco a capire perché non il suo lavoro? Qualsiasi aiuto sarebbe gradito

risposta

75

Il nuovo codice Async di Google Analytics (che stai utilizzando) funziona in modo leggermente diverso rispetto al non Async. Ogni volta che si desidera chiamare un metodo su Tracker, basta premere un "messaggio" sulla coda "_gaq".

<a href="mailto:[email protected]" onClick="_gaq.push(['_trackPageview', '/mailto/hello'])">[email protected]</a> 

Anche se, il monitoraggio di un collegamento mailto può funzionare meglio come un evento:

<a href="mailto:[email protected]" onClick="_gaq.push(['_trackEvent', 'mailto', 'home'])">[email protected]</a> 

Per maggiori informazioni un'occhiata al Async Tracking Users Guide.

+6

impressionanti grazie :) Amiamo questo posto, alcuni minuti e la risposta - Pubblicato ore fa sul forum di Google e non una risposta! – leen3o

+1

Penso che OP sia inciampato nella stessa cosa che ho fatto io. a: http://www.google.com/support/analytics/bin/answer.py?hl=it&answer=55529 <- questa risposta di google sta fuorviando IMO e rende il tuo codice plotz come descritto sopra. –

+0

@joshperry: +1. Grazie per il frammento! –

3

Ecco il codice:

onClick="_gaq.push(['_trackEvent', 'pdf', 'download', '/pdf/myPdf'])">myPdf</a> 
19

Possiamo anche aggiungere:

//mantain syntax between old and new asynch methods 
//http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html#Syntax 
function _pageTracker (type) { 
    this.type = type; 
    this._trackEvent = function(a,b,c) { 
     _gaq.push(['_trackEvent', a, b, c]); 
    }; 
} 

var pageTracker = new _pageTracker(); 

nel nuovo codice di mantenere il vecchio codice nelle pagine.

1

avevo bisogno di un modo per virare il download di file PDF troppo e heres quello che ho usato:

<a href="http://www.domain.com/assets/downloads/filename.pdf" target="_blank" onClick="_gaq.push(['_trackEvent', 'Downloads', 'Download', 'Price Brochure PDF'])">Download Brochure</a> 

Per maggiori informazioni sulla _trackEvent, ecco le API Doc page

Problemi correlati