Google Analytics: subdomény a problém s odkazy

Při analýze návštěvnosti několika webů používajících subdomény ke kategorizaci obsahu (např. “notebooky.obchod.cz”) jsem narazil na problém, týkající se špatného či spíše duplicitního započítávání návštěv, kdy je jako zdroj odkazu uvedena vlastní doména. V Google Analytics se mezi zdroji návštěvnosti Odkazy (referrals)  nalézají například domény “obchod.cz” nebo “pocitace.obchod.cz”, což samozřejmě do jisté míry zkresluje statistiky. Vzhledem k tomu, že takto špatně zařazených návštěv nebylo zanedbatelné množství, začal jsem se pídit po řešení.

Odpověď jsem po dlouhých peripetiích nalezl až v článku Google Analytics Subdomain Tracking, na který mě navedli diskutující na internetovém fóru. Problém spočívá pravděpodobně v tom, že vyprší session a kliknutí na další stránku nalézající se na jiné subdoméně se zaznamená jako nová návštěva. Řešení je (tak jak to ostatně bývá) celkem jednoduché. Stačí přidat do sledovacího kódu příkaz, který způsobí, že odkazy z vlastní domény budou ignorovány.

Neupravený kód, který Google Analytics vygenerují, vypadá následovně:


<script type="text/javascript">
var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-123456789-1']);
 _gaq.push(['_setDomainName', 'vasedomena.cz']);
 _gaq.push(['_trackPageview']);
(function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>

Upravený kód, který vyřeší problém se špatně zaznamenanými návštěvami, pak vypadá takto:

<script type="text/javascript">
var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-123456789-1']);
 _gaq.push(['_setDomainName', 'vasedomena.cz']);
 _gaq.push(['_addIgnoredRef', 'vasedomena.cz']);
 _gaq.push(['_trackPageview']);
(function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>

Způsoby zápisu domén – s tečkou nebo bez tečky?

Bohužel, celá věc se trochu komplikuje o drobnost, nad kterou by někoho ani nenapadlo uvažovat. Jedná se o tečku před názvem domény, která se používala v dřívějších verzích kódu či bývá uváděna v příkladech úprav sledovacích kódů v nápovědě ke Google Analytics. Tedy například místo ‘vasedomena.cz’ se v kódu objevuje ‘.vasedomena.cz’.

Faktorem ovlivňujícím způsob zápisu domény je počet úrovní subdomén. Ve většině případů se používá jen jedna úroveň, tedy např. “prvniuroven.vasedomena.cz”. Avšak teoreticky je možné, aby existoval web se strukturou “druhauroven.prvniuroven.vasedomena.cz”. V prvním případě (jen jedna úroveň subdomén) se doporučuje používat verzi zápisu domény bez tečky. V druhém případě je nutné používat verzi zápisu domény s tečkou.

Existuje však výjimka. Může se stát, že již na svém webu používáte GA kód, který obsahuje zápis domény s tečkou. V tom případě způsobíte méně škod, pokud budete nadále používat tento způsob zápisu. V případě, že byste způsob zápisy změnili a začali používat verzi zápisu bez tečky, došlo by nejspíše k nezanedbatelnému zkreslování statistik.

Bližší informace k problematice sledovacích kódů a používání subdomén v rámci jednoho webu naleznete ve výše zmíněném článku, kde jsou kromě návodu, jak vše nastavit, uvedeny také vysvětlující komentáře pro lepší pochopení fungování trackování pomocí Google Analytics.

5 Comments

  1. AdelaAdela24. 06. 2015

    Hezký článek, zajímala by mě ale jedna věc – když píšete, že “odkazy z vlastní domény budou ignorovány”, bude se pokračování návštěvy zaznamenávat do metrik jako délka na stránce, počet str./návštěva atd.?

    • Vladan KošutVladan Košut24. 06. 2015

      Adélo, děkuji za dobrý dotaz. Abych se přiznal, tak nevím naprosto jistě. Ale předpokládám, že takový uživatel není ve vzduchoprázdnu a ostatní metriky se dále zaznamenávají. Pouze nedojde ke vzniku nové návštěvy. Od dob článku se však situace změnila. V současné verzi Universal Analytics a nejaktuálnější verzi měřicího kódu již není potřeba upravovat kód ručně, ale přímo v administraci lze přidat domény, které jsou z odkazované návštěvnosti vyloučeny (Údaje o měření / Seznam vyloučených odkazujících stránek). A výchozí doména webu zde již je automaticky přednastavena. Je zde uvedeno toto: “Uživatelé přicházející na váš web z jakékoli z těchto domén nebudou v přehledech počítáni jako odkazovaná návštěvnost.” Dá se tedy očekávat, že to budou mít vychytáno 🙂

      • AdelaAdela29. 06. 2015

        Super, děkuju 🙂 Vím, že je to v dnešní Universalech už jinak, ale stejně jsem nikde nenašla článek, který by mi tohle potvrzoval, takže děkuji za názor 🙂
        Čistě náhodou – pokud mám hodně subdomén, které všechny obsahují jeden stejný řetězec, nedá se to také nějak vyloučit hromadně? Koukám, že tam lze vždycky přidat jednu doménu, ale to by mi sebralo asi půl života :-))

        Fakt moc děkuju 🙂

        • Vladan KošutVladan Košut29. 06. 2015

          Mám za to, že stačí mít přidánu doménu druhého řádu (vasedomena.cz) a tím pořešíte veškeré subdomény vyšších řádů. Alespoň nám to tak u jednoho webu, kde používáme subdomény, funguje. Rádo se stalo 😉

  2. AdelaAdela30. 06. 2015

    Super, vyzkoušíme 🙂