Ukazují GA4 přesná data?

Ne.

Tak si to pojďme rozebrat.

Nechci tím říct, že GA4 je na odpis. Mít GA4 data je pořád lepší než nemít nic. Ale je třeba vědět, kde jsou limity. A kolik vás ty limity stojí.

Předpokládám, že máte GA4 technicky správně nasazené — žádné duplicitní eventy, žádné chybějící tagy, žádné rozbité triggery. I tak vám GA4 neukazuje přesná data. A důvodů je víc, než byste čekali.

Jak GA4 získá počet uživatelů a sessions

GA4 nepočítá uživatele jeden po jednom. Používá pravděpodobnostní algoritmus HyperLogLog++ (HLL++), který odhaduje počet unikátních hodnot bez nutnosti uchovávat každý záznam.

Je to chytrý trade-off: místo ukládání milionů unikátních ID do paměti si GA4 vystačí s 12 KB dat a 16 384 „kyblíky“. Výsledek? Odhad s chybou:

  • Uživatelé (Total Users, Active Users): ±1,6 % (95% interval spolehlivosti)
  • Sessions: ±3,3 %

Pro 100 000 reálných uživatelů v GA4 ukáže počet někde mezi 98 400 a 101 600. Pro většinu rozhodnutí to stačí. Pro statistické testy na velkých vzorcích (nad 12 000 uživatelů na variantu) už to začíná vadit.

Důležité upřesnění: HLL++ se týká jen unikátních počtů — tedy uživatelů a sessions. Počty událostí (pageviews, kliky, konverze) jsou přesné. Ale pozor: jakmile počítáte konverzní poměr, v jehož jmenovateli je počet uživatelů, nepřesnost HLL++ se do něj promítne.

Tohle je ale ta menší odchylka. Pojďme k těm větším.

Co GA4 vůbec nevidí

Ad blockery a tracking prevention

Safari (ITP), Brave, Firefox (ETP) a DuckDuckGo blokují Google Tag Manager ve výchozím nastavení. K tomu přidejte uBlock Origin a další ad blockery.

Výsledek: GA4 nevidí zhruba 10 % návštěvníků kvůli ad blockerům a tracking prevenci v prohlížečích. U technicky zaměřené cílovky to může být víc. Některé zahraniční zdroje udávají až 30 %, ale na českých projektech je to z mé zkušenosti typicky kolem 10 %.

Řešení existuje: server-side měření dokáže podstatnou část těchto dat zachránit, protože data posílá váš server, ne prohlížeč uživatele. Stejně tak jde servírovat GTM z vlastní domény (pozor — nepoužívejte CNAME, ale třeba Cloudflare Routes) a posílat data na vlastní doménu. Tím obejdete většinu blokovacích pravidel.

Consent a cookie lišta

Pokud máte cookie lištu správně nastavenou (a třetina firem ji nemá), GA4 měří jen ty návštěvníky, kteří klikli na „Souhlasím“.

Opt-in rate v ČR se typicky pohybuje kolem 40–70 %. To znamená, že 30–60 % návštěvníků GA4 buď nevidí vůbec (Basic Consent Mode), nebo se je snaží domodelovat (Advanced Consent Mode — o tom za chvíli).

Toto je v praxi největší zdroj nepřesnosti v GA4 — a přitom spousta lidí řeší ad blockery místo toho, aby se podívali na svůj opt-in rate.

Mimochodem, jak spočítat opt-in rate jsem popsal v samostatném článku.

Co GA4 skrývá nebo zkresluje

Sampling (vzorkování)

V Exploracích GA4 zpracuje maximálně 10 milionů událostí na dotaz (free verze). Co je nad, se vzorkuje. Průměrná chyba kolem 5 %, ale u malých datových rozsahů může být až 30 %.

Standardní reporty se nevzorkují — jsou předpočítané. Jenže mají jiný problém.

Cardinality — řádek „(other)“

Standardní reporty mají limit 500 unikátních hodnot dimenze za den. Vše nad spadne do řádku „(other)“.

Máte e-shop s 2 000 produkty a chcete vidět tržby po produktech ve standardním reportu? Většina z nich bude v „(other)“. Řešení: Explorace (vyšší limit) nebo BigQuery (žádný limit).

Thresholding (prahování)

