{"id":959,"date":"2026-04-29T15:03:13","date_gmt":"2026-04-29T13:03:13","guid":{"rendered":"https:\/\/www.sabatka.net\/en\/?p=959"},"modified":"2026-04-29T15:14:50","modified_gmt":"2026-04-29T13:14:50","slug":"is-ga4-data-accurate","status":"publish","type":"post","link":"https:\/\/www.sabatka.net\/cs\/is-ga4-data-accurate\/","title":{"rendered":"Ukazuj\u00ed GA4 p\u0159esn\u00e1 data?"},"content":{"rendered":"\n<p>Ne.<\/p>\n\n\n\n<p>Tak si to poj\u010fme rozebrat.<\/p>\n\n\n\n<p>Nechci t\u00edm \u0159\u00edct, \u017ee GA4 je na odpis. M\u00edt GA4 data je po\u0159\u00e1d lep\u0161\u00ed ne\u017e nem\u00edt nic. Ale je t\u0159eba v\u011bd\u011bt, kde jsou limity. A kolik v\u00e1s ty limity stoj\u00ed.<\/p>\n\n\n\n<p>P\u0159edpokl\u00e1d\u00e1m, \u017ee m\u00e1te GA4 technicky spr\u00e1vn\u011b nasazen\u00e9 \u2014 \u017e\u00e1dn\u00e9 duplicitn\u00ed eventy, \u017e\u00e1dn\u00e9 chyb\u011bj\u00edc\u00ed tagy, \u017e\u00e1dn\u00e9 rozbit\u00e9 triggery. I tak v\u00e1m GA4 neukazuje p\u0159esn\u00e1 data. A d\u016fvod\u016f je v\u00edc, ne\u017e byste \u010dekali.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Jak GA4 z\u00edsk\u00e1 po\u010det u\u017eivatel\u016f a sessions<\/h2>\n\n\n\n<p>GA4 nepo\u010d\u00edt\u00e1 u\u017eivatele jeden po jednom. Pou\u017e\u00edv\u00e1 pravd\u011bpodobnostn\u00ed algoritmus <a href=\"https:\/\/developers.google.com\/analytics\/blog\/2022\/hll\" target=\"_blank\" rel=\"noopener\"><strong>HyperLogLog++<\/strong><\/a> (HLL++), kter\u00fd odhaduje po\u010det unik\u00e1tn\u00edch hodnot bez nutnosti uchov\u00e1vat ka\u017ed\u00fd z\u00e1znam.<\/p>\n\n\n\n<p>Je to chytr\u00fd trade-off: m\u00edsto ukl\u00e1d\u00e1n\u00ed milion\u016f unik\u00e1tn\u00edch ID do pam\u011bti si GA4 vysta\u010d\u00ed s 12 KB dat a 16 384 \u201ekybl\u00edky&#8220;. V\u00fdsledek? Odhad s chybou:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>U\u017eivatel\u00e9 (Total Users, Active Users):<\/strong> \u00b11,6 % (95% interval spolehlivosti)<\/li>\n\n\n\n<li><strong>Sessions:<\/strong> \u00b13,3 %<\/li>\n<\/ul>\n\n\n\n<p>Pro 100 000 re\u00e1ln\u00fdch u\u017eivatel\u016f v GA4 uk\u00e1\u017ee po\u010det n\u011bkde mezi 98 400 a 101 600. Pro v\u011bt\u0161inu rozhodnut\u00ed to sta\u010d\u00ed. Pro statistick\u00e9 testy na velk\u00fdch vzorc\u00edch (nad 12 000 u\u017eivatel\u016f na variantu) u\u017e to za\u010d\u00edn\u00e1 vadit.<\/p>\n\n\n\n<p>D\u016fle\u017eit\u00e9 up\u0159esn\u011bn\u00ed: HLL++ se t\u00fdk\u00e1 <strong>jen unik\u00e1tn\u00edch po\u010dt\u016f<\/strong> \u2014 tedy u\u017eivatel\u016f a sessions. Po\u010dty ud\u00e1lost\u00ed (pageviews, kliky, konverze) jsou p\u0159esn\u00e9. Ale pozor: jakmile po\u010d\u00edt\u00e1te <strong>konverzn\u00ed pom\u011br<\/strong>, v jeho\u017e jmenovateli je po\u010det u\u017eivatel\u016f, nep\u0159esnost HLL++ se do n\u011bj prom\u00edtne.<\/p>\n\n\n\n<p>Tohle je ale ta men\u0161\u00ed odchylka. Poj\u010fme k t\u011bm v\u011bt\u0161\u00edm.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button scroll_to_subscribe\"><a class=\"wp-block-button__link wp-element-button\" href=\"#\">Chci odeb\u00edrat novinky<\/a><\/div>\n\n\n\n<div class=\"wp-block-button linkedinShare\"><a class=\"wp-block-button__link wp-element-button\">Sd\u00edlet na LinkedIN<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Co GA4 v\u016fbec nevid\u00ed<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ad blockery a tracking prevention<\/h3>\n\n\n\n<p>Safari (ITP), Brave, Firefox (ETP) a DuckDuckGo blokuj\u00ed Google Tag Manager ve v\u00fdchoz\u00edm nastaven\u00ed. K tomu p\u0159idejte uBlock Origin a dal\u0161\u00ed ad blockery.<\/p>\n\n\n\n<p>V\u00fdsledek: <strong>GA4 nevid\u00ed zhruba 10 % n\u00e1v\u0161t\u011bvn\u00edk\u016f<\/strong> kv\u016fli ad blocker\u016fm a tracking prevenci v prohl\u00ed\u017ee\u010d\u00edch. U technicky zam\u011b\u0159en\u00e9 c\u00edlovky to m\u016f\u017ee b\u00fdt v\u00edc. N\u011bkter\u00e9 zahrani\u010dn\u00ed zdroje ud\u00e1vaj\u00ed a\u017e 30 %, ale na \u010desk\u00fdch projektech je to z m\u00e9 zku\u0161enosti typicky kolem 10 %.<\/p>\n\n\n\n<p>\u0158e\u0161en\u00ed existuje: <a href=\"https:\/\/www.sabatka.net\/cs\/co-to-je-server-side-mereni-sgtm\/\">server-side m\u011b\u0159en\u00ed<\/a> dok\u00e1\u017ee podstatnou \u010d\u00e1st t\u011bchto dat zachr\u00e1nit, proto\u017ee data pos\u00edl\u00e1 v\u00e1\u0161 server, ne prohl\u00ed\u017ee\u010d u\u017eivatele. Stejn\u011b tak jde serv\u00edrovat GTM z vlastn\u00ed dom\u00e9ny (pozor \u2014 nepou\u017e\u00edvejte CNAME, ale t\u0159eba Cloudflare Routes) a pos\u00edlat data na vlastn\u00ed dom\u00e9nu. T\u00edm obejdete v\u011bt\u0161inu blokovac\u00edch pravidel.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Consent a cookie li\u0161ta<\/h3>\n\n\n\n<p>Pokud m\u00e1te cookie li\u0161tu spr\u00e1vn\u011b nastavenou (a <a href=\"https:\/\/www.sabatka.net\/cs\/5-most-common-bugs-in-cookie-bar-configuration\/\">t\u0159etina firem ji nem\u00e1<\/a>), GA4 m\u011b\u0159\u00ed jen ty n\u00e1v\u0161t\u011bvn\u00edky, kte\u0159\u00ed klikli na \u201eSouhlas\u00edm&#8220;.<\/p>\n\n\n\n<p>Opt-in rate v \u010cR se typicky pohybuje kolem 40\u201370 %. To znamen\u00e1, \u017ee <strong>30\u201360 % n\u00e1v\u0161t\u011bvn\u00edk\u016f<\/strong> GA4 bu\u010f nevid\u00ed v\u016fbec (Basic Consent Mode), nebo se je sna\u017e\u00ed domodelovat (Advanced Consent Mode \u2014 o tom za chv\u00edli).<\/p>\n\n\n\n<p>Toto je v praxi <strong>nejv\u011bt\u0161\u00ed zdroj nep\u0159esnosti<\/strong> v GA4 \u2014 a p\u0159itom spousta lid\u00ed \u0159e\u0161\u00ed ad blockery m\u00edsto toho, aby se pod\u00edvali na sv\u016fj opt-in rate.<\/p>\n\n\n\n<p>Mimochodem, <a href=\"https:\/\/www.sabatka.net\/cs\/what-is-opt-in-rate\/\">jak spo\u010d\u00edtat opt-in rate<\/a> jsem popsal v samostatn\u00e9m \u010dl\u00e1nku.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Co GA4 skr\u00fdv\u00e1 nebo zkresluje<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Sampling (vzorkov\u00e1n\u00ed)<\/h3>\n\n\n\n<p>V Explorac\u00edch GA4 zpracuje maxim\u00e1ln\u011b <strong>10 milion\u016f ud\u00e1lost\u00ed na dotaz<\/strong> (free verze). Co je nad, se vzorkuje. Pr\u016fm\u011brn\u00e1 chyba kolem 5 %, ale u mal\u00fdch datov\u00fdch rozsah\u016f m\u016f\u017ee b\u00fdt <strong>a\u017e 30 %<\/strong>.<\/p>\n\n\n\n<p>Standardn\u00ed reporty se nevzorkuj\u00ed \u2014 jsou p\u0159edpo\u010d\u00edtan\u00e9. Jen\u017ee maj\u00ed jin\u00fd probl\u00e9m.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Cardinality \u2014 \u0159\u00e1dek \u201e(other)&#8220;<\/h3>\n\n\n\n<p>Standardn\u00ed reporty maj\u00ed limit <strong>500 unik\u00e1tn\u00edch hodnot dimenze za den<\/strong>. V\u0161e nad spadne do \u0159\u00e1dku \u201e(other)&#8220;.<\/p>\n\n\n\n<p>M\u00e1te e-shop s 2 000 produkty a chcete vid\u011bt tr\u017eby po produktech ve standardn\u00edm reportu? V\u011bt\u0161ina z nich bude v \u201e(other)&#8220;. \u0158e\u0161en\u00ed: Explorace (vy\u0161\u0161\u00ed limit) nebo BigQuery (\u017e\u00e1dn\u00fd limit).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Thresholding (prahov\u00e1n\u00ed)<\/h3>\n\n\n\n<p>Pokud v reportech pou\u017e\u00edv\u00e1te demografick\u00e9 dimenze nebo data z Google Signals, GA4 m\u016f\u017ee \u0159\u00e1dky <strong>ti\u0161e schovat<\/strong>. Nechce, aby \u0161lo z dat identifikovat konkr\u00e9tn\u00ed lidi.<\/p>\n\n\n\n<p>Google ne\u0159\u00edk\u00e1 p\u0159esn\u011b kdy. Z praxe: typicky p\u0159i 30\u201350 u\u017eivatel\u00edch nebo ud\u00e1lostech. \u0158e\u0161en\u00ed: p\u0159epn\u011bte reporting identity na \u201eDevice-based&#8220;.<\/p>\n\n\n\n<p>Pozn\u00e1mka: Google v roce 2024 odstranil Google Signals z reporting identity \u2014 Signals se st\u00e1le pou\u017e\u00edvaj\u00ed pro remarketing a demografick\u00e1 data, ale samotnou reporting identity u\u017e neovliv\u0148uj\u00ed. Thresholding se ale nad\u00e1le aplikuje p\u0159i pou\u017eit\u00ed demografick\u00fdch dimenz\u00ed.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Reporting identity<\/h3>\n\n\n\n<p>GA4 nab\u00edz\u00ed t\u0159i re\u017eimy: Blended, Observed a Device-based. Ka\u017ed\u00fd d\u00e1v\u00e1 <strong>jin\u00e1 \u010d\u00edsla pro stejn\u00e1 data<\/strong>. Blended pou\u017e\u00edv\u00e1 modelov\u00e1n\u00ed, Device-based jen cookie. Rozd\u00edly v po\u010dtu u\u017eivatel\u016f mohou b\u00fdt v des\u00edtk\u00e1ch procent.<\/p>\n\n\n\n<p>A tady se dost\u00e1v\u00e1me k modelov\u00e1n\u00ed.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Modelov\u00e1n\u00ed dat \u2014 z\u00e1chrann\u00e1 s\u00ed\u0165 s d\u00edrou<\/h2>\n\n\n\n<p>Consent Mode v2 v re\u017eimu Advanced pos\u00edl\u00e1 anonymn\u00ed pingy i od u\u017eivatel\u016f bez souhlasu. GA4 z nich modeluje chyb\u011bj\u00edc\u00ed data.<\/p>\n\n\n\n<p>Zn\u00ed to skv\u011ble. H\u00e1\u010dek:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modelov\u00e1n\u00ed se aktivuje a\u017e p\u0159i <strong>1 000+ denn\u00edch ud\u00e1lostech<\/strong> se souhlasem, po dobu 7 dn\u00ed<\/li>\n\n\n\n<li>Funguje <strong>jen v UI a API<\/strong> \u2014 v BigQuery exportu modelovan\u00e1 data nejsou<\/li>\n\n\n\n<li>Basic Consent Mode = tagy se v\u016fbec nespust\u00ed = nulov\u00e9 modelov\u00e1n\u00ed<\/li>\n\n\n\n<li>P\u0159esnost z\u00e1vis\u00ed na pom\u011bru konsentovan\u00fdch vs. nekonsentovan\u00fdch u\u017eivatel\u016f<\/li>\n<\/ul>\n\n\n\n<p>Odhady recovery: 30\u201350 % ztracen\u00fdch konverz\u00ed se poda\u0159\u00ed zachr\u00e1nit. To nen\u00ed m\u00e1lo. Ale nen\u00ed to 100 %.<\/p>\n\n\n\n<p>A hlavn\u011b: <strong>zapnut\u00e9 vs. vypnut\u00e9 modelov\u00e1n\u00ed dramaticky m\u011bn\u00ed va\u0161e \u010d\u00edsla.<\/strong> K tomu se je\u0161t\u011b dostaneme.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Atribuce \u2014 \u010dern\u00e1 sk\u0159\u00ed\u0148ka<\/h2>\n\n\n\n<p>GA4 pou\u017e\u00edv\u00e1 r\u016fzn\u00e9 atribu\u010dn\u00ed modely podle typu reportu. Ve standardn\u00edch reportech: <strong>User Acquisition<\/strong> pou\u017e\u00edv\u00e1 first-click, <strong>Traffic Acquisition<\/strong> pou\u017e\u00edv\u00e1 last non-direct click. Data-Driven Attribution (DDA) se aplikuje jen na Key Events reporty a Explorace \u2014 a i tam jen pokud m\u00e1te dostatek dat.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DDA je black box.<\/strong> Google ne\u0159\u00edk\u00e1, jak p\u0159esn\u011b kredit p\u0159id\u011bluje.<\/li>\n\n\n\n<li><strong>Tich\u00fd fallback.<\/strong> Pokud nem\u00e1te alespo\u0148 400 konverz\u00ed za 28 dn\u00ed pro dan\u00fd key event, GA4 ti\u0161e p\u0159epne na last-click \u2014 bez upozorn\u011bn\u00ed. V nastaven\u00ed d\u00e1l vid\u00edte \u201eData-driven&#8220;, ale re\u00e1ln\u011b b\u011b\u017e\u00ed last-click.<\/li>\n\n\n\n<li><strong>Inkrementalita?<\/strong> Ani DDA, ani last-click neodpov\u00eddaj\u00ed na kl\u00ed\u010dovou ot\u00e1zku: kolik z t\u011bch konverz\u00ed by p\u0159i\u0161lo i bez reklamy?<\/li>\n<\/ul>\n\n\n\n<p>Pro\u010d GA4 ukazuje jin\u00fd zdroj n\u00e1v\u0161t\u011bvnosti v User Acquisition, jin\u00fd v Traffic Acquisition a jin\u00fd v Explorac\u00edch? Pr\u00e1v\u011b proto \u2014 ka\u017ed\u00fd report pou\u017e\u00edv\u00e1 jin\u00fd atribu\u010dn\u00ed model. V\u00edc o tom <a href=\"https:\/\/www.sabatka.net\/cs\/why-does-traffic-source-have-different-names\/\">v \u010dl\u00e1nku o zdroj\u00edch n\u00e1v\u0161t\u011bvnosti v GA4<\/a>.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Zpo\u017ed\u011bn\u00ed dat<\/h2>\n\n\n\n<p>Je\u0161t\u011b jedna v\u011bc, o kter\u00e9 se moc nemluv\u00ed: GA4 m\u00e1 latenci <strong>24\u201348 hodin<\/strong>. Universal Analytics bylo v\u00fdrazn\u011b rychlej\u0161\u00ed. U v\u011bt\u0161\u00edch web\u016f v\u00edd\u00e1v\u00e1m data v reportech a\u017e dal\u0161\u00ed den odpoledne. N\u011bkter\u00e1 data (offline eventy, pozdn\u00ed pingy) mohou dorazit a\u017e <strong>72 hodin<\/strong> po ud\u00e1losti \u2014 pozd\u011bj\u0161\u00ed data GA4 zahod\u00ed. A \u017e\u00e1dn\u00e9 SLA neexistuje.<\/p>\n\n\n\n<p>Pro anal\u00fdzu to nevad\u00ed. Pro real-time rozhodov\u00e1n\u00ed ano.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Co s t\u00edm<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">M\u00edt data je lep\u0161\u00ed ne\u017e nem\u00edt \u017e\u00e1dn\u00e1<\/h3>\n\n\n\n<p>To je pot\u0159eba \u0159\u00edct nahlas. GA4 nejsou dokonal\u00e9, ale po\u0159\u00e1d je to <strong>nejdostupn\u011bj\u0161\u00ed a nejroz\u0161\u00ed\u0159en\u011bj\u0161\u00ed n\u00e1stroj<\/strong> pro m\u011b\u0159en\u00ed webu. Nem\u00edt m\u011b\u0159en\u00ed v\u016fbec je nesrovnateln\u011b hor\u0161\u00ed.<\/p>\n\n\n\n<p>Kl\u00ed\u010dov\u00e9 ale je <strong>v\u011bd\u011bt, jak moc jsou data p\u0159esn\u00e1 a jak moc jim m\u016f\u017eete v\u011b\u0159it<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Kontrolujte p\u0159esnost<\/h3>\n\n\n\n<p>Pravideln\u011b srovn\u00e1vejte data z GA4 s dal\u0161\u00edmi zdroji. Minimum: po\u010det transakc\u00ed v GA4 vs. va\u0161e datab\u00e1ze. Pokud m\u00e1te e-shop, toto srovn\u00e1n\u00ed odhal\u00ed, kolik objedn\u00e1vek GA4 nezachytilo \u2014 a d\u00e1 v\u00e1m re\u00e1lnou m\u00edru odchylky pro v\u00e1\u0161 konkr\u00e9tn\u00ed web.<\/p>\n\n\n\n<p>Dal\u0161\u00ed u\u017eite\u010dn\u00e1 srovn\u00e1n\u00ed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Po\u010det sessions vs. server logy<\/li>\n\n\n\n<li>Revenue v GA4 vs. faktura\u010dn\u00ed syst\u00e9m<\/li>\n\n\n\n<li>Po\u010det formul\u00e1\u0159\u016f v GA4 vs. CRM<\/li>\n<\/ul>\n\n\n\n<p>Kdy\u017e zn\u00e1te svoji odchylku, m\u016f\u017eete s n\u00ed pracovat. Nev\u00edte-li ji, rozhodujete naslepo.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Pro trendy GA4 sta\u010d\u00ed<\/h3>\n\n\n\n<p>Pro sledov\u00e1n\u00ed trend\u016f a porovn\u00e1v\u00e1n\u00ed obdob\u00ed GA4 funguje v\u00fdborn\u011b. Odchylka je konzistentn\u00ed, tak\u017ee i kdy\u017e absolutn\u00ed \u010d\u00edsla nejsou p\u0159esn\u00e1, <strong>relativn\u00ed zm\u011bny ano<\/strong>. Kampa\u0148 A funguje l\u00e9pe ne\u017e kampa\u0148 B? To v\u00e1m GA4 \u0159ekne spolehliv\u011b.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Pro absolutn\u00ed \u010d\u00edsla pozor na modelov\u00e1n\u00ed<\/h3>\n\n\n\n<p>Jakmile jdete do absolutn\u00edch \u010d\u00edsel, je to jin\u00fd p\u0159\u00edb\u011bh. <strong>Pro v\u00fdpo\u010det PNO je zatracen\u00fd rozd\u00edl, jestli m\u00e1te zapnut\u00e9 modelov\u00e1n\u00ed nebo ne.<\/strong><\/p>\n\n\n\n<p>S modelov\u00e1n\u00edm v\u00e1m GA4 reportuje o des\u00edtky procent v\u00edc konverz\u00ed \u2014 a va\u0161e PNO vypad\u00e1 najednou skv\u011ble. Bez modelov\u00e1n\u00ed? Stejn\u00e1 kampa\u0148, ale \u010d\u00edsla \u0159\u00edkaj\u00ed n\u011bco jin\u00e9ho. A vy se na z\u00e1klad\u011b toho rozhodujete, kam alokovat rozpo\u010det.<\/p>\n\n\n\n<p>Tohle nen\u00ed akademick\u00fd probl\u00e9m. Tohle je probl\u00e9m za re\u00e1ln\u00e9 pen\u00edze.<\/p>\n\n\n\n<p>Pokud porovn\u00e1v\u00e1te <a href=\"https:\/\/www.sabatka.net\/cs\/revenue-in-ga4-do-you-know-what-you-are-looking-at\/\">revenue v GA4 s \u010d\u00edsly z va\u0161eho e-shopu<\/a>, mus\u00edte p\u0159esn\u011b v\u011bd\u011bt, jakou metodu reportov\u00e1n\u00ed pou\u017e\u00edv\u00e1te \u2014 jinak porovn\u00e1v\u00e1te jablka s hru\u0161kami.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">BigQuery: p\u0159esn\u00e1 data, ale za cenu<\/h3>\n\n\n\n<p>BigQuery export z GA4 obsahuje:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ka\u017edou jednotlivou ud\u00e1lost<\/strong> \u2014 \u017e\u00e1dn\u00e9 vzorkov\u00e1n\u00ed, \u017e\u00e1dn\u00fd thresholding, \u017e\u00e1dn\u00e1 cardinalita<\/li>\n\n\n\n<li><strong>Surov\u00e1 data<\/strong> bez modelov\u00e1n\u00ed (consent mode modely v BQ nejsou)<\/li>\n\n\n\n<li>Po\u010det ud\u00e1lost\u00ed je <strong>\u00fapln\u011b p\u0159esn\u00fd<\/strong><\/li>\n<\/ul>\n\n\n\n<p>I v BigQuery je ale pot\u0159eba zv\u00e1\u017eit, jakou p\u0159esnost pot\u0159ebujete. Agrega\u010dn\u00ed funkce typu <code>APPROX_COUNT_DISTINCT<\/code> (ano, ten sam\u00fd HLL++ jako v GA4) mohou v BQ <strong>dramaticky sn\u00ed\u017eit n\u00e1klady<\/strong> na dotazy \u2014 za cenu t\u00e9 sam\u00e9 \u00b11,6% odchylky.<\/p>\n\n\n\n<p>Pokud sta\u010d\u00ed v\u011bd\u011bt \u201easi 98 000 u\u017eivatel\u016f&#8220; m\u00edsto \u201ep\u0159esn\u011b 97 842&#8243;, u\u0161et\u0159\u00edte. A <a href=\"https:\/\/www.sabatka.net\/cs\/lean-analytics-dont-need-to-measure-everything-just-what-watters\/\">jak jsem popsal v \u010dl\u00e1nku o Lean Analytics<\/a>, nemus\u00edte m\u011b\u0159it v\u0161echno \u2014 sta\u010d\u00ed to d\u016fle\u017eit\u00e9.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" data-src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know.png\" alt=\"\" class=\"wp-image-936 lazyload\" data-srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know.png 1024w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-300x300.png 300w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-150x150.png 150w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-768x768.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/1024;\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>V\u011bdeck\u00e1 pozn\u00e1mka<\/strong><\/h3>\n\n\n\n<p>Je to jako <a href=\"https:\/\/cs.wikipedia.org\/wiki\/Paradox_pob%C5%99e%C5%BEn%C3%AD_linie\" target=\"_blank\" rel=\"noopener\">paradox pob\u0159e\u017en\u00ed linie<\/a> \u2014 \u010d\u00edm p\u0159esn\u011bji m\u011b\u0159\u00edte pob\u0159e\u017e\u00ed, t\u00edm del\u0161\u00ed se zd\u00e1. Stejn\u011b tak s webov\u00fdmi daty: \u010d\u00edm v\u00edc se p\u0159ibli\u017eujete k \u201ep\u0159esn\u00fdm&#8220; \u010d\u00edsl\u016fm, t\u00edm v\u00edc komplikac\u00ed se vyno\u0159\u00ed. N\u011bkdy je moud\u0159ej\u0161\u00ed m\u011b\u0159it s rozumnou p\u0159esnost\u00ed a u\u0161et\u0159en\u00e9 zdroje investovat do toho, co s daty ud\u011bl\u00e1te.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Nebo m\u016f\u017eete po\u010dkat, t\u0159eba bude l\u00edp<\/h3>\n\n\n\n<p>V listopadu 2025 Evropsk\u00e1 komise publikovala bal\u00ed\u010dek <a href=\"https:\/\/www.sabatka.net\/cs\/digital-omnibus-in-digital-analytics\/\">Digital Fairness Omnibus<\/a> \u2014 a v \u00fanoru 2026 ofici\u00e1ln\u011b st\u00e1hla zamrzl\u00fd n\u00e1vrh ePrivacy Regulation. Pravidla pro cookies a tracking se tak p\u0159esouvaj\u00ed p\u0159\u00edmo do GDPR (nov\u00fd \u010dl\u00e1nek 88a).<\/p>\n\n\n\n<p>Kl\u00ed\u010dov\u00e1 novinka: Digital Omnibus zav\u00e1d\u00ed v\u00fdjimku ze souhlasu pro \u201em\u011b\u0159en\u00ed n\u00e1v\u0161t\u011bvnosti\u201c. Pokud provozovatel webu sb\u00edr\u00e1 agregovan\u00e1 data o n\u00e1v\u0161t\u011bvnosti v\u00fdhradn\u011b pro vlastn\u00ed pot\u0159ebu, bez sd\u00edlen\u00ed s t\u0159et\u00edmi stranami, nebude pot\u0159ebovat souhlas u\u017eivatele. Podm\u00ednky jsou p\u0159\u00edsn\u00e9: data mus\u00ed zpracov\u00e1vat p\u0159\u00edmo provozovatel (controller), v\u00fdhradn\u011b pro vlastn\u00ed slu\u017ebu a vlastn\u00ed \u00fa\u010dely.<\/p>\n\n\n\n<p>Podobn\u00fd princip u\u017e dnes uplat\u0148uje francouzsk\u00fd CNIL, \u0161pan\u011blsk\u00fd AEPD nebo italsk\u00fd Garante. Digital Omnibus by ho roz\u0161\u00ed\u0159il na celou EU.<\/p>\n\n\n\n<p>\u010casov\u011b je to ale sp\u00ed\u0161 z\u00e1le\u017eitost konce roku 2026, re\u00e1ln\u011bji 2027 \u2014 n\u00e1vrh mus\u00ed proj\u00edt Evropsk\u00fdm parlamentem i Radou EU.<\/p>\n\n\n\n<p>A hlavn\u011b: <strong>nebude se to t\u00fdkat Google Analytics 4.<\/strong> GA4 zpracov\u00e1v\u00e1 data na sd\u00edlen\u00e9 infrastruktu\u0159e Googlu, kter\u00fd je vyu\u017e\u00edv\u00e1 i pro v\u00fdvoj vlastn\u00edch produkt\u016f a reklamn\u00ed ekosyst\u00e9m. To nespl\u0148uje definici \u201evlastn\u00ed analytiky provozovatele\u201c. V\u00fdjimka bude pravd\u011bpodobn\u011b vyu\u017eiteln\u00e1 pro n\u00e1stroje jako Matomo (self-hosted), Piwik PRO nebo Plausible \u2014 \u0159e\u0161en\u00ed, kde data z\u016fst\u00e1vaj\u00ed pod plnou kontrolou provozovatele webu.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--50)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Shrnut\u00ed odchylek<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Zdroj nep\u0159esnosti<\/strong><\/th><th><strong>Odchylka<\/strong><\/th><th><strong>\u0158e\u0161en\u00ed<\/strong><\/th><\/tr><\/thead><tbody><tr><td>HLL++ (u\u017eivatel\u00e9)<\/td><td>\u00b11,6 %<\/td><td>BigQuery s COUNT DISTINCT<\/td><\/tr><tr><td>HLL++ (sessions)<\/td><td>\u00b13,3 %<\/td><td>BigQuery s COUNT DISTINCT<\/td><\/tr><tr><td>Ad blockery a tracking prevention<\/td><td>~10 %<\/td><td>Server-side tracking, vlastn\u00ed dom\u00e9na<\/td><\/tr><tr><td>Consent (chyb\u011bj\u00edc\u00ed souhlas)<\/td><td>30\u201360 %<\/td><td>Consent Mode v2 Advanced + modelov\u00e1n\u00ed<\/td><\/tr><tr><td>Sampling (Explorace)<\/td><td>5\u201330 %<\/td><td>BigQuery, krat\u0161\u00ed \u010dasov\u00fd rozsah<\/td><\/tr><tr><td>Thresholding<\/td><td>skryt\u00e9 \u0159\u00e1dky<\/td><td>Device-based reporting identity<\/td><\/tr><tr><td>Cardinality<\/td><td>seskupen\u00ed do \u201e(other)&#8220;<\/td><td>Explorace, BigQuery<\/td><\/tr><tr><td>Modelov\u00e1n\u00ed (consent)<\/td><td>des\u00edtky % rozd\u00edl on\/off<\/td><td>V\u011bd\u011bt, co m\u00e1te zapnut\u00e9<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button scroll_to_subscribe\"><a class=\"wp-block-button__link wp-element-button\" href=\"#\">Chci odeb\u00edrat novinky<\/a><\/div>\n\n\n\n<div class=\"wp-block-button linkedinShare\"><a class=\"wp-block-button__link wp-element-button\">Sd\u00edlet na LinkedIN<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ne. Tak si to poj\u010fme rozebrat. Nechci t\u00edm \u0159\u00edct, \u017ee GA4 je na odpis. M\u00edt GA4 data je po\u0159\u00e1d lep\u0161\u00ed ne\u017e nem\u00edt nic. Ale je t\u0159eba v\u011bd\u011bt, kde jsou limity. A kolik v\u00e1s ty limity stoj\u00ed. P\u0159edpokl\u00e1d\u00e1m, \u017ee m\u00e1te GA4 technicky spr\u00e1vn\u011b nasazen\u00e9 \u2014 \u017e\u00e1dn\u00e9 duplicitn\u00ed eventy, \u017e\u00e1dn\u00e9 chyb\u011bj\u00edc\u00ed tagy, \u017e\u00e1dn\u00e9 rozbit\u00e9 triggery. I tak [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":967,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,28],"tags":[],"class_list":["post-959","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digitalni-analytika","category-google-analytics-4"],"_links":{"self":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/comments?post=959"}],"version-history":[{"count":15,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/959\/revisions"}],"predecessor-version":[{"id":977,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/959\/revisions\/977"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/media\/967"}],"wp:attachment":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/media?parent=959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/categories?post=959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/tags?post=959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}