Sledujte chybové stránky v Google Analytics

Uživatel by se na webu neměl dostat nikdy nikam, kam se dostat neměl. Ale dostane se tam, a odpovědí mu je stránka, které se mezi zasvěcenými říká „404“. Jak často se to stává? Proč se tam lidé dostávají? Co tam dělají, odkud přicházejí a kam odcházejí? Nemusíte se jen dohadovat, zkuste to reálně zjistit.
Nálepky:
Sledování přístupů na neexistující stránky by mělo patřit k rutinním činnostem každého správce webu. Proč je monitoring chybových 404 stránek důležitý?
- Obsah – smazali jste omylem či hloupým záměrem důležitou část webu.
- Interní navigace – do interní navigace se vám dostaly chybné odkazy.
- Přesun webu – přesunuli jste web na jiný systém či doménu bez přesměrování starých adres na nové.
- Chyba systému – váš systém se pokazí a začne místo smysluplného obsahu vydávat chybové stránky.
- Reklamní kampaně – rozjeli jste reklamní kampaň s chybou v odkazu a vyhazujete tak peníze oknem.
- Zpětné odkazy – jiný web odkazuje na vaši neexistující či zrušenou URL.
Pokud všechny tyto věci obratem neřešíte, odháníte či přinejmenším frustrujete podstatnou část návštěvníků. Navíc zpravidla přicházíte o příchozí rank, o pozice ve vyhledávačích a tím opět o další relevantní návštěvníky.
Vyhněte se špatným řešením
Zobrazení chybových 404 stránek lze samozřejmě grepovat přímo z logů. Což ale pro normální část lidstva není použitelná cesta, navíc se tím připravujete o řadu kontextových informací. Využití uživatelsky příjemných Google Analytics se zde tak přímo nabízí.
Na internetu ovšem narazíte na řadu špatných řešení, jak chybové stránky v Google Analytics sledovat. Dokonce ani oficiální postup od Googlu není příliš čistý, protože nesmyslně kontaminuje všechny reporty založené na zobrazovaném obsahu.
Jak to udělat dobře
Řešení, které ukazuji na svém školení Google Analytics, staví na sledování událostí (event tracking). Jednoduše do zdrojáku chybové 404 stránky vložte na konec běžného měřicího kódu Google Analytics navíc následující řádku:
_gaq.push(['_trackEvent', 'Error', '404', location.href, 0, true]);
Celý měřicí kód uvnitř chybové 404 stránky pak vypadá například takto:
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-123456-1']); _gaq.push(['_trackPageview']); _gaq.push(['_trackEvent', 'Error', '404', location.href, 0, 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>
Příkaz odešle do Google Analytics událost označenou jako Error - 404
, společně s tím se do reportů uloží i URL, na které k chybě došlo. Poslední parametr true
navíc vynutí takzvaný non-interaction event, který nenarušuje bounce-rate reporty.
Výstup v rozhraní
Výsledek najdete v rozhraní Google Analytics v reportu Obsah -> Události -> Nejčastější události -> Error -> 404
. Vypíše se vám seznam všech neexistujících URL, na která k vám uživatelé přišli:
Daný report můžete samozřejmě dál různě zpracovávat, segmentovat apod.
Alternativní řešení
Analogicky můžete snadno sledovat i další časté chyby, jako jsou 500 Internal error, 401 Unauthorized, 403 Forbidden. Stačí v každé chybové stránce jenom změnit příslušné číslo:
_gaq.push(['_trackEvent', 'Error', '500', location.href, 0, true]);
Často může být užitečné sledovat i zdroj, odkud návštěvníci na chybnou adresu přicházejí. Zápis bude jenom trochu zhuštěnější, protože se musíte vejít do stanoveného počtu parametrů:
_gaq.push(['_trackEvent', 'Error404', location.href, document.referrer, 0, true]);
Akademicky vzato by ještě o něco čistějším řešením místo event trackingu mohlo být využití vlastních proměnných (custom variables). Ty mají ale v dnešní době stále některá omezení, například se na ně nedají přímočaře věšet vlastní upozornění.
Nastavte si vlastní upozornění
Vlastní upozornění (custom alerts) můžete chápat jako hlídacího psa. Když se ve vašich statistikách něco pokazí, pošlou vám Google Analytics e-mail.
V kontextu tohoto článku je proto dobrý nápad zapnout si nakonec vlastní upozornění, které vám pošle mail pokaždé, když počet zobrazených chybových stránek překročí určitý limit nebo naroste o určité procento:
Získejte více tipů
Chcete se dozvědět řadu dalších triků, pro co vše je možné využít Google Analytics? Přijďte na školení Google Analytics vedené autorem tohoto článku.
Interní navigace – do interní navigace se vím dostaly chybné odkazy.
„VÍM“ —> „VÁM“
Opraveno, díky
Pěkné. Kdybych býval u GA vydržel, tak by se mi to hodilo.
Ještě je fajn sledovat logy, čistě pro informaci a kvůli lidem s vypnutým javascriptem. Každý „problém“ je lepší podchytit z více stran. Na webu člověk nikdy neví na jakého pitomce narazí :)
Nepríde mi úplne správne nechávať v trackovacom kóde _gaq.push([‚_trackPageview‘]); . Vzhľadom k tomu, že tá stránka neexistuje, logicky sa nemohla ani zobraziť.
Váš pohled na věc je zcela legitimní, na tohle asi není objektivní odpověď a záleží na tom, jak si to kdo pojme, já třeba zobrazení 404 stránek do pageviews započítávám.
osobně používám:
…
[‚_setCustomVar‘, 3, ‚StatusCode‘, ‚200‘, 3],
…
kde na miste 200 je aktualni http kod odezvy.
tím mám k dispozici i jiné chyby než jen 404.
Tohle ale vyžaduje podporu už při generování stránky
Otázka je, jestli je nutné si ukládat HTTP kód do vlastních proměnných pro úplně každou pageview, když 99 procent odpovědí dotazů bude 200 OK nebo 304 Not Modified. Ale asi to není nic proti ničemu.
Problém s vlastními proměnnými v kontextu chybových stránek je dneska ale zejména v tom, že se na ně nedají přímočaře navěsit vlastní upozornění. Musí se to pak dělat kostrbatě přes nějaké šílené konstrukce s rozšířenými segmenty.
Takže pro mě je lepší ukládat si chybové stránky jako události a věšet na ně vlastní upozornění přímo.
Kód:
_gaq.push([‚_trackEvent‘, ‚Error‘, ‚404‘, location.href, “, true]);
mi nefunguje, žádné stránky se netrackují. Zkusil jsem tedy nahradit tím dalším:
_gaq.push([‚_trackEvent‘, ‚Error404‘, location.href, document.referrer, “, true]);
a uvidím, jestli se to změní.
Zatím mi spolehlivě funguje trackování pomocí title stránky:
Content > Overview > a odkaz Page Title.
http://oi42.tinypic.com/2u42beu.jpg
Výhody sledování pomocí Page title:
1) bez zasahování do GA kódu
2) retroaktivita (_gaq.push funguje až po vložení do kódu, page title najdu i zpětně)
V čem je page title méně výhodný než trackování eventem? Určitě tam bude nějaká nevýhoda, ne?
ono je to totizto cele zle. _gaq.push ma bud 4 alebo 5 atributov
via: http://code.google.com/intl/sk-SK/apis/analytics/docs/tracking/eventTrackerGuide.html
Pěkný den oběma, v původní verzi článku byla chyba, kdy v předposledním parametru byl prázdný řetězec “, zatímco správně tam má být nula. V aktuálním článku už je to opraveno a kódy, jak jsou uvedeny výše, už fungují bez problémů. Za tohle se omlouvám.
Jinak _gaq.push má ve skutečnosti jen jeden parametr :). Vkládá se do něj pole (proto ty hranaté závorky), které může mít obecně nekonečně mnoho prvků. První prvek je název příkazu, další prvky jsou pak jeho argumenty. Příkaz _trackEvent, i podle odkazu, co jste poslal výše, může mít od dvou do pěti parametrů. Včetně samotného příkazu se tedy u _trackEvent do pole vkládaného do _gaq.push může vložit tři až šest prvků.
Co se týká sledování podle page title, tam je první problém v tom, že titles nemusí být vždy jednoznačné a unikátní – pokud ale jejich jednoznačnost máte zajištěnu, je to regulérní možnost. Přicházíte ale o rozšířené možnosti, jako rozlišení dalších druhů chyb nebo sledování referreru.