Pokud v reportech používáte demografické dimenze nebo data z Google Signals, GA4 může řádky tiše schovat. Nechce, aby šlo z dat identifikovat konkrétní lidi.

Google neříká přesně kdy. Z praxe: typicky při 30–50 uživatelích nebo událostech. Řešení: přepněte reporting identity na „Device-based“.

Poznámka: Google v roce 2024 odstranil Google Signals z reporting identity — Signals se stále používají pro remarketing a demografická data, ale samotnou reporting identity už neovlivňují. Thresholding se ale nadále aplikuje při použití demografických dimenzí.

Reporting identity

GA4 nabízí tři režimy: Blended, Observed a Device-based. Každý dává jiná čísla pro stejná data. Blended používá modelování, Device-based jen cookie. Rozdíly v počtu uživatelů mohou být v desítkách procent.

A tady se dostáváme k modelování.

Modelování dat — záchranná síť s dírou

Consent Mode v2 v režimu Advanced posílá anonymní pingy i od uživatelů bez souhlasu. GA4 z nich modeluje chybějící data.

Zní to skvěle. Háček:

  • Modelování se aktivuje až při 1 000+ denních událostech se souhlasem, po dobu 7 dní
  • Funguje jen v UI a API — v BigQuery exportu modelovaná data nejsou
  • Basic Consent Mode = tagy se vůbec nespustí = nulové modelování
  • Přesnost závisí na poměru konsentovaných vs. nekonsentovaných uživatelů

Odhady recovery: 30–50 % ztracených konverzí se podaří zachránit. To není málo. Ale není to 100 %.

A hlavně: zapnuté vs. vypnuté modelování dramaticky mění vaše čísla. K tomu se ještě dostaneme.

Atribuce — černá skříňka

GA4 používá různé atribuční modely podle typu reportu. Ve standardních reportech: User Acquisition používá first-click, Traffic Acquisition používá last non-direct click. Data-Driven Attribution (DDA) se aplikuje jen na Key Events reporty a Explorace — a i tam jen pokud máte dostatek dat.

  • DDA je black box. Google neříká, jak přesně kredit přiděluje.
  • Tichý fallback. Pokud nemáte alespoň 400 konverzí za 28 dní pro daný key event, GA4 tiše přepne na last-click — bez upozornění. V nastavení dál vidíte „Data-driven“, ale reálně běží last-click.
  • Inkrementalita? Ani DDA, ani last-click neodpovídají na klíčovou otázku: kolik z těch konverzí by přišlo i bez reklamy?

Proč GA4 ukazuje jiný zdroj návštěvnosti v User Acquisition, jiný v Traffic Acquisition a jiný v Exploracích? Právě proto — každý report používá jiný atribuční model. Víc o tom v článku o zdrojích návštěvnosti v GA4.

Zpoždění dat

Ještě jedna věc, o které se moc nemluví: GA4 má latenci 24–48 hodin. Universal Analytics bylo výrazně rychlejší. U větších webů vídávám data v reportech až další den odpoledne. Některá data (offline eventy, pozdní pingy) mohou dorazit až 72 hodin po události — pozdější data GA4 zahodí. A žádné SLA neexistuje.

Pro analýzu to nevadí. Pro real-time rozhodování ano.

Co s tím

Mít data je lepší než nemít žádná

To je potřeba říct nahlas. GA4 nejsou dokonalé, ale pořád je to nejdostupnější a nejrozšířenější nástroj pro měření webu. Nemít měření vůbec je nesrovnatelně horší.

Klíčové ale je vědět, jak moc jsou data přesná a jak moc jim můžete věřit.

Kontrolujte přesnost

Pravidelně srovnávejte data z GA4 s dalšími zdroji. Minimum: počet transakcí v GA4 vs. vaše databáze. Pokud máte e-shop, toto srovnání odhalí, kolik objednávek GA4 nezachytilo — a dá vám reálnou míru odchylky pro váš konkrétní web.

Další užitečná srovnání:

  • Počet sessions vs. server logy
  • Revenue v GA4 vs. fakturační systém
  • Počet formulářů v GA4 vs. CRM

Když znáte svoji odchylku, můžete s ní pracovat. Nevíte-li ji, rozhodujete naslepo.

Pro trendy GA4 stačí

