ga-apps-gallery.png

Google Analytics tracking på subdomæner eller blogs

Vi satte en blog op for en kunde den anden dag, som blev lagt på et “subdomæne” – altså blog.domæne.dk. Det der er vigtigt når det sættes op, er at du har fuld styr på hvordan din Google Analytics tracker dine besøgende.

Specifikt så ville vi på analytics have vores WordPress blog (der ligger på blog.domæne.dk) til at optræde som en naturlig del af hoved hjemmesiden (www.domæne.dk), men vi ønskede stadig at være i stand til helt at kunne filtrere bloggen fra vores hovedhjemmeside, sådan at vi kunne se trafikken til og fra bloggen adskilt.

Det er lidt forvirrende at læse så lad mig give et eksempel.

En besøgende kommer ind på hovedsiden(www.domæne.dk) via et vilkårligt link, dette vises i analytics som et besøg til “/” aka. “root”. Fra hovedsiden er der et link (i navigationsmenuen) over til vores blog (blog.domæne.dk), dette link klikker den besøgende på og dette mærkes i analytics også som et besøg til root, hvilket teknisk set er korrekt da det er root på et subdomæne.

Disse to resultater kan vi som brugere af analytics ikke skælne imellem uden en smule modifikation.

Bland ikke subdomain og crossdomain sammen

Det er ikke et ukendt problem og der findes også en del løsningsforslag, man skal dog passe på at man ikke blander subdomain med crossdomain konfigurering, da crossdomain Analytics konfigurationen ikke vil hjælpe noget som helst i denne sammenhæng, og Googles egen subdomæne løsning løser heller ikke vores specifikke problem her.

Starten på løsningen er godt nok at følge Googles løsning, man skal ændre sin tracking kode fra:

 

<script type=”text/javascript”>

var _gaq = _gaq || [];

_gaq.push([‘_setAccount’, ‘UA-12345678-1’]);

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

 

til:

 

<script type=”text/javascript”>

var _gaq = _gaq || [];

_gaq.push([‘_setAccount’, ‘UA-12345678-1’]);

_gaq.push([‘_setDomainName’, ‘domæne.dk’]);

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

 

Dette er Googles egen ændring i forhold til subdomæne analytics. Jeg kan ikke se det gør nogen forskel i slutresultatet, da vi stadig befinder os på det samme domæne, men jeg vælger at tro på at Google har sine egne grunde til den.

Med denne løsning implementeret er vi i den tilstand jeg beskrev i starten, altså ingen forskel på www.domæne.dk og blog.domæne.dk.

Nu kommer mine krumspring:

 

erstat linjen:

 

_gaq.push([‘_trackPageview’]);

 

med:

 

var loc =document.location.href;

_gaq.push([‘_trackPageview’, ‘blog’ + loc.substring(loc.lastIndexOf(“/”), loc.length)]);

 

nu vil Google analytics i stedet for at skrive “/” når der klikkes på din blog, skrive “blog/” og det kan man let filtrere fra i sine analytics resultater.

Hvis man ønsker der skal stå noget andet end “blog/” så kan man bare ændre ‘blog’ delen i mit løsnings forslag til den ønskede formulering, husk dog at overholde konventionen for URLer, bare for god ordens skyld.

Med denne løsning ser analytics resultaterne mere ordentlige ud, dog vil der stadig være et “problem” i at skift mellem hoved domæne og sub domæner vil fortolkes af analytics som henvisninger i stedet for direkte trafik, dette problem har jeg ikke fundet en løsning på endnu, men jeg skriver det her hvis jeg finder en.

Brian Brandt

Brian Brandt er nørden med den brede viden indenfor online markedsføring og ehandel. Kontakt ham allerede i dag og få lagt din online marketing strategi eller startet / optimeret din webshop. Mail: brian@clickstarter.dk Mobi: +45 27 11 28 48

7 comments

Nicolaj Kirkgaard Nielsen - 07/05/2012 Reply

Hej Michael.

_setDomainName bruger Google Analytics til at definere hvilke domæner, der må få adgang til tracking cookie’en. Hvis du udelader den, vil et besøg, der går på tværs af begge domæner tælle som to separate besøg.

Med den rigtige opsætning, trackes trafik imellem de to domæner som samme besøg og vil altså ikke have det referral problem du nævner. Prøv at ændre din kode fra

_gaq.push([‘_setDomainName’, ‘domæne.dk’]);

til

_gaq.push([‘_setDomainName’, ‘.domæne.dk’]);

Det burde løse problemet

Dit krumspring kunne du også have klaret med et avanceret filter på profilen, hvor du kombinerer “hostname” med “request URI”. Fordelen ved denne metode er, at du uden ekstra kode kan lave separate profiler til bloggen, websitet og kombinationen af de to.

Jacob Kildebogaard - 07/05/2012 Reply

Cool med forslag til workarounds.

Ift. problemstillingen med at trafikkilden bliver forkert, så er det netop linien

_gaq.push([‘_setDomainName’, ‘domæne.dk’]);

der sørger for at der ikke er problemer med ekstra besøg, forkert trafikkilde mv, når en bruger går mellem hoveddomæne og subdomæne. Så blot hav den linie med, så er den ged barberet 🙂

Michael HP - 08/05/2012 Reply

Hej

@Nicolaj:
Jeg havde ikke overvejet det avancerede filter i Google Analytics, klart også et godt alternativ.
Og tak for pointeren omkring punktumet i setDomainName. Det undrer mig Google ikke nævner det i sammenhæng med subDomain tracking koden på Analytics hjemmesiden, for jeg har fundet det i deres dokumentation og der står det samme som du siger, at tracking koden ikke får adgang med mindre punktumet er med. Tak for tippet, jeg sætter det op og ser om ikke det løser problemet.

@Jacob:
Jeg er ikke helt sikker på hvad du mener, men som sådan er det ikke trafikkilden der er forkert, nærmere trafiktypen. Det jeg ville opnå er at links mellem subdomæner ikke trackes som nye besøgende eller henvisninger, kun som sidevisninger.

Casper Remmer - 07/06/2012 Reply

Udover _gaq.push([‘_setDomainName’, ‘domæne.dk’]); bruger jeg også _gaq.push([‘_addIgnoredRef’, ‘domæne.dk’]); på mit site. Er det dobbeltkonfekt??

Michael HP - 12/06/2012 Reply

Der må jeg være dig svar skyldig.
Jeg har ikke selv anvendt _addignoredref før, men hvis du tilføjger et punktum før “domæne.dk” så ser det for mig ud som om det er dobbeltkonfekt.
Med det sagt så tror jeg ikke det vil skade dig at have begge metoder med i din Google Analytics implementation.

Jesper Feldthaus - 17/07/2012 Reply

Hej

Min opfattelse (mangler stadig lidt praktisk erfaring) er at forskellen på _setDomainName med og uden punktum er måden analytics skriver cookies på.

Uden punktum skrives cookies på samme måde som et single-domæne site. Med punktum ændres dette og man kan derfor miste cookie informationer fra tidligere brugere.
Punktum er desuden primært anvendeligt hvis dit subdomæne også har subdomæner (jespers.blog.domæne.dk f.eks.)

Michael Kjeldsen - 05/02/2013 Reply

Hej Jesper,

kan du uddybe dette lidt? Det lyder meget interessant!

Add your comment

Related Posts