A dataLayer egy globális JavaScript-tömb az oldalon, amin keresztül a weboldal adatokat és eseményeket ad át a tag-kezelő rendszernek. Nem mérőeszköz, hanem adatcsatorna: a kód beleír, a Google Tag Manager pedig kiolvassa és továbbítja a címkéknek.
Hogyan működik
A dataLayer tömböt a GTM-konténer betöltése előtt kell létrehozni. Ezután a kód dataLayer.push() hívásokkal küld bele objektumokat. Egy push kétféle dolgot tartalmazhat:
- változó: adat, amit a címkék felhasználnak (pl.
user_type, page_category, value)
- event: esemény-név, ami triggert indít a tag-kezelőben (pl.
purchase, generate_lead)
A GTM a push pillanatában lefagyasztja az aktuális állapotot, és az arra beállított triggerek elsülnek. Ami korábban bekerült a tömbbe, az később is elérhető marad.
Miért számít a mérésnek
A GA4 e-commerce események gyakorlatilag mind dataLayer-alapúak. A view_item, add_to_cart, begin_checkout és purchase előírt szerkezetű items tömböt vár. Ha a szerkezet elcsúszik, a riportokban nulla bevétel vagy hiányzó terméknév lesz belőle.
A riportokban gyakran azt látjuk, hogy a GTM ott van az oldalon, de dataLayer push egyáltalán nincs. Ilyenkor a mérés kimerül az oldalletöltésben, konverzió nincs.
Mit jelent az AI és a keresők felől
A dataLayer nem SEO-eszköz. Nem indexelhető tartalom, a keresőrobotok és az AI-crawlerek nem olvassák ki belőle a termékadatot. Aki terméknevet, árat vagy készletet csak dataLayerbe tesz, gép számára láthatatlanul teszi: arra a strukturált adat és a JSON-LD való. Van viszont közvetett hatása: a felesleges push-ok és a mögöttük futó szkriptek növelik a TBT és az INP értékét.
Röviden: a dataLayer a saját kódod és a tag-kezelő közötti szerződés, amiben a mezőnevek és az esemény-nevek pontosan számítanak.
Miért fontos
Mérés nélkül nincs döntés
A dataLayer hiánya azt jelenti, hogy nem tudod, melyik kampány hoz vásárlást. A hirdetési költés optimalizálása ilyenkor találgatás. A Google Ads és a Meta konverzió-visszajelzés nélkül rosszabb ajánlatot ad.
Az e-commerce riportok erre épülnek
A GA4 bevétel-riportjai, a termék-teljesítmény és a kosárelhagyási arány mind a dataLayer push-okból jön. Egyetlen elgépelt mezőnév elég, hogy egy teljes riport üres legyen.
Jogi kockázat
A dataLayer-be írt adat gyakran személyes adat: e-mail, telefonszám, rendelésazonosító. Ha ez hozzájárulás előtt továbbmegy egy külső szolgáltatóhoz, az hozzájárulás előtti követés. A Consent Mode éppen ezt hivatott kezelni.
Sebesség
Minden push szinkron feldolgozást indít a GTM-ben. Túl sok esemény, főleg scroll- és egérmozgás-alapú, mérhetően rontja az INP értékét mobilon.
Technikai példa
Helyes inicializálás, a konténerkód előtt, a <head> tetején:
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
"page_type": "product",
"user_logged_in": false
});
</script>
<!-- Google Tag Manager konténerkód ide jön -->
GA4-kompatibilis kosárba tétel esemény. A currency ISO-kód, az árak számok:
{
"event": "add_to_cart",
"ecommerce": {
"currency": "HUF",
"value": 12990,
"items": [
{
"item_id": "SKU-4417",
"item_name": "Tolmacs fejhallgato",
"item_category": "Audio",
"price": 12990,
"quantity": 1
}
]
}
}
Gyors ellenőrzés a böngésző konzoljában. Kiírja az összes eddigi esemény nevét:
dataLayer.map(function(e) { return e.event; })
Ha a válasz csak gtm.js, gtm.dom és gtm.load elemeket tartalmaz, saját mérés nincs az oldalon.
Gyakori kérdések
Kell dataLayer, ha csak a GA4 alapmérést használom?
Ha csak oldalletöltést akarsz mérni, nem kell. A GA4 alapból méri az oldalmegtekintést, a görgetést és a kimenő kattintásokat. Amint konverziót, űrlapbeküldést vagy vásárlást is mérnél, dataLayer nélkül nem jutsz megbízható adathoz.
A dataLayer segít a Google-rangsorolásban?
Nem. A keresőrobotok nem használják rangsorolásra, terméktartalmat sem olvasnak ki belőle. A gépi értelmezhetőséghez
JSON-LD strukturált adat kell. Közvetve annyi a hatás, hogy a sok push lassíthatja az oldalt.
Mi a különbség a dataLayer és a GTM között?
A dataLayer az adat, a
GTM a feldolgozó. A dataLayer egy tömb, ami önmagában semmit nem küld sehova. A GTM olvassa ki belőle az értékeket, és dönti el, melyik címke sül el.
Tehetek e-mail címet a dataLayerbe?
Technikailag igen, jogilag kockázatos. Ha személyes adat kerül bele, az minden GTM-ben futó címke számára elérhető lesz. Ha mindenképp szükséges, SHA-256 hash-elve add át, és csak érvényes hozzájárulás után.
Miért nulla a bevétel a GA4-ben, ha a purchase esemény látszik?
A leggyakoribb ok, hogy a value mező szövegként érkezik, vagy hiányzik a currency. Nézd meg a GA4 DebugView-ban a paraméterek típusát. A másik tipikus ok az elcsúszott items szerkezet.