Wenn du bereits mit dem Google Tag Manager gearbeitet hast, bist du über die folgenden drei Dinge gestolpert: Tags, Triggers und Variablen. Eine zusätzliche „Funktion“, die oftmals vergessen, nicht gesehen oder einfach als nicht greifbar erscheint, ist die Data Layer oder auch Datenschicht genannt.

Was genau ist eine „Datenschicht“ (Engl: Data Layer)?

Es ist ein JavaScript Feld, das benutzt wird um alle wichtigen Schlüsselattribute in einer Webseite zu verstauen. Schlüsselattribute sind:

  • Webseiten Namen, Webseiten URL, Author eines Posts, etc.
  • Aber auch: User ID, Product ID, Product Price, Purchase Value

Was bringen dir diese Informationen für deinen Shop?

Um es auf den Punkt zu bringen, für einen E-Commerce Shop ist dies eines der wichtigsten Conversion Tracking Details überhaupt! Denn: Wenn Du z.B. Kampagnen über Facebook oder Google Ads laufen hast, möchtest du natürlich wissen, wie viel Umsatz pro Converion pro Keyword pro Anzeige gemacht wird. Mit dem Wissen kannst du die profitablen von den un-profitablen Keywords trennen. Das spiegelt sich dann im „Conversion Wert“ wieder.

Hier ein Praxis-Beispiel: Durch die Verwendung von Data Layer kannst du nun automatisch alle Conversion-Werte auf der Website auslesen und in alle Marketing-Kanäle (Google Ads / Facebook Ads) zurück spielen lassen. Ebenso kannst du damit natürlich auch deine Google Analytics Daten anreichern…und plötzlich siehst du deine nackten Zahlen! Ist das nicht schön? 🙂

Den Conversion-Wert aller Bestellungen über unterschiedliche Facebook-Ads-Kampagnen:

Und als Vergleich dazu die Conversion-Werte über Google Ads Kampagnen. Das gibt dir 100%ige Transparenz über den Erfolg deiner Marketing-Kampagnen!

„Das ist ja schön und gut, aber ich bin absolut kein Technik-Freak um sowas bei mir auf der Seite einzurichten?!“

Das Schöne daran ist, wenn du einmal das Prinzip verstanden hast, fällt es dir gar nicht so schwer, dies in deinem eigenen E-Commerce Shop anzuwenden. Alles was du dafür brauchst, ist nicht mehr als dein Google Tag Manager Account, den „Vorschau Modus“ im Google Tag Manager Backend und natürlich deinen Webshop.

Gehen wir doch einfach mal Schritt für Schritt für den Einrichtungs-Prozess. Du wirst sehen es ist einfach und *hoffentlich* nachvollziehbar!

Hinweis: Die prinzipielle Einrichtung des Google Tag Managers findest du hier >

Schritt 1: Data Layer Plugin für WordPress / Woocommerce installieren

Für das Erzeugen eines Data Layers in deinem Shop benötigst du ein Plug-In, das dir die Daten aufbereitet. Das folgende Plug-In kann ich dir wirklich wärmstens empfehlen:

Nachdem du es installiert hast, geh bitte über EINSTELLUNGEN > GOOGLE TAG MANAGER FOR WORDPRESS und gib hier deine GTM ID ein.

Gehe dann über Integration zum Reiter WooCommerce und aktiviere dort die beiden Kästchen. Damit wird gewährleistet, dass du über WooCommerce an deine Daten kommst.

Nachdem du dies erfolgreich eingerichtet hast, gehe in den Google Tag Manager und versetze deinen Shop in den PREVIEW Modus. Ich möchte dir hier einmal zeigen, was du für zusätzliche Daten bekommst, wenn du die beiden Häkchen aus dem Plug-In aktiviert hast. Achte dabei auf die RECHTE Spalte:

VORHER:

NACHHER MIT DER AKTIVIERUNG DES PLUG-INS:

Fazit: Wie du sehen kannst, gibt es viel mehr relevante Daten, die wir abrufen und benutzen können! Dies ist wie vorhin erwähnt auf die aktivierten Datenschichten zurückzuführen! Du kannst Produktkategorien, Stocklevels, Product IDs sowie den Preis ganz einfach abrufen. Wie das geht, verrate ich dir in den folgenden Schritten!

Schritt 2: Drei wichtige Ereignisse verstehen und anwenden lernen

Durch das installierte Plug-In aus Schritt 1, bekommst du Zugriff auf drei wahnsinnig wichtige Ereignisse. Diese findest du in der Debug Console (unten am Bildschirmrand) sobald du in den PREVIEW Modus gehst und die richtigen Seiten aufgerufen hast. Diese drei – und es gibt noch einige mehr – sind für die Ersteinrichtung momentan unser Fokus. Diese Ereignisse sind:

  • gtm4wp.productClickEEC
  • gtm4wp.addProductToCartEEC
  • gtm4wp.orderCompletedEEC

