jquery Populate _link () pour Google Analytics Syntaxe asynchrone (interdomaine)

Pour revenir sur ce qui a été discuté ici , je cherche à mettre à jour un plug-in existant pour m’aider à passer à la “syntaxe asynchrone” de Google Analytic afin que les événements onclick puissent être appliqués à nos liens sortants pour le suivi entre domaines, comme indiqué ici :

click me 

Ceci est mon implémentation actuelle pour suivre les liens sortants avec jquery, j’espérais pouvoir être modifié pour prendre en charge la “syntaxe asynchrone” de Google Analytic.

 $(document).ready(function(){ $('a:not(.popupwindow)').filter(function() { var theHref = this; if (theHref.hostname && theHref.hostname !== location.hostname) { $(theHref).not(".noAutoIcon").addClass("offSite"); $(theHref).not(".noAutoLink").attr('target','_blank').bind('click keypress', function(event) { var code=event.charCode || event.keyCode; if (!code || (code && code == 13)) { if(pageTracker){ var fixedLink = this.href; fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1"); fixedLink = '/outgoing/' + fixedLink; pageTracker._trackPageview(fixedLink); }; }; }); }; }); }); 

Lorsqu’un utilisateur doit cliquer sur example.com sur mysite.com , avec les deux sites sur moi, les informations sur les cookies sont transmises par _link et le tout est considéré comme une visite.

Voici notre code actuel Google Analytics:

  try { var pageTracker = _gat._getTracker("UA-111222333-1"); pageTracker._setDomainName(".example.com"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false); pageTracker._trackPageview(); } catch(err) {} 

Ceci est mon nouveau code Google Analytics “Analytics Asynchronous”

 var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-111222333-1']); _gaq.push(['_setXDomain', { domainName: '.example.com', include: /(firstsite.com|secondsite.com)/ }]); _gaq.push(['_trackOutbound']); _gaq.push(['_trackDownload']); _gaq.push(['_trackMailTo']); _gaq.push(['_trackError']); _gaq.push(['_formAnalysis',{minFields: 3}]); _gaq.push(['_setDayOfWeek']); _gaq.push(['_trackPageview']); 

Mon site fonctionne sous un CMS et l’ajout manuel d’événements onclick aux liens n’est pas possible. Je dois donc le faire avec jquery. C’est pourquoi j’espérais tirer parti de notre suivi des liens sortants jquery existant et le modifier simplement.

Je ne vois pas l’ancien appel _link mais je suppose que c’est juste après le _trackPageview . La migration est assez simple.

 $(document).ready(function(){ $('a:not(.popupwindow)').filter(function() { var theHref = this; if (theHref.hostname && theHref.hostname !== location.hostname) { $(theHref).not(".noAutoIcon").addClass("offSite"); $(theHref).not(".noAutoLink").attr('target','_blank').bind('click keypress', function(event) { var code=event.charCode || event.keyCode; if (!code || (code && code == 13)) { var fixedLink = this.href; fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1"); fixedLink = '/outgoing/' + fixedLink; _gaq.push(['_trackPageview', fixedLink]); _gaq.push(['_link', this.href]); }; }); }; }); });