Dosud jsem se zabýval získáváním dat o návštěvnosti internetové
prezentace pomocí log souboru. Druhým nejčastějším způsobem je
získávání dat pomocí aktivního obsahu (Javascriptu) využívaný
i velmi rozšířenou službou Google Analytics.
V porovnání s log soubory je měření návštěvnosti pomocí
kousku Javascriptového kódu ukrytého na každé stránce poměrně novou
záležitostí. I proto je asi hodně nejednoznačností
v označování této metody – používá se pojem měřící tečka,
javascriptové měření, měření pomocí aktivního obsahu,
v anglických zdrojích nejčastěji Javascript Page Tags.
Stejně jako log soubory má svoje výhody i nevýhody (to je zřejmě
i důvod, proč nejlepší poskytovatelé nástrojů pro analýzu
návštěvnosti poskytují hybridní řešení beroucí si to nejlepší
z obou světů). Ve světě log souborů je základním zdrojem dat
komunikace serveru a klienta pomocí http protokolu. Podobnou roli hraje
DOM(Document Object Model – objektový model prohlížeče)
v případě javascriptového řešení. Javascript díky rozhraní DOM
přistupuje k různým objektům a vlastnostem www stránky
i internetového prohlížeče. Všechny zjištěné hodnoty předává
potom většinou v URL v rámci volání neviditelného
(průhledného) GIFu o rozměrech 1×1 pixel.
Objektový model prohlížeče (DOM)
Jaká data lze prostřednictvím měřící tečky zjišťovat? Podobně jako
zápis log souboru získává informace z položek zjistitelných pomocí
protokolu HTTP, javascript získává údaje prostřednictvím objektů, které
jsou zpřístupněny tzv. objektovým modelem dokumentu (DOM). DOM je
API(aplikační programovací rozhraní – Application Program Interface)
pro prezentování dokumentu (HTML nebo XML) a přístup a manipulaci
s různými prvky, které daný dokument tvoří (např. značkami HTML
nebo řetězci textu).
Z pohledu DOMu je dokument představován stromovou strukturou. Standard
DOM definuje vlastnosti a metody pro procházení tímto stromem a zkoumání a
úpravy jeho uzlů. Pomocí JavaScriptu můžeme zjišťovat hodnoty různých
vlastností těchto uzlů a sledovat podrobnosti o probíhající
návštěvě Kořenovým elementem je window, který zprostředkovává
přístup ke všem ostatním elementům dokumentu.
Pomocí rozhraní DOM mohou analytické aplikace získávat podobné
informace o návštěvnosti jako pomocí log souboru a ještě některé
další informací navíc , které informují o vlastnostech počítače
návštěvníka, například
- verze systému a prohlížeče,
- rozlišení monitoru,
- podporu Flashe či Javy,
- akceptaci cookies,
- typ připojení.
Pro zájemce o bližší informace o DOMu doporučuji:
Princip získávání dat pomocí aktivního obsahu
Již víme, jaká data můžeme pomocí aktivního obsahu získat. Zbývá
nám tedy objasnit samotný princip měření – asi nejlépe
obrázkem.
Klient odešle požadavek na HTML stránku (1). Webový server mu jako
odpověď zasílá tuto HTML stránku, která obsahuje vložený JavaScript (2).
Kvůli úspoře přenášených dat obsahuje tento JavaScript ve většině
případů pouze identifikaci měření a volání externího Javascriptu.
Následující příklad ukazuje jaký vložený JavaScript využívá nástroj
Google Analytics:
<script src="http://www.google-analytics.com/urchin.js"
type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-324418-1";
urchinTracker();
</script>
Jakmile je HTML stránka načtena do prohlížeče, vložený JavaScript se
spustí. Okamžik spuštění je přitom závislý na umístění JavaScriptu
v dané stránce, proto se doporučuje umístit JavaScript co nejvýše ve
zdrojovém kódu stránky, aby se předešlo nepřesnostem způsobených
kliknutím uživatele na odkaz (či tlačítko Back) před načtením celé
stránky. Důležité je, že měření pomocí aktivního obsahu měří
návštěvnost na základě shlédnutých stránek (pageviews) a ne požadavků
(hitů), jako tomu bylo log souborů.
Vložený JavaScript většinou volá další zdrojový soubor umístěný
typicky u dodavatele aplikace pro měření (3). Server dodavatele
odpovídá zasláním zdrojového souboru (4). Tento soubor je stále stejný a
zůstává tak po prvním načtení již v cache prohlížeče.
Úlohou externího JavaScriptu je samotný sběr dat, který je zajišťován
díky rozhraní DOM. Po spuštění vytvoří tento JavaScript požadavek na
neviditelný obrázek (typicky průhledný obrázek ve formátu GIF
o velikosti 1×1 px), který se zasílá serveru shromažďující data
o návštěvnosti. K URL požadavku na tento neviditelný obrázek je
připojen delší řetězec obsahující informace veškeré informace
o dané návštěvě a prohlížeči, které byly JavaScriptem zjištěny
(5). Server si tyto informace uloží do databáze a zasílá klientovi zpět
prázdný obrázek a cookies pro jednoznačnou identifikaci návštěvníka.
Na tomto místě je vhodné upozornit na jednu ze základních výhod
měření pomocí aktivního obsahu, a tou je jeho větší přesnost. URL
požadavku na neviditelný obrázek je totiž pokaždé jiné a tím pádem
nemůže být tento obrázek načten z cache prohlížeče a analytický
nástroj tak zaznamená každý přístup. Na druhou stranu přináší tato
metoda jednu nevýhodu – nezapočítává browsery, které nepodporují
JavaScript (takovým klientem jsou také vyhledávací a jiní roboti!). Počet
takových prohlížečů je však vzhledem k počtu uživatelů
využívajících cache nepoměrně menší.
Problémy při měření pomocí aktivního obsahu
Vzhledem k tomu, že měření pomocí JavaScriptu bylo primárně
vyvinuto pro měření návštěvnosti, nemusíme se zabývat žádnou úpravou
hrubých dat, jako tomu bylo v případě log souborů (protože log soubor
sloužil nebo slouží primárně k zaznamenávání aktivity serveru).
Nemusíme se zabývat odstraňováním nedůležitých požadavků nebo
přístupů robotů, které tato metoda ani nezaznamenává (vzhledem
k tomu, že robot neumí interpretovat JavaScript). A nemusíme ani
uvažovat nad tím, jak jsou naše statistiky zkreslené pomocí různých
cache, protože tato metoda dokáže zaznamenat všechny návštěvy. Unikátní
návštěvník je potom nejčastěji definován kombinací cookies a session
id.
Jediným problémem je, že měřící JavaScript musí být umístěn na
všech stránkách. Jakmile na některé chybí, přicházíme o cenná
data a naše statistiky jsou neúplné. Což platí zejména
o statistikách pohybu návštěvníka na prezentaci.
Metoda spoléhá na zapnutý JavaScript u návštěvníků, což je
zřejmě akceptovatelný požadavek, protože naprostá většina prohlížečů
současné doby JavaScript podporuje a naprostá většina uživatelů si jej
nevypíná, protože by přišla i o mnoho jiných lákavých služeb
dostupných na dnešním internetu.
Zdroje
- PETERSON, E. T. : Web Site Measurement Hacks, O'Reilly,
2005, ISBN 0–596–00988–7
Související články