Jetzt fragst du dich sicherlich, was das genau sein soll und ob ich nicht ggf. einen Schritt übersprungen habe? Woher kommen jetzt diese Befehle und was besagen sie? Kein Problem!

Exkurs / Herleitung der Relevanz: Lass uns die wichtigsten Check Points in deinem E-Commerce Shop noch mal rekapitulieren. Wo lohnt es sich überhaupt Daten zu messen oder besser gesagt „einen GTM Tag zu setzen“? Na klar! Sobald jemand auf eine Produktseite geklickt hat, ein Produkt zum Warenkorb hinzugefügt hat oder wenn jemand eine Bestellung erfolgreich abgeschlossen hat. Das sind im wesentlichen alle relevanten Impulse, die darauf Aufschluss geben, dass jemand eine wirkliche Kaufintention hat. Diese „Kaufintentionen“ siehst du dann im zweiten Teil der drei aufgeführten Ereignisse: „productClick“, „addProductToCart“ und „orderCompleted“. Das EEC steht für „enhanced e-commerce“ ist aber momentan nicht von Bedeutung.

Schauen wir uns das erste „Event“ – gtm4wp.productClickEEC – einmal durch den PREVIEW Modus des Google Tag Managers an. Um den aufzurufen, klicke einfach auf ein Produkt in deinem Webshop und es muss auf der „SUMMARY“ Seite links das Ereignis anzeigen:

Klicke einmal selbst auf das Ereignis „gtm4wp.productClickEEC“ und danach auf den Reiter „DATA LAYER“. Du wirst dann mit einer riesigen Tapete an Informationen überladen werden, die ich dir kurz einmal erklären möchte:

  • Die linke Spalte zeigt dir produktspezifische Informationen an…ist ja klar, du hast ja auf ein Produkt geklickt.
  • Die rechte Spalte zeigt dir darüber hinaus weitere Daten an, falls z.B. du mehrere Produkte auf der Seite hattest (was in deinem Webshop nicht unüblich ist)

Auf alle Informationen in beiden Spalten kannst du durch durch eine sogenannte „Datenschichtvariable“ zugreifen!

Hinweis: Wenn du dir die anderen Ereignisse auf der linken Seite anschaust und dann durch die „Data Layer“ Informationen gehst, wirst du viel weniger Informationen finden. Soll für dich heißen: Diese drei erwähnten Ereignisse sind genau die richtigen drei Ereignisse, welche voll von Informationen für dich und dein Conversion Tracking sind.

Wie greifst du nun auf diese Daten zu?

Erinnerst du dich an die Einrichtung deiner ersten GTM Tags? Dort haben wir zum Abfeuern eines GTM Tags einen verhaltensbezogenen Trigger genutzt! Jetzt kommt es… Die oben erwähnten drei Ereignisse sind die perfekten Trigger / Auslöser, um 100% verlässliche und ordentliche E-Commerce Tracking Daten an Adwords, Facebook oder auch Google Analytics zurück zu geben.

Welche Funktion muss ich nun wählen, um die Ereignisse richtig als Trigger aufzubauen?

Hier noch mal die drei Befehle:

  • gtm4wp.productClickEEC
  • gtm4wp.addProductToCartEEC
  • gtm4wp.orderCompletedEEC

Was du jetzt machst, ist einen neuen Trigger aufzusetzen:

Hier ist es wichtig, dass du nun ein BENUTZERDEFINIERTES EVENT auswählst. Gib dort in das Feld (Ereignisname) dein erstes Event „gtm4wp.productClickEEC“ ein.

Das müsste nun so aussehen:

Mach das bitte für alle drei Ereignisse von oben und nun müsstest du diese drei Trigger als „benutzerdefinierte Ereignisse“ bei dir in der Tabelle sehen. PERFEKT!!

Nachdem du nun diese drei Trigger hast, verknüpfst du diese mit den relevanten GTM Tags. Relevante GTM Tags sind – wie bekannt – deine angelegten Tags von Facebook & Google Adwords. Falls du nicht mehr weißt, wovon ich spreche, diese Übersicht müsste dir bekannt vorkommen:

Falls du noch keine Tags hast, lege nach und nach deine Tags pro Marketing-Kanal an. Hier eine kurze Übersicht an benötigten Tags:

Tags für Facebook Ads

  1. Geh auf Tags und lege ein NEUES Tag an.
  2. Wähle für Facebook „benutzerdefiniertes HTML“.
  3. Geh in deinen Facebook Account und suche den Pixel Code heraus.
  4. Füge diesen nun dort ein und benenne das Conversion Event mit „ViewContent“
  5. Nachdem du dies getan hast, nimm bitte den zugehörigen Trigger – EVENT PRODUCTKLICK – aus.
  6. Speichere diesen ab und führe dies mit den anderen Tags durch.

