Google Tag Manager einrichten

Hallo,
wir wollen auf den Google Tag Manager (GTM) umstellen und haben dazu das Modul von vanilla installiert: GitHub - vanilla-thunder/oxid-module-gtm: Google Tag Manager, Matomo Tag Manager and Yandex Metrica for OXID eShop
So weit so gut, wie das mit den Triggern funktioniert habe ich auch bereits herausgefunden. Aber wie man die Tags, Variablen einstellt und mit dem Datalayer verknüpft stellt mich vor ein Rätsel.
Habt ihr ein Tip für eine gute Anleitung oder Youtube Video, wo man schauen kann, wie man es (für Oxid) einrichtet? Ein Oxid Beispiel wäre auch gut :slight_smile:
cya

Wichtig zu erwähnen wäre, dass das Modul noch für Universal Analytics gemacht wurde und nicht mit dem allerneusten Analytics 4 kompatibel ist.
Wenn du also eine neue GA Property anlegst, musst du unbedingt eine Universal Analytics Property und keine Analytics 4 Property anlegen.
How to Create a Universal Analytics Property (when GA4 is the default)?.

Für Google Analytics musst du folgendes machen:

  1. eine Variable mit dem Typ “Google Analytics Settings” erstellen, “Enhanced Ecommerce aktivieren” + “datalayer nutzen” im anklicken.
  2. einen neuen Tag vom Typ “Google Analytics: Universal Analytics” und “Page View” Tracking erstellen und die eben erstellte Variable dort auswählen.
  3. für enhanced ecommerce einen Trigger und einen Tag erstellen, wie in der Readme beschrieben.

Für die Einbundung von anderen Trackings etc, würde ich den Preview-Modus einschalten, das ist der “Preview” button links neben Submit in der oberen rechtsn Ecke im GTM Interface:

Danach bekommst du eine GTM Debugging Console und kannst dort sehen, was für Daten im datalayer sind und wann welche Events mit welchen Daten getriggert wurden.

Ist zwar kein OXID, aber hier ist ein passendes Video für die Grundeinrichtung:

2 Likes

Hi Vanilla,
danke, das hat mir weitergeholten. Habe erstmal wieder Frieden mit dem GTM geschlossen. Anbei meine Herausforderungen und Erkenntnisse:
Von der Hardcoded Integration wollen wir auf den GTM umstellen. Aktuell nutzen wir UA und wir wollen aber GA4 auf parallel füllen, um nach einem Jahr ggf. darauf wechseln zu können. Somit ist der Tag Manager mit der UA Basis durchaus ok. Eine Anleitung, wie man UA auf GA4 mappt habe ich auch bei Google gefunden.

  • Zunächst muss man ja wissen, dass Google Schemas verwendet, um die Daten bereit zu stellen. Wenn alles in das Schema passt, wie bei dem Modul, wird automatisch alles übernommen.
  • Dann muss man wissen, dass es neben den normalen Variablen noch Arrays gibt, z.B. für Produkte. Die Werte kann man mit .0.id z.B. Abrufen und werden durch eckige Klammern […] sichtbar.
  • Wie man die Variablen verwendet ist ja auch etwas gewöhnungbedürftig.
  • Wenn man die Daten aus dem Datenlayer nutzen möchte, muss man diese erstmal über eine Variable (Datenlayervariable) im GTM verfügbar machen. (Hilft auch bei der Preview, was korrekt übernommen wurde). Bei UA wird alles (ohne es prüfen zu können) übernommen.
  • Für GA4 werden die Produkt-Arrays inzwischen auch korrekt übernommen, wenn man das gesamte Array hinterlegt. Dies hat etwas gedauert.
  • GA4 scheint noch nicht für den produktiven Einsatz im ECommerce fertig zu sein (Stand: 2021-05), von daher soll man zwar schonmal Daten übergeben, aber kann es noch nicht wirklich nutzen.
    cya

Hi,
einen Bug habe ich noch im Modl gefunden @vanilla_thunder
Bei den Products (im WK und thankyou) soll lt. Google: Universal Analytics – E-Commerce - Tag Manager-Hilfe der “Preis pro Einheit” angegeben werden.
Im Modul ist als Artikelpreis 'price': [{$_price->getPrice()}], hinterlegt. Somit wird der Zeilenbetrag übergeben (Preis pro Stück * Menge), was falsch ist.
Beispiel: Einkauf über 3 Artikel a 10€. Wert sind 30 €, Wert der Einzelartikel in Analytics aber 90€ (3x30€).

Das Problem ist in der /s1_cart und /s5_thankyou. Den item_price gibt es glaube ich auch nicht mehr, es wird nur der “price” verlangt.

Wie ist der richtige Code, um den Artikelpreis (einzeln, bei mir soll es der Netto.Preis sein) zu z.B. den oxorderarticles.oxBprice? Oder reicht es die Basket Stück-Preise anzugeben, dann hätte man den Wert auch im Warenkorb bereits korrekt.
Kannst du das beheben oder die Codezeile posten, mit der man auf die Einzelpreise zugreiffen kann? :slightly_smiling_face:

danke für die Bug-Meldung, schaue ich mir am Wochenende an.
Hast du jemanden an der Hand, der sich mit dem GA-Wahnsinn auskennt?
Ich habe in meinem Devshop schon eine Modul-Version mit GA4 Events, allerdings hängt es bei mir im Moment an dem nicht vorhandenen Wissen darüber, was man mit den neuen GA4 Daten nun anstellen kann bzw. wie man sie auswertet.

