Měření e-shopu v GA4 od zobrazení produktu po nákup
Měření e-shopu v GA4 znamená posílat do Google Analytics 4 doporučené e-commerce události, od zobrazení produktu přes košík až po nákup, se správnými položkami, hodnotou a měnou. Data se berou z datové vrstvy e-shopu, která na Shoptetu vypadá jinak než na WooCommerce, a výsledek se ověřuje testovací objednávkou.
Text vznikl s pomocí umělé inteligence. Tvrzení o platformách vycházejí z oficiální dokumentace, na kterou článek odkazuje. Za obsah odpovídá Tomáš Hanus, webrocks.cz@gmail.com.
- Pro koho
- Pro provozovatele e-shopu na Shoptetu nebo WooCommerce, kteří chtějí v GA4 vidět nákupy, tržby a prodávané produkty a věřit těm číslům.
- Co dostanete
- Nastavené e-commerce události v GA4, písemnou definici hodnoty objednávky a záznam z testovací objednávky s tím, co přesně do GA4 odešlo.
- Cena
-
- Měření: Dle rozsahu
Orientačně podle ceníku. Cena závisí na rozsahu, konkrétní nabídku webrocks připraví podle zadání.
Co je měření e-shopu v GA4 a kdy dává smysl
Měření e-shopu v GA4 (e-commerce tracking) je nastavení, při kterém e-shop posílá do Google Analytics 4 události o tom, co zákazník dělá s produkty: prohlíží je, vkládá do košíku, začne objednávku a zaplatí. Každá událost nese položky, hodnotu a měnu, takže GA4 ukáže tržby, prodávané produkty i místa, kde lidé z nákupu odcházejí.
Google pro e-shopy doporučuje sadu událostí, hlavně tyto:
view_item_listaselect_item: výpis produktů a klik na produkt,view_item: zobrazení detailu produktu,add_to_cart,remove_from_cartaview_cart: práce s košíkem,begin_checkout,add_shipping_infoaadd_payment_info: kroky pokladny,purchase: dokončená objednávka,refund: vrácení peněz za celou objednávku nebo její část.
Úplný seznam i s parametry je v dokumentaci Googlu k e-commerce v GA4. Smysl to má, jakmile chcete vědět, které produkty se prohlížejí, ale nekupují, a kde se lidé ztrácejí v pokladně. Samotné GA4 a kontejner Google Tag Manageru (GTM) popisuje stránka o nastavení GA4 a Google Tag Manageru.
Pro koho se hodí a pro koho ne
Hodí se, pokud:
- máte e-shop na Shoptetu nebo WooCommerce a v GA4 nevidíte nákupy, nebo jim nevěříte,
- tržby v GA4 se liší od administrace víc, než umíte vysvětlit,
- měření se během let nasadilo několikrát (propojení, plugin, kód v šabloně) a nikdo neví, co z toho platí.
Nehodí se, pokud čekáte, že GA4 bude sedět s účetnictvím na korunu. To od měření v prohlížeči čekat nelze, důvody jsou popsané níže. Odesílání nákupů do reklamních systémů řeší stránka o měření konverzí Google Ads.
Jak měření probíhá
- Výchozí stav. Projde se, co už na e-shopu měří (propojení, pluginy, GTM, kódy v šabloně) a co se posílá dvakrát.
- Rozhodnutí o datech. Určí se události a co znamená hodnota objednávky: DPH, doprava, sleva.
- Datová vrstva. Datová vrstva (dataLayer) je objekt na stránce, ze kterého si měřicí značky berou údaje o produktech a objednávce. Ověří se, co v ní e-shop dává, a doplní se, co chybí.
- Události v GTM. Nastaví se události GA4 s parametry
items,value,currencya u nákuputransaction_id. Kontroluje se to v náhledovém režimu GTM. - Testovací objednávka. Co odešlo do GA4, se porovná s administrací e-shopu.
- Publikace. Změny jdou ven jako nová verze kontejneru, předchozí verzi jde znovu publikovat.
Co dostanete
- popis měřených událostí a jejich parametrů,
- písemnou definici hodnoty objednávky: co do ní patří a co ne,
- nastavené a publikované události v GA4,
- záznam z testovací objednávky: co odešlo do GA4 a jak to sedí s administrací,
- přehled vypnutých duplicitních měření, pokud nějaká byla.
Zkušenost s e-commerce daty má webrocks i z vývoje JavaScriptových knihoven pro jejich sběr.
Shoptet a WooCommerce: kde se data berou
Shoptet
Shoptet má podle nápovědy Shoptetu nativní propojení s GA4 (Propojení → Google → záložka Analytics), funkční jen na vlastní doméně. Podle stejné nápovědy posílá u plátců DPH tržbu bez DPH, dopravy a platby; dopravu a platbu včetně DPH posílá zvlášť.
Pro vlastní měření přes GTM Shoptet sám plní datovou vrstvu, ale ve vlastním formátu: objekt dataLayer[0].shoptet. Je v něm typ stránky, měna, košík, produkt a na děkovací stránce objednávka s číslem, cenou s DPH i bez, dopravou a položkami (dokumentace pro vývojáře). Stejná dokumentace popisuje helper getShoptetDataLayer() a událost ShoptetDataLayerUpdated, vyvolanou třeba po přidání do košíku.
Jestli Shoptet do datové vrstvy posílá i standardní GA4 události ve formátu ecommerce.items, oficiální dokumentace nepopisuje. Ověří se to na konkrétním e-shopu; kde chybí, sestaví se z objektu shoptet. Shoptet v nápovědě sám upozorňuje na duplicitní nasazení měření přes propojení, HTML kód a GTM a radí nechat jen jeden způsob.
Vzhled obchodu řeší úprava Shoptet šablony.
WooCommerce
WooCommerce sám datovou vrstvu pro GTM nenabízí. Doplnit ji jde například pluginem GTM4WP, který podle svého popisu do dataLayer posílá e-commerce události ve formátu GA4 a umí nastavit i výchozí stav Consent Mode v2. Druhá cesta je vlastní datová vrstva v kódu.
Pozor na podobné názvy. Google for WooCommerce je hlavně propojení s Google Merchant Center a kampaněmi a obsahuje značku pro konverze Google Ads. Na GA4 je samostatný plugin Google Analytics for WooCommerce. Když na jednom obchodě běží víc takových pluginů a k tomu GTM, snadno se stejný nákup odešle dvakrát.
Vzhled košíku a pokladny řeší úprava WooCommerce.
Na co si dát pozor
Hodnota objednávky je rozhodnutí
Dokumentace Googlu nepředepisuje, jestli value obsahuje DPH, dopravu a slevu. Ve vzorovém kódu ji počítá jako součet cena × množství za položky a daň a dopravu posílá zvlášť v parametrech tax a shipping. Rozhodnutí je na vás, ale musí platit všude: v GA4, v reklamních systémech i v reportech. Jinak srovnání ztrácí smysl. Podle referenční dokumentace událostí musí být u value vždy i currency, jinak se tržby nespočítají správně.
Duplicitní nákupy a transaction_id
Obnovení děkovací stránky nebo opakovaná návštěva může podle nápovědy Google Ads znovu spustit konverzní značku, a stejně tak může znovu odejít purchase. GA4 nákupy se stejným transaction_id deduplikuje, ale jen u webových dat, ne v aplikaci (nápověda GA4). Každá objednávka proto potřebuje vlastní ID, typicky číslo objednávky. Prázdné ID je chyba: GA4 všechny nákupy s prázdným transaction_id sloučí do jednoho. ID také nemá obsahovat nic, co identifikuje zákazníka.
Další časté chyby
- Chybějící
ecommerce: null. Google ve vzorovém kódu pro GTM před každou e-commerce událostí vyčistí předchozí objektecommerce. Jinak se mohou míchat položky z předchozí události. - Přepsaná datová vrstva. Podle dokumentace datové vrstvy se
window.dataLayerzakládá co nejvýš v kódu a nikdy se znovu nepřiřazuje, jinak se značky nemusí spustit. - Položky bez identifikace. Každá položka v
itemspotřebuje aspoňitem_idneboitem_name. - Měření bez ohledu na souhlas. Co se smí poslat podle volby v cookie liště, řeší Consent Mode v2.
Proč se tržby v GA4 neshodují s administrací
GA4 měří v prohlížeči, administrace počítá objednávky v databázi. Rozdíl je normální, jen musí být vysvětlitelný. Typické příčiny:
- Souhlas s cookies. Zákazník, který měření odmítne, v GA4 chybí, nebo se podle režimu Consent Mode objeví jen jako měření bez cookies.
- Blokátory. Blokátory reklam s filtrovacími seznamy jako EasyPrivacy odstraňují sledovací skripty. Nákup návštěvníka, kterému se měření nenačte, v GA4 chybí.
- Duplicity. Stejný nákup odeslaný dvakrát, třeba ze dvou souběžných měření, tržby naopak nafoukne.
- Refundace. Bez události
refund(stransaction_id, u částečné i s položkami) GA4 vrácené objednávky dál počítá. - Jiná definice hodnoty. Administrace ukazuje cenu s DPH a dopravou, GA4 třeba bez nich.
Cílem není nulový rozdíl, ale rozdíl, který znáte a který se v čase nemění skokem.
Kolik stojí měření e-shopu
V ceníku je měření uvedené „dle rozsahu“, orientační hodinová sazba z ceníku je od 500 Kč/hod. Cena závisí na rozsahu a složitosti projektu.
Cenu snižuje:
- funkční základ GA4, ke kterému se doplní košík a nákup,
- jedna měna a jedna jazyková verze,
- datová vrstva, která už potřebná data obsahuje.
Cenu zvyšuje:
- úklid po několika souběžných měřeních,
- celý trychtýř od výpisu produktů po platbu a refundace,
- víc měn, jazykových verzí nebo domén,
- vlastní datová vrstva tam, kde ji e-shop nedává.
Napište přes kontaktní formulář, na jaké platformě e-shop běží a co dnes měří. Odpověď na poptávku přijde do 24 hodin.
Časté otázky
Které události se v e-shopu měří?
Základ je view_item, add_to_cart, begin_checkout a purchase, podle potřeby i výpis produktů, kroky pokladny a refund. Další události mají smysl, jen když je budete vyhodnocovat.
Proč nesedí tržby v GA4 s administrací?
Kvůli souhlasu s cookies, blokátorům, duplicitám, refundacím a jiné definici hodnoty. Malý stálý rozdíl je normální, velký nebo kolísavý ukazuje na chybu.
Je potřeba plugin?
Na Shoptetu ne, datovou vrstvu plní sám. Na WooCommerce bez pluginu nebo vlastního kódu není, používá se například GTM4WP. Důležitý je jen jeden zdroj nákupů.
Jak ověřit měření testovací objednávkou?
Zapněte náhledový režim GTM, projděte nákup od detailu produktu po děkovací stránku a u purchase zkontrolujte transaction_id, value, currency a položky. Hodnotu porovnejte s administrací a děkovací stránku obnovte: v GA4 se má objednávka se stejným ID objevit jen jednou.
Započítávat do hodnoty DPH a dopravu?
Hodnota bez nich je blíž tomu, co e-shop vydělá, s nimi se snáz srovná s obratem v administraci. Nativní propojení Shoptetu u plátců DPH podle nápovědy Shoptetu posílá hodnotu bez DPH, dopravy a platby. Hlavní je zvolit jednu definici a držet ji všude.
Zdroje
- Google for Developers: Measure ecommerce
- Tag Manager Help: Preview and debug containers
- Tag Manager Help: Publishing, versions, and approvals
- Shoptet Podpora: Nastavení Google Analytics
- Shoptet Developers: Data Layer
- WordPress.org: GTM4WP plugin
- WooCommerce: Google for WooCommerce Documentation
- WordPress.org: Google Analytics for WooCommerce plugin
- Google for Developers: Recommended events
- Google Ads Help: Use a transaction ID to minimize duplicate conversions
- Analytics Help: Minimize duplicate key events with transaction IDs
- Google for Developers: Measure ecommerce (Tag Manager)
- Google for Developers: The data layer
- EasyList: Overview (EasyPrivacy)