Titulek zní trochu velkohubě, ale možná nebude tak daleko od pravdy… v době, kdy byl Google Analytics ještě v plenkách, jsme v Atwebu nasazovali klientům na webovou analytiku pokročilý software ClickTracks. Pak uběhlo mnoho let, kdy byl Google Analytics etalonem analytiky… a teď (když už je Google Analytics kvůli své demenci v plenkách zase) nasazujeme klientům naše proprietární řešení serverové analytiky.
Proč už Google Analytics nestačí
Ještě před pár lety webová analytika pro 99% webů znamenala, že se na stránku vložil měřicí skript a „nějak“ to fungovalo – plus minus správně a konzistentně. Dnes už to bohužel přestává být pravda.
Tradiční Google Analytics (ať už dřívější GA Universal nebo novější GA4) měří návštěvnost pomocí JavaScriptu spuštěném v prohlížeči návštěvníka (tzv. client-side) a využívá pro svou činnost cookies. Dnes toto řešení ale naráží na dvě zásadní bariéry:
-
- Cookie consent – z našich reálných dat vidíme, že 20-25% návštěvníků analytické cookies odmítne. Pro GA4 tito návštěvníci pak neexistují.
-
- Adblockery a prohlížeče – různé doplňky pro blokování reklam nebo samotné prohlížeče analytické JavaScripty nekompromisně odříznou.
Ve výsledku pak v GA4 sice vidíte na první pohled přesná čísla, ale ve skutečnosti mohou být plus minus klidně o 40 % mimo. Na základě takto děravých dat ale není možné dělat závěry a webová analytika se tím pádem stává zbytečnou a nedůvěryhodnou.
Řešením je přechod na server-side analytiku, která je mnohem přesnější, na straně klienta ji nelze vypnout nebo zablokovat, a přitom je z pohledu ochrany soukromí a legislativy naprosto v pořádku.
Lze měřit legálně i bez souhlasu s analytickými cookies
Mnoho majitelů webů se domnívá, že bez souhlasu s analytickými cookies nesmí měřit vůbec nic. Ve skutečnosti lze měřit základní návštěvnost i bez souhlasu, pokud nepoužíváme ne‑nezbytné cookies ani jiné identifikátory v zařízení uživatele a pracujeme jen s minimalizovanými, agregovanými daty (např. počty návštěv, zobrazení stránek a celkové konverze).
Typicky – pro běžné potřeby analytiky našich klientů – souhlas s analytickými cookies potřebujeme abychom návštěvníka dokázali rozpoznat, když se na náš web vrátí po několika dnech.
Server-side analytika je přesnější
Typické řešení pomocí Google Analytics (výše vysvětlené client-side řešení v jazyce JavaScript, který se spouští v návštěvníkově prohlížeči) je tedy závislé na tom, že:
-
- se spustí JavaScript,
-
- prohlížeč dovolí odeslat request,
-
- nic dalšího to nezablokuje.
Naše server-side měření funguje jinak: událost vznikne na serveru v rámci běhu PHP skriptu a uloží se do databáze. Uživatel si může vypnout JS, mít adblocker nebo odmítnout analytické cookies – a vy pořád vidíte návštěvy a chování v rámci session. A stejně tak zaznamenáte klíčové konverzní události.
Co je pro naše klienty nejdůležitější: konverze
Upřímně, drtiová většina našich klientů nepotřebuje sledovat desítky metrik. Potřebuje spolehlivě vědět:
-
- kolik cílů bylo dosaženo (cíle = typicky odeslání formuláře a prokliky na telefonní číslo),
-
- z kterých míst (vyhledávačů, kampaní, sociálních sítí, referujících webů) přišli návštěvníci, kteří cíle dosáhli.
Jak měříme klíčové konverze
Odeslání formuláře řešíme většinou přímo napojením analytiky na CMS (tedy měříme fakt, že poptávka reálně vznikla, ne jen že „někdo klikl na tlačítko“, že nějaký spambot zaútočil na formulář apod.).
Telefonický kontakt – když to jde, řešíme napojením na telefonní ústřednu klienta a nasazením různých telefonních čísel pro různé zdroje návštěv v rámci CallTracking modulu, čímž zajistíme, že návštěvník opravu volal, nejen že proklikl na tlačítko volání na webu.
Další KPI jako přihlášení k odběru newsletteru, stažení PDF průvodce apod. zaznamenáváme jako eventy, ovšem už v PHP na straně serveru, bez omezení client-side technologie. A ano, klidně bychom stejným eventem mohli řešit i formuláře a telefony, jen u CMS integrace a napojení na PBX klienta je výhoda, že je to ještě „blíž realitě“.
Atribuční model: zvolili jsme first click
Atribuční model určuje, kterému zdroji návštěvy dáte body za dosažení konverze. Google Analytics historicky používal last non-direct atribuční model, tedy že bod za konverzi přisoudíte poslednímu zdroji návštěvy, pokud to nebyla přímá návštěva. Atribuce ale není náboženství – je to volba modelu. My v serverové analytice aktuálně používáme first click. Tedy pokud člověk přijde z Google PPC kampaně, potom za týden přijde napřímo a za další týden z organických výsledků Seznamu a teprve potom odešle formulář, přiřadíme splněný cíl Google PPC kampani.
Stejně tak konzistentně v rámci call-trackingu zobrazujeme telefonní číslo přiřazené při první návštěvě.
Atribuci napříč více návštěvami jsme samozřejmě schopni řešit jen u návštěvníků se souhlasem s použitím analytických cookies. U návštěvníků bez souhlasu prostě přiřadíme zásluhy o dosažení cíle referujícímu zdroji session.
A kdyby nám dávalo smysl přejít na jiný model (např. last click, lineární, time decay), v našem řešení je to konfigurovatelná logika, ne omezení nástroje.
Chcete se o atribučních modelech dozvědět více?
Přečtěte si náš článek Asistované konverze v dlouhém rozhodovacím procesu.
Jak to máme postavené technicky
Není to žádná velká věda. Chtěli jsme systém, který je jednoduchý, rozšiřitelný a hlavně stabilní.
Datový model: session jako základní stavební kámen
Primární jednotka je session. Uvnitř session evidujeme:
-
- navštívené stránky (pageviews),
-
- referující stránky (zdroj návštěv),
-
- události (sledované cíle – odeslané formuláře, prokliky na telefon apod.).
Pokud jsou povolené analytické cookies, přidáváme ještě vrstvu: unikátní uživatel, který propojuje více sessions.
Ukládání a reporting
Sessions a eventy (a případně metriky z CMS, např. odeslané formuláře) zapisujeme už v PHP do MySQL databáze. Databázi synchronizujeme přes nástroj Datastream do Google BigQuery.
Nad daty v BigQuery pak vytváříme report v Google Lookeru – náš hlavní dotaz si připraví „session-level“ dataset: pro každou návštěvu vytáhne základní údaje ze „session“ tabulky v BigQuery a přes několik agregací k ní dopočítává metriky (počet zobrazení stránek, odeslaných formulářů a konverzních eventů).
Výhoda: reporting je rychlý, data jsou „naše“ a když potřebujeme přidat nový event nebo dimenzi, není to boj s omezeními rozhraní – jen rozšíření schématu a reportu.
GA4 úplně nezahazujeme
GA4 pořád používáme. V mnoha směrech to dává smysl: někde serverová analytika není nutně lepší nebo by byla zbytečně drahá – a především tam, kde nejsou potřeba přesná čísla, ale spíš poměrné ukazatele, dává GA4 skvělá data, tedy např.:
-
- demografické přehledy,
-
- geografické přehledy,
-
- technické rozdělení (desktop/mobil apod.).
GA4 tedy dál bereme jako doplňkový zdroj, který do Google Lookeru umíme dostat v rámci jednoho reportu spolu s výsledky serverové analytiky. Ve finále pak vypadá report mixu serverové analytiky a GA4 nějak takto:

Závěr: přesná data, na kterých se dá stavět
Doba, kdy stačilo vložit na web měřicí skript a spolehnout se, že čísla budou sedět, je pryč. Kvůli odmítání cookies a blokování skriptů dnes u běžného měření v GA4 část návštěvnosti a konverzí jednoduše nevidíte a rozhodování pak stojí na neúplných datech.
Proto stavíme analytiku tak, aby byla spolehlivá i bez souhlasu se sledovacími cookies: měříme serverově, pracujeme se session a ukládáme data přímo do naší databáze. Díky tomu máte k dispozici přesnější přehled o tom nejdůležitějším – kolik konverzí skutečně vzniklo (odeslané formuláře, prokliky na telefon a další klíčové události) a odkud přišli lidé, kteří je udělali. GA4 přitom nezahazujeme: tam, kde dává smysl (demografie, geografie, technické rozdělení), ho používáme jako doplněk a umíme ho zobrazit v jednom reportu spolu se serverovými daty.
Pokud chcete mít v číslech jasno a opřít marketing i web o data, kterým se dá věřit, ozvěte se nám – projdeme vaše cíle, současné měření a navrhneme nejjednodušší způsob, jak to nasadit.