dataLayer
DataLayer je javascriptová proměnná, která v analytice slouží k předávání dat do Google Tag Manageru (GTM). Do češtiny se někdy překládá jako datová vrstva, ale analytici mu říkají prostě dataLayer
Můžete jej využít například v Google Tag Manageru.
Jak zapnout dataLayer
DataLayer zapnete v administraci eshopu (horní menu - nastavení - nastavení - vlevo záložka dataLayer). Pokud chcete povolit tuto verzi dataLayeru, vyberte v nastavení "Generovat DataLayer" hodnotu "Ano, (verze 2022)"
Pokud si chcete dataLayer nejprve otestovat (nechcete, aby se zasílal nějakému měřícímu scriptu), můžete změnit jeho název (Pokud do tohoto pole zadáte "mujTestovaciDatalayer", bude dataLayer bude uložen v proměnné "mujTestovaciDatalayer")
Kompatibilita s GTAG
Pokud máte ve svém eshopu nasazen zároveň i GTAG (nebo jste přímo do kódu eshopu nasadili Google Anlaytics, Google Ads, nebo jinou službu, která GTAG automaticky zapne), musíte mít na paměti, že GTAG také využívá proměnnou, která se jmenuje dataLayer.
Oficiální informace od Google je, že takovéto nasazení sice může fungovat, ale nejspíše bude dělat problémy (např. některé události nebo objednávky budou v datech 2x; jednou z dataLayeru a jednou z GTAGu). To může mít zásadní vliv na přesnost měření a vyhodnocování vašich kampaní.
Protože dataLayer by měl sloužit primárně pro Tag Manager, přidali jsme do eshopu nastavení, které umožní přejmenovat název proměnné, ve které je dataLayer uložen. Stejně tak můžete změnit, z jaké proměnné načítá informace dataLayer. (Oboje najdete v administraci: horní menu - nastavení - nastavení - vlevo záložka dataLayer potažmo záložka Google Tag Manager)
Příklad - produkt s variantami
Než přejdeme k popisu samotného dataLayeru, je třeba pochopit následující příklad:
Návštěvník si prohlíží produkt "Vánoční svetr". Tento produkt je k dispozici ve třech velikostech (S, M, L) a dvou barvách (zelená, červená).
Stejně jako má tento svetr svůj kód (P1), má i každá varianta svůj kód (P11, P12, P13...)
Všechny varianty tohoto produktu se posílají do XML Feedu Google, Zboží, Heureka a další. Tyto vyhledávače však vyžadují, aby se jim posílaly pouze varianty, ne nadprodukt. V XML feedu tak nenajdete položku s kódem P1, ale pouze P11, P12, P13 atd...
otázka: jak nastavíte reklamní kampaně, aby se při prohlížení produktu P1 zobrazila reklama na produkt P11? P1 totiž ve feedu být nesmí.
eccomerceItem - JSON jednoho produktu
Níže na stránce najdete v jednotlivých příkladech uvedeno, že daný záznam obsahuje "eccomerceItem". V takovém případě je v této položce uvedena informace o jednom produktu.
Specifikace JSONu jednoho produktu
{
brand: "Adidas"
brand_id: 1
category_id: 73
category_id_path: (2) [-2147483647, 73, 26, 84]
category_name: "Svetry"
category_name_path: (2) ["Oblečení", "Pánské", "Zimní", "Svetry"]
code: ["P1","P11","P12","P3","P14","P15"]
id: [1,11,12,13,14,15]
name: ["Pánský svetr"]
variant_code: "P11"
variant_id: 11
variant_name: "Pánský svetr Červený L"
price: 8608.7
price_vat: 9900
vat: 15
amount: 2
amount_unit:"Ks",
amount_unit_id:1,
sum_price:17217,4,
sum_price_vat:1980,
}
Hodnota | Popis |
brand | Název značky |
brand_id | ID značky (z číselníku v administraci) |
category_id | ID kategorie, ve které je produkt zařazen |
category_id_path | Cesta ve stromu kategorií. |
category_name | Název kategorie, ve které je produkt zařazen |
category_name_path | Cesta ve stromu kategorií |
code | Kód produktu |
id | ID produktu |
variant_code | Kód vybrané varianty. Pokud nemá produkt varianty (nebo varianta ještě nebyla zákazníkem vybrána), je zde kód nadproduktu. |
variant_id | ID vybrané varianty. Pokud produkt nemá varianty (nebo varianta ještě nebyla zákazníkem vybrána), je zde ID nadproduktu. |
variant_name | Název vybrané varianty. Pokud produkt nemá varianty (nebo varianta ještě nebyla zákazníkem vybrána), je zde název nadproduktu. |
price | Cena BEZ dph |
price_vat | Cena S dph |
vat | DPH (procenta) |
Hodnoty, které jsou dostupné jen v události binargon_purchase | |
amount | počet kusů |
amount_unit:"Ks" | Jednotka, v jaké se produkt prodává (Ks, Litry, m2..). Tato hodnota může být v každém jazyce jiná, proto doporučujeme použít amount_unit_id |
amount_unit_id:1 | ID jednotky, ve které se produkt prodává. |
sum_price:17217,4 | Suma ceny bez DPH za všechny kusy BEZ dph |
sum_price_vat:1980 | Suma ceny bez DPH za všechny kusy S dph |
Eventy
tak jak uživatel pracuje s webem, jsou do dataLayeru posílány jednotlivé události (např. prohlížení detailu produkt, prohlížení košíku, objednávka). DataLayer podporuje tyto události
event binargon_page_view
Tento event se posílá při návštěvě jakékoli stránky
{
_clear:true,
"event":"binargon_page_view",
"binargon":{
"type":"home",
"currency":"CZK",
"fce":1
}
}
Funkce (fce) a typy stránek (type)
fce | type | popis |
1 | home | homepage |
2 | searchresults | Hledáni |
2 | category | Výpis kategorie |
3 | brand | Stránka výpisu výrobce |
5 | user-registration | Stránka s registračním formulářem |
6 | product | Detail produktu |
7 | favorites | Oblíbené produkty |
8 | cart | Košík |
9 | cart | Košík a nákupní proces |
11 | orders-history | Historie objednávek |
20 | login-and-forgotten-password | Stránka s formulářem pro zaslání zapomenutého hesla |
23 | user-personal-settings | Osobní nastavení uživatele |
24 | searchresults | Jiná verze hledání (dnes již zastaralá) |
28 | watchdog | Hlídací pes přehled |
29 | textpage | Textová stránka |
30 | wish-book | Kniha přání |
33 | product-comparison | Porovnání produktů |
34 | sitemap | Mapa stránek |
36 | text-news | Textové novinky |
38 | warranty-claim | Reklamace |
41 | product-reviews-list | Výpis všech recenzí všech produktů (recenze produktů) |
42 | add-new-product-review | Založení nové recenze |
44 | user-password-reset | Reset uživatelského hesla |
45 | hidden-or-deleted-product | Stránka skrytého nebo smazaného produktu (eshop může mít nastaveno, že skryté produkty se zobrazí, ale bez možnosti koupit je) |
41 | web-reviews-list | Výpis všech recenzí tohoto eshopu (hodnocení eshopu, spokojenosti s nákupem) |
event binargon_view_item
Tento event se posílá pokaždé, pokud uživatel prohlíží detail jednoho produktu
{
"event": "binargon_view_item",
"binargon": {
"list_name": "product_detail",
"items": [eccomerceItem]
}
}
event binargon_view_item_list
Tento event se posílá pokaždé, pokud uživatel prohlíží seznam produktů
{
"event": "binargon_view_item_list",
"binargon": {
"list_name": "souvisejici_1",
"items": [eccomerceItem, eccomerceItem, eccomerceItem]
}
}
event binargon_view_cart
Tento event se posílá pokaždé, pokud uživatel prohlíží obsah košíku, resp. jednotlivé kroky nákupního procesu
{
"event": "binargon_view_cart",
"binargon": {
"list_name": "basket",
"items": [eccomerceItem, eccomerceItem]
}
}
event binargon_purchase
Tento event nastane při dokončení objednávky
{
"event": "binargon_purchase",
"binargon": {
"discount_price": 8.26,
"discount_price_vat": 10,
"discount_vat": 21,
"discount_coupon": [],
"items": [eccomerceItem, eccomerceItem, eccomerceItem, eccomerceItem],
"items_other": [eccomerceItem, eccomerceItem],
"payment": "Dobírka",
"payment_id": 1,
"payment_type": "0",
"payment_cashPayment": true,
"shipping": "Osobní odběr",
"shipping_id": 8,
"shipping_type": "P_1",
"shipping_price": 82.64,
"shipping_price_vat": 100,
"shipping_vat": 21,
"transaction_id": 15784,
"transaction_code": "114781",
"transaction_secretURL": "http://www.xmlshop.cz/objednavky/?objlist=15784&allowOrderShow=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"user_id": 9108,
"user_country": "CZ",
"sum_price": 595.04,
"sum_price_vat": 720,
}
}
Záznam | popis |
discount_price | Výše slevy bez DPH |
discount_price_vat | Výše slevy S DPH |
discount_vat | Absolutní částka DPH |
discount_coupon | Seznam použitých slevových kupónů |
items | seznam objednaných produktů |
items_other | další objednané položky, které nejsou produktem. Na tyto položky nemůžete vytvořit reklamní kampaň, nejedná se o položky, které mají URL adresu. |
payment | Použitá platba (v každém jazyce se může název lišit, proto je lepší použít payment_id) |
payment_id | ID použité platby |
payment_type | Např. kód platební brány |
payment_cashPayment | Informace, zda je použitá platba hotovostní platbou. |
shipping | Název použité dopravy |
shipping_id | ID použité dopravy |
shipping_type | Typ použité dopravy |
shipping_price | Cena (bez DPH) použité dopravy |
shipping_price_vat | Cena (s DPH) použité dopravy |
transaction_id | ID objednávky |
transaction_code | Kód objednávky |
transaction_secretURL | URL adresa objednávky. Na tuto adresu lze přejít, i když uživatel není přihlášen. |
user_id | ID uživatele, který vytvořil objednávku |
user_country | Země uživatele, který vytvořil objednávku |
sum_price | Celková cena za celou objednávku, včetně dopravy a platby (bez DPH) |
sum_price_vat | Celková cena za celou objednávku, včetně dopravy a platby (s DPH) |
event binargon_actual_consent
Tento event nastane na každé stránce a obsahuje seznam souhlasů, které jsou při generování stránky povolené, nebo zamítnuté
To, které službě které ID odpovídá, najdete v administraci svého eshopu (v modulu Souhlasy)
{
"event":"binargon_actual_consent",
"binargon":{
"granted":["34","52","59","69"],
"not_granted":["5","6"]
}
}
Záznam | popis |
granted | Seznam ID všech souhlasů, které byly uděleny |
not_granted | Seznam ID všech souhlasů, které byly zamítnuty |
event binargon_consent_update
Tento event nastane při schválení nebo zamítnutí souhlasu (i částečném)
Protože uživatel může udělit souhlas jen některým službám, je při změně poslán seznam ID souhlasů, které jsou po aktuálním eventu povoleny a zakázány
To, které službě které ID odpovídá, najdete v administraci svého eshopu (v modulu Souhlasy)
{
"event": "binargon_consent_update",
"binargon": {
"granted": ["34","52","59","69"],
"grantedSystemId": ["commonZbozi2016","gtag_security_storage"],
"not_granted": ["28","29","33","41","42","45","46","53","56","57","65","68","70"],
"not_grantedSystemId": ["gtag_ad_storage","gtag_personalization_storage","sambaAI"]
}
}
Záznam | popis |
granted | Seznam ID všech souhlasů, které byly uděleny |
grantedSystemId | Seznam systémových ID všech souhlasů, které byly uděleny |
not_granted | Seznam ID všech souhlasů, které byly zamítnuty |
not_grantedSystemId | Seznam systémových ID všech souhlasů, které byly zamítnuty |
Externí vs Vložený dataLayer
Z důvodu výkonu je většina eventů vkládaných pomocí externího scriptu (javascriptový kód, který do proměnné dataLayer doplňuje nové záznamy je načítán z externí adresy, jeho kód není vložen přímo do kódu stránky). Nenajdete jej tedy ve zdrojovém kódu stránky
Přímo do těla stránky jsou vloženy pouze tyto eventy (pouze tyto eventy najdete ve zdrojovém kódu):
- binargon_page_view
- binargon_actual_consent
- binargon_purchase