2010-08-17 10 views
33

Petit peu confus ... J'essaie de suivre les liens mailto cliqué, mais constamment 'pageTracker n'est pas défini' est affiché. J'ai le code suivant juste avant mon étiquette de corps d'extrémité()Page Google AnalyticsTracker n'est pas défini?

<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> 

Je me sers dans mon mailto liens

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

Je ne vois pas pourquoi sa ne fonctionne pas? Toute aide serait appréciée

Répondre

75

Le nouveau code Async Google Analytics (que vous utilisez) fonctionne un peu différemment du code Async. Chaque fois que vous voulez appeler une méthode sur pageTracker, vous devez simplement insérer un "message" dans la file d'attente "_gaq".

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

Bien, le suivi d'un lien mailto peut mieux fonctionner comme un événement:

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

Pour plus d'informations un coup d'oeil à la Async Tracking Users Guide.

+6

:) merci Impressionnant adore cet endroit, quelques minutes et la réponse - Publié heures sur le forum de Google et pas une réponse! – leen3o

+1

Je pense que OP s'est fait trébucher sur la même chose que moi. à savoir: http://www.google.com/support/analytics/bin/answer.py?hl=fr&answer=55529 <- cette réponse de google induit en erreur l'OMI et rend votre codez comme décrit ci-dessus. –

+0

@joshperry: +1. Merci pour l'extrait! –

3

Voici le code:

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

Nous pouvons ajouter:

//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(); 

dans le nouveau code pour mantenir ancien code dans les pages.

1

je besoin d'un moyen de virer de bord télécharger des fichiers PDF trop et voici ce que je:

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

Pour plus d'informations sur _trackEvent, Heres les API Doc page