Tags für Google Ads

  1. Gehe bei Google Adwords über Tools in die Conversions.
  2. Erstelle nun eine Conversion und nenne sie „Produktseite aufgerufen“
  3. Führe die Einrichtung fort und merke dir nun die Conversion ID und das Conversion Label.
  4. Gehe zurück in den GTM und lege einen neuen Tag an.
  5. Nimm hier Google Ads Conversion Tracking und füge beide Daten – Conversion ID und Label – hinzu.
  6. Füge nun auch deinen Trigger hinzu den du ja schon angelegt hast.
  7. Speichere dies ab und führe das mit einem anderen Tag durch.

Schritt 3: Jetzt kommt die MAGIE mit ins Spiel – Datenschichtvariablen anlegen und nutzen!

Nachdem du verstanden hast, was ein Data Layer ist und welche „neuen“ Ereignisse aufgebaut werden mussten, um Data Layers zu „sehen“, geht es jetzt daran die richtigen Datenschichtvariablen anzulegen, so dass du auch genau die Werte aus den Datenschichten abrufen kannst, die du willst! Noch mal zur Erinnerung: Du legst dies einmal an und jedes neue Produkt, das dazu kommt, profitiert von deinen Einstellungen.

Jetzt kommt der komplizierte Teil…aber wenn du den einmal verstanden hast, dann bist du der Data-Layer-Experte und damit sicherlich über dem Durchschnitt der Online-Marketing-„Experten“. Fertig? Dann los!

Das müsste dir bekannt vorkommen:

Diese Variablen sind im Google Tag Manager selbst vorgegeben und man muss sie bei der Ersteinrichtung vom GTM händisch aktivieren. Durch diese Variablen konnten wir beispielsweise Conversions auf Webseiten messen, wenn z.B. jemand erfolgreich ein Kontaktformular ausgefüllt hat und auf „ABSENDEN“ gedrückt hat. Das ging mittels der integrierten Variable „Click Text“.

Der Vorteil an den Variablen ist: Sie existieren und sind sehr zuverlässig, sprich: Du kannst sie immer aktivieren und ohne bedenken nutzen. Der Nachteil: Sie decken womöglich nicht ALLE Dinge ab, die du benötigst. Zum Beispiel hilft dir keine integrierte Variable dabei, die Product ID, den Conversion-Wert oder Produktpreis auszulesen.

Wir müssen unsere eigenen Datenschichtvariablen erzeugen!

Abhilfe schaffen wir hier nur, wenn wir unsere eigenen Variablen anlegen und eigene Werte aus den vorhandenen Datenschichten auslesen. Um das zu tun, nutzen wir die sogenannten benutzerdefinierten Variablen und speziell eine „Datenschichtvariable“. Diese findest du hier:

Nochmal in Erinnerung gerufen: Wenn du im PREVIEW Modus arbeitest, siehst du auf dem Reiter „Variablen“ alle integrierten Variablen, die du selbst auf aktiv gesetzt hast. Ab und zu spucken sie Werte aus, ab und zu auch nicht. Das kommt immer auf dein Verhalten an und worauf du klickst.

Beispiel: Hier schön zu sehen ist, dass ich gerade in dieser Übersicht auf den Text „STARTSEITE“ geklickt habe. Dieses wird ganz links in der Zusammenfassung als 5te Aktion angezeigt. Da ich die integrierte Variable „Click Text“ eingestellt habe, zeigt mir diese nun einen Wert oder in diesem Fall ein STRING (Text / Buchstaben) an.

Anlegen von eigenen Datenschichtvariablen:

Da du nun bestens mit der Data-Layer-Struktur vertraut bist und weißt wie Variablen funktionieren, gilt es jetzt durch einen Befehl die Werte aus den Data Layern zu ziehen.

So sieht beispielsweise der Auszug aus einem Data Layer für das Produkt 3092 mit dem Preis 3,95€ in der Kategorie Zubehör aus.

Wir wollen jetzt die Produkt ID aus diesem Feld an Daten herausziehen. Da gibt es zwei Fragen:

  1. Was will ich mit der Product ID eigentlich?
  2. Wie geht das?

Die Antwort auf Frage eins ist: Wenn du z.B. Retargeting über Facebook (Dynamic Product Ads) machen möchtest und dort einen personalisierten Feed an deine Besucher zurückgeben willst, dann wäre es doch super, wenn du pro Nutzer und pro Session alle Produkte abspeichern / vermerken könntest, die ein Nutzer genau in der Session angeschaut hat, oder? Das geht tatsächlich darüber, dass du deinen GTM Facebook Tag mit den Daten deiner Datenschichtvariable anreicherst, was zur Folge hat, dass du diese mit an Facebook übergeben kannst.

