Skip to content
BlogMěření a analytika4 min čtení

Jak správně navrhnout dataLayer pro e-commerce měření v GA4, Google Ads a Meta Ads

Dobrý dataLayer není seznam náhodných proměnných v GTM. Je to dohoda mezi webem, analytikou, reklamními systémy a vývojem.

Krátká odpověď

Dobrý dataLayer není seznam náhodných proměnných v GTM. Je to dohoda mezi webem, analytikou, reklamními systémy a vývojem. Pro e-commerce má nést stabilní obchodní data: ID produktu, cenu, množství, měnu, hodnotu, ID objednávky, položky a jednoznačný identifikátor události. Teprve z této vrstvy se mají mapovat události do GA4, Google Ads a Meta Ads.

Proč dataLayer řešit jako kontrakt, ne jako improvizaci

Největší chyba v e-commerce měření je spoléhat na to, že GTM „nějak vytáhne“ cenu z HTML, název produktu z nadpisu a ID objednávky z textu na děkovací stránce. Takové měření funguje do prvního redesignu, změny šablony nebo A/B testu. Správný dataLayer má být nezávislý na vzhledu stránky. Web do něj pošle strukturovaná data a GTM je pouze převezme, validuje a odešle dál.

V praxi to znamená, že vývojář nemá implementovat „GA4 kód“. Má implementovat datovou vrstvu s jasnými eventy. Marketing potom v GTM rozhodne, které platformy z daného eventu dostanou signál. Díky tomu lze jeden nákup poslat do GA4 jako purchase, do Google Ads jako nákupní konverzi a do Mety jako Purchase bez toho, aby každá platforma měla vlastní neudržovatelný snippet v šabloně.

Minimální návrh eventů

Pro běžný e-shop má smysl začít těmito eventy: view_item, add_to_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info a purchase. U každého eventu by mělo být pole items. U nákupu navíc transaction_id nebo order_id, value, currency a ideálně také event_id pro deduplikaci serverových a browserových událostí.

Ne každý e-shop potřebuje všechny mezikroky hned. Pokud je rozpočet malý a měření se staví poprvé, důležitější je mít neprůstřelný purchase a add_to_cart než deset polofunkčních eventů. U větších účtů ale mezikroky pomáhají analyzovat funnel, tvořit remarketingová publika a ladit produktový feed.

Doporučená struktura payloadu

DataLayer by měl posílat obchodní realitu, ne marketingové názvy. Produktové ID má odpovídat identifikátoru ve feedu a interním systému. Cena má být číslo, ne text „1 290 Kč“. Měna má být ISO kód, například CZK nebo EUR. Hodnota objednávky má být definovaná jednotně: ideálně hodnota položek bez dopravy a daně, zatímco shipping a tax se posílají samostatně tam, kde to platforma podporuje.

Pozor na kategorie. item_category až item_category5 v GA4 mají smysl jen tehdy, když je kategorie konzistentní. Pokud se jednou posílá „Boty > Dámské“ a jindy „damske-boty“, reporty budou vypadat technicky správně, ale analyticky budou rozbité.

Příklad dataLayer eventu

Ukázka není univerzální šablona pro každý e-shop, ale dobrý směr pro zadání vývojáři:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'ecommerce_purchase',
  event_id: 'ord_12345_purchase',
  ecommerce: {
    transaction_id: '12345',
    currency: 'CZK',
    value: 2580.00,
    shipping: 99.00,
    tax: 447.00,
    coupon: 'JARO10',
    items: [
      {
        item_id: 'SKU-001',
        item_name: 'Běžecké boty Alpha',
        item_brand: 'Alpha',
        item_category: 'Obuv',
        item_category2: 'Běh',
        price: 1290.00,
        quantity: 2
      }
    ]
  }
});

Co z toho mapovat do platforem

Do GA4 se mapují doporučené názvy eventů: ecommerce_purchase v dataLayeru se v GTM přepošle jako purchase. Do Google Ads se obvykle neposílá celý seznam položek, pokud nejde o specifickou implementaci s cart data, ale hodnota, měna a transaction_id jsou zásadní. Do Mety se posílá Purchase, hodnota, měna, content_ids, contents a event_id. Pokud používáte Pixel i Conversions API, event_id musí být shodné pro browserovou i serverovou verzi stejné události.

DataLayer by neměl obsahovat e-mail, telefon nebo jiné osobní údaje v čitelné podobě. Pokud se řeší enhanced conversions nebo advanced matching, pracuje se s tím řízeně, přes podporované mechanismy, hashing a s ohledem na souhlas a právní základ.

Kontrolní checklist před publikací

Každý event spusťte v GTM Preview a ověřte, že proměnné existují ve chvíli, kdy tag pálí. Ověřte, že purchase nevystřelí dvakrát po refreshi děkovací stránky. Ověřte, že transaction_id je unikátní. Ověřte, že item_id odpovídá feedu. Ověřte, že value a currency nejsou prázdné. Ověřte, že stejná objednávka má stejná čísla v e-shopu, GA4 a reklamních systémech s očekávanými rozdíly v atribuci.

Když se mění šablona e-shopu, dataLayer musí být součástí regresního testu. Jinak se může stát, že reklama běží dál, ale algoritmus se najednou učí z prázdných hodnot nebo duplicitních nákupů.

FAQ

Časté otázky

Další článek

GCLID FBCLID li_fat_id UTM parametry

GCLID, FBCLID, li_fat_id a UTM parametry: proč nejsou totéž a jak je neztratit

UTM parametry a click ID mají úplně jinou funkci. UTM je lidsky čitelný popis kampaně pro analytiku, reporting a sjednocení zdrojů.

Číst článekČíst článek

 
Hledáte 
 
někoho, kdo 
 
to vezme 
 
za vás? 

Chcete ověřit, jestli váš e-shop posílá do reklamních systémů správná data? Uděláme technický audit dataLayeru, GTM a konverzí.