Pro sledování trendů a porovnávání období GA4 funguje výborně. Odchylka je konzistentní, takže i když absolutní čísla nejsou přesná, relativní změny ano. Kampaň A funguje lépe než kampaň B? To vám GA4 řekne spolehlivě.

Pro absolutní čísla pozor na modelování

Jakmile jdete do absolutních čísel, je to jiný příběh. Pro výpočet PNO je zatracený rozdíl, jestli máte zapnuté modelování nebo ne.

S modelováním vám GA4 reportuje o desítky procent víc konverzí — a vaše PNO vypadá najednou skvěle. Bez modelování? Stejná kampaň, ale čísla říkají něco jiného. A vy se na základě toho rozhodujete, kam alokovat rozpočet.

Tohle není akademický problém. Tohle je problém za reálné peníze.

Pokud porovnáváte revenue v GA4 s čísly z vašeho e-shopu, musíte přesně vědět, jakou metodu reportování používáte — jinak porovnáváte jablka s hruškami.

BigQuery: přesná data, ale za cenu

BigQuery export z GA4 obsahuje:

  • Každou jednotlivou událost — žádné vzorkování, žádný thresholding, žádná cardinalita
  • Surová data bez modelování (consent mode modely v BQ nejsou)
  • Počet událostí je úplně přesný

I v BigQuery je ale potřeba zvážit, jakou přesnost potřebujete. Agregační funkce typu APPROX_COUNT_DISTINCT (ano, ten samý HLL++ jako v GA4) mohou v BQ dramaticky snížit náklady na dotazy — za cenu té samé ±1,6% odchylky.

Pokud stačí vědět „asi 98 000 uživatelů“ místo „přesně 97 842″, ušetříte. A jak jsem popsal v článku o Lean Analytics, nemusíte měřit všechno — stačí to důležité.

Vědecká poznámka

Je to jako paradox pobřežní linie — čím přesněji měříte pobřeží, tím delší se zdá. Stejně tak s webovými daty: čím víc se přibližujete k „přesným“ číslům, tím víc komplikací se vynoří. Někdy je moudřejší měřit s rozumnou přesností a ušetřené zdroje investovat do toho, co s daty uděláte.

Nebo můžete počkat, třeba bude líp

V listopadu 2025 Evropská komise publikovala balíček Digital Fairness Omnibus — a v únoru 2026 oficiálně stáhla zamrzlý návrh ePrivacy Regulation. Pravidla pro cookies a tracking se tak přesouvají přímo do GDPR (nový článek 88a).

Klíčová novinka: Digital Omnibus zavádí výjimku ze souhlasu pro „měření návštěvnosti“. Pokud provozovatel webu sbírá agregovaná data o návštěvnosti výhradně pro vlastní potřebu, bez sdílení s třetími stranami, nebude potřebovat souhlas uživatele. Podmínky jsou přísné: data musí zpracovávat přímo provozovatel (controller), výhradně pro vlastní službu a vlastní účely.

Podobný princip už dnes uplatňuje francouzský CNIL, španělský AEPD nebo italský Garante. Digital Omnibus by ho rozšířil na celou EU.

Časově je to ale spíš záležitost konce roku 2026, reálněji 2027 — návrh musí projít Evropským parlamentem i Radou EU.

A hlavně: nebude se to týkat Google Analytics 4. GA4 zpracovává data na sdílené infrastruktuře Googlu, který je využívá i pro vývoj vlastních produktů a reklamní ekosystém. To nesplňuje definici „vlastní analytiky provozovatele“. Výjimka bude pravděpodobně využitelná pro nástroje jako Matomo (self-hosted), Piwik PRO nebo Plausible — řešení, kde data zůstávají pod plnou kontrolou provozovatele webu.

Shrnutí odchylek

Zdroj nepřesnostiOdchylkaŘešení
HLL++ (uživatelé)±1,6 %BigQuery s COUNT DISTINCT
HLL++ (sessions)±3,3 %BigQuery s COUNT DISTINCT
Ad blockery a tracking prevention~10 %Server-side tracking, vlastní doména
Consent (chybějící souhlas)30–60 %Consent Mode v2 Advanced + modelování
Sampling (Explorace)5–30 %BigQuery, kratší časový rozsah
Thresholdingskryté řádkyDevice-based reporting identity
Cardinalityseskupení do „(other)“Explorace, BigQuery
Modelování (consent)desítky % rozdíl on/offVědět, co máte zapnuté