Die Antwort auf die zweite Frage siehst du hier:

Wir schauen uns das Feld an, wo diese Informationen vergraben sind. Die ID ist Bestandteil von folgendem Baum:

ECOMMERCE -> DETAIL -> PRODUCTS -> ID. 

Okay soweit? Oder habe ich dich schon verloren?

ACHTUNG HIER KOMMT DER WICHTIGSTER ABSCHNITT IM GESAMTEN ARTIKEL:

Wie greife ich auf Werte im Data Layer ein?

Wenn du auf die ID zugreifen willst, dann musst du in deiner Datenschichtvariable folgendes eingeben:

Hier der Hinweis, dass man in Data Layern mit einer „PUNKT“-Verbindung zwischen den unterschiedlichen Schichten arbeitet. Sprich, wenn dein Wert ID ist, dann kannst du über „ecommerce.detail.products.id“ so darauf zugreifen!

So einfach war das? LEIDER GAR NICHT!

Ganz so einfach war es dann leider doch nicht. Ich habe mich genau mit diesem Befehl ein halbes Jahr lang im Kreis gedreht. Ich habe Dutzende Datenschicht- Variablen angelegt, Dutzende Ereignisse ausprobiert und Dutzende Mal habe ich hier versagt.

Ständig wurde mir das folgende im Debug-Fenster zurückgegeben:

Immer war es undefined und ich habe nicht verstanden, warum es so ist…

Aber beim dritten Anlauf ist mir Folgendes aufgefallen:

Wenn du mehrere Product IDs in einem Feld hast, weiß die Datenschichtvariable gar nicht, welches Produkt sie jetzt wirklich nutzen soll und dreht sich somit im Kreis. Dadurch entsteht permanent das Problem, dass „undefined“ zurück gegeben wird. Aha! Was bedeutet das jetzt?

Wenn du dem Befehl jedoch mitteilst, dass er gefälligst die erste Product ID zurück geben soll, sollte das Problem gelöst sein!

Neuer Versuch: Wir passen den Abruf nun neu an mit einer Zahl!

„ecommerce.detail.product.0.id“

Nun gehen wir auf die Produktseite und schauen uns an, was in der Debug Console zurück gespielt wird:

WOW! Und siehe da…Somit haben wir erfolgreich unsere erste Datenschichtvariable aufgesetzt und so konfiguriert, dass genau das Feld zurückgegeben wurde, welches wir haben wollten: Die ProductID!

Summary: Schritt für Schritt Vorgehen

Puhhhhhhh…..Das war wohl etwas verwirrend und vielleicht nicht ganz offensichtlich. Wenn wir das alles in einen Zusammenhang bringen wollen, hier noch mal zusammengefasst:

  1. Als Shop-Besitzer möchtest du dynamisch über alle Marketingplattformen und in Google Analytics deine Conversion-Werte sehen.
  2. Um deine Conversion-Werte zu sehen, ist es notwendig diese Informationen abrufen zu lassen.
  3. Bei WordPress & WooCommerce nutzt man dafür das Google Tag Manager Plug-In von Thomas Geiger.
  4. Sobald das Tool installiert ist, aktiviert man die Data Layers.
  5. Durch die Data Layers werden viel mehr relevante Informationen zur Verfügung gestellt als mit den Standard Variablen vom Google Tag Manager.
  6. Durch das Anlegen von Datenschichtvariablen kann man auf die Daten im Data Layer zugreifen. Das geschieht mit dem Verknüpfen der unterschiedlichen Felder in Verbindung mit einem „PUNKT“: Ecommerce.Detail.Product.0.ID.
  7. Um das gewünschte Produkt perfekt anzusprechen und um Verwirrung zu vermeiden, benenne deine Datenschichtvariable immer mit einer Zahl: Ecommerce.Detail.Product.0.ID und überprüfe, ob du den korrekten Wert zurück gegeben bekommst.
  8. Bau so alle drei Ereignisse auf (ProductClick / ProductAddToCart / OrderCompleted) auf.
  9. Für ProductClick und ProductAddToCart würde ich nur die ProductID zurück geben wollen. Dies kannst du z.B. für Facebooks Dynamic Retargeting Ads (mittels Data Feed) verwenden und so messerscharfe Retargeting Kampagnen bauen.
  10. Für OrderCompleted lohnt es sich auf jeden Fall den Purchase Value zurück zu geben.
  11. Denk daran, dass du jeden Wert in den Data Layers zurück geben und nutzen kannst.
  12. …die Macht sei nun mit dir!

Ich hoffe dir hat der Guide gefallen! Viele Grüße und weiterhin viel Erfolg!

Khang