Hi,
jain. Habe eine SEA-Agentur, die hat mir aber empfohlen, erstmal nur die GA4 Property mit Daten analog den UA-Daten zu füllen. Also Page-Views und Thankyou zu tracken. Somit bleibe ich bei dem UA Tracking über den GTM und schreibe dort die UA Daten zu GA4 um.
Weitere Möglichkeiten sind dann ja individuelle Anforderung. Die man mit dem GTM abdecken kann.

Habe versucht die Daten aus dem UA Tracking meines Testshops in der GA4 Property zu verstehen. Da kommt man nicht viel weiter. Im Moment ist GA4 für E-Com Tracking wohl eher noch nicht zu gebrauchen. Auch nach Einschätzung meiner Agentur wird es wohl noch 2-3 Jahre dauern.

Wenn die Bugs behoben sind werde ich GA4 parallel einrichten. Dann wird es vielleicht mit Echtdaten klarer.
cya

Ich hätte da eine äußerst kompetente Person und könnte mal fragen. Soll ich? ^^

ja, das wäre toll

1 Like

Hallo Vanilla,
in dem Modul sind leider noch ein paar Bugs enthalten. Zumindest ist es out of the Box für das alte Google Analytics so nicht direkt einsetzbar. Kann teilweise aber auch an meinem Theme liegen, somit am besten erstmal noch in einem frischen Shop-Installation testen.
Folgende Punkte sind mir aufgefallen:

ee/s5_thankyou.tpl

  • Bereich Products: Warum wird zu Basketitems gewechselt, von der Order? Effekt ist, dass Artikel, die nicht mehr lieferbar/kaufbar sind nach dem Kauf im Tracking verschwinden. Bsp: Der Kunde kauft die letzten 5 Stück für 10€ → Bestellung über 50€ mit 0 Artikel. Der WK-Basket wird scheinbar nach dem Kaufabschluss neu berechnet.
  • GA unterscheidet nicht zwischen price und itemprice. Es muss in GA bei products.price immer der Itemprice ausgegeben. Aktuell ist aber immer der Gesamtpreis der Artikelzeile enthalten. Bsp mit 5 Stk a 10€, soll der Wert bei 10€ liegen. Aktuell ist es aber 50€ und GA übernimmt 5 Stück a 50€ → 250€ Artikelsumme. (Das Problem ist in der /s1_cart und /s5_thankyou.)

Bei Impressions:

  • Aktuell ist der Artikel, der als Impressions ausgegeben wird stets der letzte sichtbare Artikel (Auf der Artikeldetailseite im Slider oder der Kategorieseite). Es sollte stets der erste sichtbare Artikel sein.
  • Bei Varianten-Artikeln wird scheinbar der Preis des Vaters getrackt, dieser kann aber von dem (angezeigten) Preis der Child abweichen. (Ist bei mir aber nicht praxisrelevant, aber aufgefallen.)

Um das Daten-Schema zwischen UA und GA4 zu verstehen ist folgende Seite gut: [GA4] E-Commerce-Daten aus Universal Analytics migrieren - Google Analytics-Hilfe

Optional wäre noch:

  • Die Currency und Kategorie (products.category) aufzunehmen.
  • Habe alles auf netto-Werte umstellen lassen. Der Punkt ist für mich also erledigt.

Wenn du weitere Beispiele oder Screenshots benötigst sag bitte kurz Bescheid :wink:
cya

Bist du dir ganz sicher, dass die Produkte aus dem Basket verschwinden? OXID selbst nutzt den Basket auf der thankyou Seite für TrustedShops Protection und auch die Bestellemail wird anhand des Baskets zusammengebaut.
Muss ich zum Testen irgendwas bestimmtes außer Lagerverwaltung aktivieren?

Hi Vanilla,
ja. Ist bei mir mit einer CE6.0.5 und einigen Anpassungen definitiv so, an der Stelle haben wir aber meines Wissen nach nicht eingegriffen. Mit einer frischen Installation habe ich es nicht getestet.

Bei mir gibt es Fälle im GTM Tracking:
Bei einer Bestellung sind keine Artikel hinterlegt, wenn die Artikel nicht mehr kaufbar sind.
Die Versandkosten werden neu berechnet. Wenn der Wert unter unsere 40€ Versandkostenfrei-Grenze fällt, werden Versandkosten berechnet. Wenn der Wert der Artikel der Bestellung auf 0 fällt greift keine Versandkostenregel/berechnung mehr, da die Zahlarten erst ab 0,01€ gerechnet werden. Die Versandkosten sind dann 0.

Deutet meiner Meinung nach alles darauf hin, dass der Warenkorb auf der Thankyou-Seite neu berechnet wird. Dadurch sind die Werte des WK auf der Seite falsch.

cya

Hi,
wenn die nicht kaufbaren ARtikel bei TS fehlen ist das ja nicht so schlimm. Die Bestellemail wird mMn ja vor dem generieren der Seite versendet, so dass das leeren des Baskets eventuell erst nach der Mail geschieht.
Wenn man auf der ThankyouSeite ankommt ist der Basket auf jeden Fall wieder leer.

Zum testen müsste es reichen, wenn die Lagerverwaltung aktiv ist, bei dem Artikel muss dann Menge = 1 und als Lagermethode: Wenn ausverkauft nicht bestellbar hinterlegt sein.

in meinem 6.2.3 Devshop kann ich das beschriebene Verhalten nicht nachvollziehen,
auch ausverkaufte Produkte sind auf der Thankyou Seite weiterhin in dem geklonten Basket vorhanden.
Ich habe dennoch das Tracking auf der letzten Seite überarbeitet und auf OrderArticles umgestellt.
Guck mal hier:

(Das Refactoring ist aber noch nicht durch, habe nur den Zwischenstand hochgeladen)