Weblog
Google Analytics biedt standaard de mogelijkheid om meerdere domeinnamen te meten onder 1 profiel door gebruik te maken van een uitgebreidere trackingcode. Naast deze code moeten wel alle links en formulieren welke naar de andere domeinnaam wijzen (en vice versa) aangepast worden. Gelukkig is het nu mogelijk om dit automatisch te doen door middel van jQuery.
Je kunt jQuery downloaden vanaf de officiële jQuery website of gebruik maken van een Content Delivery Network (CDN) waarbij het jQuery script voor je gehost wordt door bijvoorbeeld Google of Microsoft.
jQuery voeg je als volgt in de <head> van je pagina toe:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Klik binnen Google Analytics rechtsboven op het tandwiel naast je profiel. Hiermee kom je in de pagina met je profiel instellingen. Klik vervolgens op het tabblad “Trackingcode” en selecteer onder “1. Wat houdt u bij?” de optie “Meerdere hoofddomeinen”. Je ziet dat hierdoor de trackingcode wordt uitgebreid met:
_gaq.push(['_setDomainName', 'example.nl']);
_gaq.push(['_setAllowLinker', true]);
Hierdoor is het mogelijk om de _link en _linkByPost functie aan te roepen in de Google Analytics trackingcode waarmee de inhoud van de cookies doorgestuurd kan worden naar het andere domein.
Om de inhoud van de cookies door te sturen naar het andere domein moeten alle links en formulieren welke naar het andere domein wijzen aangepast worden waarbij door een onClick of onSubmit event de Google Analytics _link en _linkByPost functies aangeroepen worden.
Bij een complexe site is het vaak niet mogelijk om dit handmatig te doen en is er een grote kans dat links incorrect of in zijn geheel niet aangepast worden. Het is daarom makkelijker om dit automatisch te laten uitvoeren door middel van jQuery. Het onderstaande jQuery script zoekt alle a en form elementen binnen de pagina en wanneer deze naar het opgegeven domein linken of posten dan wordt er een onClick of onSubmit event aan toegevoegd waarmee de _link en _linkByPost functies gekoppeld worden. Hierdoor wordt bij het klikken op de link of het versturen van het formulier de inhoud van de huidige Google Analytics cookies meegestuurd als URL-parameters.
De volgende jQuery code moet in de head van html code geplaatst worden na de jQuery include en de Google Analytics trackingcode.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript"> //<![CDATA[ var _gaq = _gaq || []; _gaq.push(['_setAccount','UA-XXXXX-X']); _gaq.push(['_trackPageview'],['_trackPageLoadTime']); _gaq.push(['_setDomainName', 'example.nl']); _gaq.push(['_setAllowLinker', true]); (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>
<script type="text/javascript"> //<![CDATA[ $(document).ready(function() { // Add onClick _link to all <a> elements on page where href contains example.com $("a[href*='example.com']").click(function() { _gaq.push(['_link', this.href]); return false; }); // Add onSubmit _linkByPost to all <form> elements on page where action contains example.com $("form[action*='example.com']").attr("onSubmit","_gaq.push(['_linkByPost', this])"); }); //]]> </script>
Je kunt controleren of deze oplossing goed werkt door op een link naar je andere domein te klikken of een formulier wat naar het andere domein post te versturen. Als het goed is zie je hier nu een aantal query parameters achterstaan welke beginnen met _umta.
Ik ben erg benieuwd naar jullie ervaringen met bovenstaand script. Loop je ergens op vast laat het me dan zeker even weten, dan kijk ik met je mee.
"Tot €395 korting op de Google Analytics User Conference op 21 en 22 maart met Verstrepen Web Analytics. Code 5VERSTRE12 http://t.co/KTr55nIO"