GA Asynchronous tracking – tilpasset skript
Google lanserte for en tid tilbake et nytt Asynkront sporingsskript til Google Analytics. Dette scriptet er nå blitt den nye standarden.
Det nye scriptet har følgende fordeler:
- Scriptet laster raskere enn det gamle scriptet grunnet at det kan lastes parallelt med resten av scriptene på siden (laster ca 17% raskere enn det gamle scriptet).
- Bedre datasamling og nøyaktighet.
- Færre side- og sporingsfeil grunnet eliminering av gamle problemer med lastingen av JavaScript.
Enkelt forklart er scriptet delt inn i 2 deler:
- Del 1 lagrer all nødvendig sporingsinformasjon.
- Del 2 lager logikken som gjør at det er mulig for de fleste nettlesere å laste Analytics scriptet parallelt med andre script på siden, som igjen reduserer nedlastningshastigheten på nettsiden.
Hvor plasseres det nye scriptet?
I motsetning til det gamle scriptet som skulle ligge et sted mellom <body> </body>, burde det nye plasseres nederst i <head> delen av kildekoden, altså rett før lukketaggen </head>. Denne plasseringen øker sannsynligheten for at informasjon vil bli sendt til Google Analytics før brukeren forlater siden.
For et års tid siden skrev Petter et innlegg om Google Analytics – tilpasset script. Denne tilpasningen gjorde det mulig å spore Norges største søkemotorer og kataloger som spesifikke søkemotorer i Google Analytics. Vi har nå gjort den samme tilpasningen for det nye scriptet.
Fordelen med å bruke Metronets tilpassede script er at vi oppdaterer og gjør endringer i listen over norske søkemotorer fortløpende, så enten det er forandringer i gamle aktører eller nye aktører på markedet, vil du som bruker alltid ha den siste oppdateringen.
Vil du bruke denne tilpasningen, kopierer du scriptet under og legger det nederst i <head> delen (som sagt tidligere, rett før </head> taggen). Deretter bytter du ut 'UA-XXXXXX-X' med din egen Google Analytics ID.
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
</script>
<script src="http://www.metronet.no/script/asynchronous/metronet-ga-f-s-mod.js" type="text/javascript"></script>
<script type="text/javascript">
_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>
Trenger du hjelp eller rådgivning angående migrering til det nye scriptet er det bare å kontakte oss
Kan dere gi et eksempel på hvor i GA scriptet må plasseres hvis man bruker et script som er tilpasset i forhold til cross-domain-tracking:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-123456-1']);
_gaq.push(['_setDomainName', '.eksempel.no']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
_gaq.push(['_trackPageview']);
Hei Christian. Det nye GA scriptet burde alltid plasseres rett før </head> taggen Så scriptet ditt vil bli seende slik ut med vårt tilpasset script:
<head>
.....
.....
.....
.....
.....
.....
.....
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-123456-1']);
_gaq.push(['_setDomainName', '.eksempel.no']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
</script>
<script src="http://www.metronet.no/script/asynchronous/metronet-ga-f-s-mod.js" type="text/javascript"></script>
<script type="text/javascript">
_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>
</head>
Hei igjen, Mattis
Er du sikker at kodelinjen
_gaq.push(['_trackPageview']);
må stå 2 ganger? Takk for hjelpen.
Hei Christian.
Bra observert. Det gikk litt for fort i svingen
_gaq.push(['_trackPageview']); skal bare stå 1 gang.
Jeg har forandret scriptet over så det skal stemme nå.
Si ifra hvis du får noen problemer.