Datová vrstva
JavaScript objekt pro přenos dat z webu do GTM/GA4
Co je datová vrstva
Datová vrstva (data layer) je JavaScriptový objekt na webu, kterým stránka předává Google Tag Manageru informace o tom, co se právě stalo a s jakými hodnotami. Technicky jde o pole dataLayer, do kterého web zapisuje jednotlivé záznamy metodou push.
Jeden takový záznam vypadá zhruba takhle:
dataLayer.push({event: 'purchase', transaction_id: '2026-1043', value: 1290, currency: 'CZK'});
GTM ten zápis zachytí, název události použije jako spouštěč a jednotlivé hodnoty si přes proměnné vytáhne do tagů. Do GA4 i do konverze Google Ads pak odejde stejné číslo, protože pochází ze stejného zdroje. Vedlejší přínos, který doceníte při první reklamaci dat.
Proč se bez ní měření dřív nebo později rozpadne
Alternativa je tahat hodnoty rovnou z vykreslené stránky přes selektory: cenu z prvku s třídou price, číslo objednávky z nadpisu. Chvíli to jde. Pak přijde nová šablona, třída se přejmenuje, cena dostane pevnou mezeru mezi tisíci a měření začne hlásit nulu. Nikdo si toho nevšimne celé týdny, dokud někdo neporovná tržby v GA4 s fakturací.
Dohoda mezi vývojářem a marketérem
Datová vrstva je rozhraní a jako každé rozhraní se domlouvá předem, ne až v momentě, kdy měření nefunguje. Zápis nemusí být dlouhý: názvy událostí, názvy a datové typy parametrů, okamžik odeslání a chování na stránkách, kde data nejsou. Pro e-shopy má GA4 vlastní pojmenování událostí (view_item, add_to_cart, begin_checkout, purchase) i strukturu položek, takže vymýšlet vlastní názvosloví nemá smysl; podrobněji ho popisuje rozšířené měření e-commerce.
Spor o načasování zápisu
S vývojáři se nejčastěji dohaduji o načasování. Zápis do datové vrstvy proběhne dřív, než se stihne načíst kontejner, nebo naopak až po odeslání události, a tag si pak sáhne pro hodnotu, která tam ještě není. Než začneme řešit obsah, chci proto v režimu náhledu vidět jedinou věc: jestli je pole naplněné v tu vteřinu, kdy se spouští tag.