Spåra klick på externa länkar med Google Analytics
Jag har tidigare skrivit om hur man kan spåra klick med Google Analytics, men den koden byggde på att man manuellt lade till en onClick
-funktion på varje klick man vill spåra.
Den här koden däremot har jag skrivit specifikt för att spåra klick på utgående länkar, mest för att jag är nyfiken på om folk faktiskt klickar på alla de länkarna jag postar i mina blogginlägg. Att använda mig av onClick
här var inget alternativ, då jag skriver mina blogginlägg med markdown, och det vore väldigt onödigt att skriva ut alla a-taggar manuellt. Plus att det är inte direkt vackert.
Koden är skriven i "ren" Javascript, då jag fortfarande försöker att inte dra in några Javascript-bibliotek i onödan på den här webbsidan.
Koden i sig är så enkel som den går att bli:
1function trackClick(event) {23 if(location.href.replace("http://").replace("https://").split("/")[0] !== this.href.replace("http://").replace("https://").split("/")[0]) {4 _gat._getTrackerByName()._trackEvent('Outbound links', this.href);5 }67}89window.onload = function() {1011 var links = document.getElementsByTagName('a');1213 for (var i = 0; i < links.length; i++) {14 links[i].addEventListener('click', trackClick, false);15 };1617}
1function trackClick(event) {23 if(location.href.replace("http://").replace("https://").split("/")[0] !== this.href.replace("http://").replace("https://").split("/")[0]) {4 _gat._getTrackerByName()._trackEvent('Outbound links', this.href);5 }67}89window.onload = function() {1011 var links = document.getElementsByTagName('a');1213 for (var i = 0; i < links.length; i++) {14 links[i].addEventListener('click', trackClick, false);15 };1617}
Notera att addEventListener
inte fungerar för Internet Explorer 8 och lägre, utan man får använda sig av attachEvent('onclick', trackClick)
istället – men då får man också problemet med att this
refererar till window-objektet, och inte det elementet som användaren klickar på (a-taggen). I besöksstatistiken så ser jag dock Internet Explorer 8 står för mindre än 1,5% av besökarna – så jag förbiser dem för stunden (dåligt av mig, jag vet).
Statistiken finner du sedan i Google Analytics under Content -> Events.
Ser du något som inte stämmer, eller som kan göras bättre? Hojta till på Twitter!