{"id":13137,"date":"2026-09-22T12:45:00","date_gmt":"2026-09-22T10:45:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=13137"},"modified":"2026-09-09T13:25:45","modified_gmt":"2026-09-09T11:25:45","slug":"tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/","title":{"rendered":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen"},"content":{"rendered":"<p>Ein Shop schiebt seine Produktdaten als ein verschachteltes Objekt hinaus, denn so h\u00e4lt er sie ohnehin vor. Der Tag-Manager will flache Werte, einen je Variable, und die Br\u00fccke dazwischen ist eine Schreibweise mit Punkten darin.<\/p>\n<p>Diese Schreibweise erreicht alles. Was sie nicht sagt, ist, welcher der entstehenden Pfade auch im n\u00e4chsten Monat noch stimmt &#8211; und ungef\u00e4hr die H\u00e4lfte tut das nicht, aus einem Grund, der mit dem Tag-Manager nichts zu tun hat.<\/p>\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/datalayer-pfade-de.png\" width=\"1120\" height=\"580\" decoding=\"async\" loading=\"lazy\"\n     alt=\"Links ein verschachtelter dataLayer-Push, rechts seine flachen Punktpfade, jeder gekennzeichnet als stabil oder als abh\u00e4ngig von der Position eines Artikels in der Liste\"><figcaption>Jeder Wert ist erreichbar. Die Pfade, die \u00fcber einen Listenindex laufen, sind die, die falsch werden, sobald sich die Reihenfolge \u00e4ndert.<\/figcaption><\/figure>\n<h2>Wie ein verschachtelter Push ankommt<\/h2>\n<p>Ein \u00fcblicher E-Commerce-Push tr\u00e4gt drei Ebenen: das Ereignis, ein Objekt darunter und darunter eine Liste von Artikeln.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>dataLayer.push({\n  event: \"add_to_cart\",\n  ecommerce: {\n    currency: \"EUR\",\n    value: 129.90,\n    items: [\n      { item_id: \"SKU-42\", item_name: \"Stuhl\", price: 64.95, quantity: 2,\n        item_category: \"Moebel\", index: 0 },\n      { item_id: \"SKU-77\", item_name: \"Tisch\", price: 219.00, quantity: 1,\n        item_category: \"Moebel\", index: 1 }\n    ]\n  },\n  user: { logged_in: true, segment: \"b2b\" }\n});<\/code><\/pre>\n<p>Als Pfade ausgeschrieben enth\u00e4lt dieses Objekt einen Ereignisnamen, drei Werte unter <code>ecommerce<\/code>, zw\u00f6lf innerhalb der Artikelliste und zwei unter <code>user<\/code>. Jeder davon ist ansprechbar, und die Anschrift ist die mit Punkten verbundene Kette der Schl\u00fcssel.<\/p>\n<h2>Version 2 und der Punkt, der ein Trenner ist<\/h2>\n<p>Eine Datenschichtvariable im Tag-Manager hat eine Versionseinstellung, und diese bestimmt, wie der Name gelesen wird.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>Version 2:  ecommerce.currency          \u2192  \"EUR\"\n            ecommerce.items.0.item_id   \u2192  \"SKU-42\"\n            user.segment                \u2192  \"b2b\"\n\nVersion 1:  ecommerce.currency          \u2192  undefined\n            (die ganze Zeichenkette gilt als ein Schluessel)<\/code><\/pre>\n<p>Version 2 ist bei neuen Variablen voreingestellt und fast immer die richtige Wahl. Version 1 gibt es f\u00fcr einen bestimmten Fall: einen Schl\u00fcssel, der tats\u00e4chlich einen Punkt im Namen tr\u00e4gt. Ein Push mit <code>{\"page.type\": \"pdp\"}<\/code> ist nur mit Version 1 erreichbar, denn Version 2 suchte ein <code>type<\/code> in einem <code>page<\/code>, das es nicht gibt.<\/p>\n<p>Zwei Einzelheiten, die Zeit kosten, solange sie unbekannt sind. Der Pfad unterscheidet durchgehend Gross- und Kleinschreibung, <code>Ecommerce.Items<\/code> findet also nichts und meldet nichts. Und eine Variable ohne Vorgabewert liefert f\u00fcr einen fehlenden Pfad <code>undefined<\/code>, was in einem Tag zu einem leeren Parameter wird statt zu einem Fehler &#8211; ein vertippter Pfad sieht damit genauso aus wie ein Wert, der nie gesendet wurde.<\/p>\n<h2>Listen und warum der Index der br\u00fcchige Teil ist<\/h2>\n<p>Der Schritt in eine Liste ist eine Zahl, und diese Zahl ist eine Position und keine Kennung.<\/p>\n<table style=\"width:100%;border-collapse:collapse;table-layout:auto;\">\n<thead>\n<tr>\n<th style=\"vertical-align:top;\">Pfad<\/th>\n<th style=\"white-space:nowrap;vertical-align:top;\">Stabil?<\/th>\n<th style=\"vertical-align:top;\">Warum<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">ecommerce.currency<\/td>\n<td>ja<\/td>\n<td>Ein benannter Schl\u00fcssel in fester Tiefe<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">ecommerce.value<\/td>\n<td>ja<\/td>\n<td>Ebenso<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">user.segment<\/td>\n<td>ja<\/td>\n<td>Ebenso<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">ecommerce.items.0.item_id<\/td>\n<td>nein<\/td>\n<td>Position 0 ist der Artikel, der zuf\u00e4llig vorn steht<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">ecommerce.items.1.price<\/td>\n<td>nein<\/td>\n<td>Fehlt vollst\u00e4ndig in einem Warenkorb mit einem Artikel<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die zweite Zeile der unteren H\u00e4lfte erzeugt den stillen Schaden. In einem Warenkorb mit einem Artikel gibt es <code>items.1<\/code> nicht, die Variable bleibt leer, und das Tag sendet einen Parameter ohne Wert. Nichts schl\u00e4gt fehl, und der Bericht zeigt eine etwas kleinere Zahl als der Shop.<\/p>\n<p>Ein Indexpfad ist in genau einer Lage vertretbar: auf einer Seite, die immer genau einen Artikel f\u00fchrt, etwa einer Produktdetailseite. \u00dcberall sonst &#8211; Warenkorb, Kasse, Kauf &#8211; ist die Anzahl der Artikel ver\u00e4nderlich und ihre Reihenfolge ebenso.<\/p>\n<h2>Die Zusammenf\u00fchrung, um die niemand gebeten hat<\/h2>\n<p>Die Datenschicht ist keine Liste von Nachrichten. Der Tag-Manager f\u00fchrt ein zusammengef\u00fchrtes Modell aller bisherigen Pushes, und ein neuer Push wird hineingef\u00fchrt statt es zu ersetzen.<\/p>\n<p>Die Folge ist bestimmt und unangenehm. Eine Seite, die erst ein <code>view_item<\/code> mit einem Artikel und danach ein <code>add_to_cart<\/code> mit einem anderen schiebt, l\u00e4sst die Werte des ersten Artikels \u00fcberall dort stehen, wo der zweite Push sie nicht \u00fcberschreibt. Auf eine Artikelliste der L\u00e4nge drei folgt eine der L\u00e4nge eins, und heraus kommt eine zusammengef\u00fchrte Liste der L\u00e4nge drei, mit zwei Eintr\u00e4gen aus dem vorigen Ereignis.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>dataLayer.push({ ecommerce: null });   \/\/ raeumt den Zweig\ndataLayer.push({\n  event: \"add_to_cart\",\n  ecommerce: { currency: \"EUR\", value: 64.95, items: [ \/* \u2026 *\/ ] }\n});<\/code><\/pre>\n<p>Der r\u00e4umende Push geh\u00f6rt ausnahmslos vor jeden E-Commerce-Push und ist die h\u00e4ufigste Auslassung in einer Shop-Anbindung. Seine Wirkung ist in der Vorschau sichtbar: Die Nachrichtenansicht zeigt, was geschoben wurde, die Modellansicht zeigt, was eine Variable tats\u00e4chlich lesen wird &#8211; und der Unterschied zwischen beiden ist genau dieses Problem.<\/p>\n<h2>Eine Variable statt zwanzig<\/h2>\n<p>Wo eine ganze Liste gebraucht wird, ist die Antwort nicht zwanzig Indexpfade. Sie ist eine eigene JavaScript-Variable, die die Liste liest und zur\u00fcckgibt, was das Tag braucht.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>function () {\n  var artikel = {{DLV - ecommerce.items}};\n  if (!Array.isArray(artikel) || !artikel.length) { return undefined; }\n\n  return artikel.map(function (a) {\n    return {\n      item_id:       String(a.item_id || a.id || \"\"),\n      item_name:     String(a.item_name || a.name || \"\"),\n      price:         Number(a.price) || 0,\n      quantity:      Number(a.quantity) || 1,\n      item_category: String(a.item_category || \"\")\n    };\n  }).filter(function (a) { return a.item_id !== \"\"; });\n}<\/code><\/pre>\n<p>Drei Dinge bringt das \u00fcber die Unempfindlichkeit gegen die Reihenfolge hinaus. Es vereinheitlicht die Feldnamen, sodass ein Shop, der auf einer Seite <code>id<\/code> und auf einer anderen <code>item_id<\/code> sendet, weiter unten eine einzige Form erzeugt. Es erzwingt die Typen, womit ein Preis, der als Zeichenkette <code>\"64.95\"<\/code> ankommt, aufh\u00f6rt ein Problem zu sein. Und es verwirft Artikel ohne Kennung, die GA4 ohnehin verwerfen w\u00fcrde &#8211; nur eben stillschweigend.<\/p>\n<p>Die Variable, die es liest, ist eine gew\u00f6hnliche Datenschichtvariable auf <code>ecommerce.items<\/code>, ohne Index. Dieser Pfad ist stabil, denn er benennt einen Schl\u00fcssel und keine Position.<\/p>\n<h2>In der Vorschau nachsehen<\/h2>\n<p>Zwei Ansichten der Vorschau kl\u00e4ren alles bisher Besprochene, und sie lassen sich leicht miteinander verwechseln.<\/p>\n<p>Die Nachrichtenansicht zeigt den Push genau so, wie die Seite ihn gesendet hat. Die Modellansicht zeigt den zusammengef\u00fchrten Zustand, den eine Variable in diesem Augenblick liest. Ein Wert, der in der zweiten steht und in der ersten fehlt, ist ein \u00dcberbleibsel eines fr\u00fcheren Pushes &#8211; das R\u00e4umproblem -, und ein Wert in der ersten, der in der zweiten fehlt, wurde meist von einem sp\u00e4teren Push \u00fcberschrieben.<\/p>\n<p>Die dritte Ansicht, der Variablenbereich des gew\u00e4hlten Ereignisses, zeigt, was jede eingerichtete Variable tats\u00e4chlich zur\u00fcckgab. Ein <code>undefined<\/code> dort ist die Antwort auf fast jede Frage nach einem fehlenden Parameter, und es trennt die beiden m\u00f6glichen Ursachen: Der Pfad ist falsch, oder der Wert wurde nie geschoben. Der Vergleich der Variablen gegen die Modellansicht trennt das in Sekunden.<\/p>\n<p>Eine letzte Gewohnheit verhindert die m\u00fchsamste Fehlerklasse. Ein Pfad aus dem Quelltext einer Seite ist kein Pfad aus der Datenschicht &#8211; ein Shop-Plugin kann Schl\u00fcssel zwischen Vorlage und Push umbenennen, und ein \u00fcbersetzter Shop \u00fcbersetzt sie gelegentlich mit. Der Pfad geh\u00f6rt aus der Modellansicht eines echten Ereignisses kopiert, nicht aus der Dokumentation abgetippt.<\/p>\n<div class=\"lw-quellen\">\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/datalayer\" target=\"_blank\" rel=\"noopener noreferrer\">The data layer<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\" target=\"_blank\" rel=\"noopener noreferrer\">Google Tag Manager documentation<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die Punktnotation erreicht jeden Wert in einem verschachtelten Push, und die H\u00e4lfte dieser Pfade bricht, sobald sich die Reihenfolge einer Liste \u00e4ndert. Welche H\u00e4lfte das ist, l\u00e4sst sich vorher entscheiden &#8211; und eine eigene Variable ersetzt zwanzig der br\u00fcchigen.<\/p>\n","protected":false},"author":1,"featured_media":13250,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115],"tags":[92145,92268,92032,92235],"class_list":["post-13137","post","type-post","status-publish","format-standard","hentry","category-tutorials-de","tag-google-tag-manager-de","tag-javascript-de","tag-tracking-de","tag-tutorial-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-22T10:45:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen\",\"datePublished\":\"2026-09-22T10:45:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/\"},\"wordCount\":958,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png\",\"keywords\":[\"Google Tag Manager\",\"JavaScript\",\"Tracking\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/\",\"name\":\"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png\",\"datePublished\":\"2026-09-22T10:45:00+00:00\",\"description\":\"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog","description":"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog","og_description":"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-22T10:45:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen","datePublished":"2026-09-22T10:45:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/"},"wordCount":958,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png","keywords":["Google Tag Manager","JavaScript","Tracking","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/","name":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png","datePublished":"2026-09-22T10:45:00+00:00","description":"Verschachtelte Pushes mit Punktnotation lesen, stabile von indexabh\u00e4ngigen Pfaden trennen und die Zusammenf\u00fchrung verstehen, die alte Werte zur\u00fcckbringt.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13137-tutorial-aus-einem-verschachtelten-datal.png","width":1200,"height":630,"caption":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-aus-einem-verschachtelten-datalayer-haltbare-gtm-variablen-bauen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Aus einem verschachtelten dataLayer haltbare GTM-Variablen bauen"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=13137"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13137\/revisions"}],"predecessor-version":[{"id":17339,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13137\/revisions\/17339"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13250"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=13137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=13137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=13137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}