Zum Hauptinhalt springen

GTM / GA4 Einrichtungsanleitung

Bei Smeetz bieten wir Tracking-Funktionen über Google Tag Manager (GTM) an.

Vor über 2 Wochen aktualisiert

1. Vorteile der Nutzung von Google Tag Manager

Vereinfachtes Tracking

  • Minimale Code-Änderungen nach der anfänglichen GTM-Installation

  • Schnelle Einrichtung und Änderung von Tracking-Tags (über GTM)

  • Reduzierte Abhängigkeit von Entwicklern

  • Visuelle Oberfläche für das Tag-Management

Zentralisierte Kontrolle

  • Eine einzige Plattform für alle Tracking-Tags

  • Versionskontrolle und Änderungshistorie

  • Einfache Updates über die gesamte Website hinweg

  • Konsistente Implementierung auf allen Seiten

  • Funktionen für die Zusammenarbeit im Team

Zusätzliche Vorteile

  • Geschwindigkeit: Schnellere Implementierung von Marketing-Tags

  • Testing: Integrierter Vorschau- und Debug-Modus

  • Sicherheit: Reduziertes Risiko von Code-Fehlern

  • Flexibilität: Einfache Integration mit mehreren Plattformen

  • Compliance: Bessere Kontrolle über die Datenerfassung

2. Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Google Tag Manager Web Container (oder die Berechtigung, einen zu erstellen/bearbeiten)

  • Eine GA4 Property und Ihre Measurement ID (Format: G-XXXXXXXXXX)

  • Zugriff auf Ihren Website-Code/CMS, um GTM auf allen Seiten zu installieren

  • (Empfohlen) Einen Consent Banner / Consent Mode Einrichtung, falls Sie in regulierten Regionen tätig sind

3. Übersicht des Tracking-Prozesses

Datenfluss-Architektur

  1. Kundenaktion: Benutzer interagiert mit dem Smeetz-Widget

  2. Event-Generierung: E-Commerce-Objekt wird im Buchungsfluss erstellt

  3. Datenübertragung: Objekt wird an Ihre Website gesendet

  4. Data Layer: Objekte werden im GTM dataLayer in die Warteschlange gestellt

  5. Tag-Verarbeitung: GTM verarbeitet und leitet an Ziele weiter

4. Getrackte Events

Die untenstehenden Events entsprechen dem Smeetz dataLayer Format, das Smeetz an den Google Tag Manager (GTM) Ihrer Website sendet. Dieses Format ist nicht dasselbe wie das native Event-/Payload-Format, das von Plattformen wie Google Analytics 4 (GA4) oder Meta erwartet wird.

In der Praxis verwenden Sie GTM, um diese Smeetz-Events zu lesen (sobald sie im dataLayer ankommen), dann die Daten in die von der Zielplattform erwartete Struktur zu mappen/transformieren und sie schließlich an GA4, Meta oder jedes andere Tool, das Sie verwenden, zu senden.

Wichtig: Einige Events können personenbezogene Daten (PII) enthalten (zum Beispiel kann smtz_user_identity eine E-Mail-Adresse enthalten). Senden Sie keine PII im Klartext an GA4 (GA-Richtlinien verbieten das Senden von PII). Verwenden Sie GTM, um entweder (a) das Senden dieser Felder an GA4 zu vermeiden oder (b) Daten nur dort zu hashen/transformieren, wo Ihre Zielplattform und die Rechtsgrundlage es erlauben.

widget-button-click

  • Wann es ausgelöst wird: Wenn der Benutzer auf den Widget-Button (Buchen-Button) klickt, um das Buchungs-iFrame zu öffnen.

  • Was Sie erhalten: Einen minimalen Event-Only Payload.

JSON

{
"event": "widget-button-click"
}

smtz_user_identity

  • Wann es ausgelöst wird: Wenn ein Benutzer im Flow identifiziert wird. Dies kann geschehen (1) direkt nachdem sich ein Benutzer einloggt oder registriert, (2) sofort beim Öffnen des Widgets, wenn der Benutzer bereits eingeloggt ist (Session gemerkt), und (3) später erneut im Flow (es kann mehr als einmal gesendet werden, zum Beispiel kurz vor der endgültigen Bestätigung, wo smtz_purchase gesendet wird).

  • Was Sie erhalten: Einen Benutzeridentitäts-Payload in smeetzData. Mindestens enthält dies email, und es kann auch firstname/lastname enthalten, wenn verfügbar. Behandeln Sie diesen Payload als PII und leiten Sie nur weiter, was Sie benötigen.

JSON

{
"event": "smtz_user_identity",
"smeetzLabel": "<user_email>",
"smeetzCategory": "user_identity",
"smeetzAction": "Identify user",
"smeetzData": {
"email": "<user_email>",
"firstname": "<first_name>",
"lastname": "<last_name>"
}
}

smtz_view_item_list

  • Wann es ausgelöst wird: Wenn der Benutzer die Ticketliste erreicht (das erste Mal, wenn er die verfügbaren Artikel/Tickets für ein Produkt sieht).

  • Was Sie erhalten: Das angesehene Produkt/Item in smeetzData (als Array von Items), um GA4 view_item_list Tracking zu unterstützen.

JSON

{
"event": "smtz_view_item_list",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "view Item List",
"smeetzData": [
{
"id": "<product_id>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"quantity": 1
}
]
}

smtz_dynamicPricing_enabled

  • Wann es ausgelöst wird: Wenn dynamisches Pricing für den aktuellen Benutzer/Produkt aktiviert ist (dies kann vor den normalen E-Commerce-Events gesendet werden, um die Session zu kennzeichnen).

  • Was Sie erhalten: Ein Flag-Style Event, das dieselbe E-Commerce-Struktur verwendet, damit Sie das nachgelagerte Tracking in GTM segmentieren oder anreichern können.

JSON

{
"event": "smtz_dynamicPricing_enabled",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "view Item List",
"smeetzData": [
{
"id": "<product_id>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"quantity": 1
}
]
}

smtz_remove_from_cart

  • Wann es ausgelöst wird: Wenn der Benutzer ein Ticket/Item aus dem Warenkorb entfernt.

  • Was Sie erhalten: Das entfernte Item in smeetzData (als Array von Items).

JSON

{
"event": "smtz_remove_from_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Remove From Cart",
"smeetzData": [
{
"id": "<ticket_name>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1
}
]
}

smtz_view_cart

  • Wann es ausgelöst wird: Wenn der Benutzer den Warenkorb-Bildschirm öffnet/ansieht.

  • Was Sie erhalten: Den aktuellen Warenkorb-Inhalt in smeetzData (als Array von Items).

JSON

{
"event": "smtz_view_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "View Cart",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1
}
]
}

smtz_add_to_cart

  • Wann es ausgelöst wird: Wenn der Kunde ein Ticket/Item zum Warenkorb hinzufügt.

  • Was Sie erhalten: Das hinzugefügte Item in smeetzData (als Array von Items) und eine transactionId (Buchungsreferenz).

JSON

{
"event": "smtz_add_to_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Add to cart",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<ticket_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_begin_checkout

  • Wann es ausgelöst wird: Wenn der Kunde den Checkout-Prozess startet (vom Warenkorb zur Kasse wechselt).

  • Was Sie erhalten: Die aktuellen Warenkorb-Items in smeetzData (als Array von Items) und eine transactionId (Buchungsreferenz).

JSON

{
"event": "smtz_begin_checkout",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Begin Checkout",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_checkout_progress

  • Wann es ausgelöst wird: Wenn der Kunde durch die Checkout-Schritte fortschreitet (Fortschritt im Checkout-Flow).

  • Was Sie erhalten: Die aktuellen Checkout-Items in smeetzData (als Array von Items) und eine transactionId (Buchungsreferenz).

JSON

{
"event": "smtz_checkout_progress",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Checkout progress",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_payment_info

  • Wann es ausgelöst wird: Wenn der Kunde während des Checkouts die Zahlungsinformationen erreicht/absendet.

  • Was Sie erhalten: Die aktuellen Checkout-Items in smeetzData (als Array von Items), eine transactionId (Buchungsreferenz) und einen value, der die Buchungssumme in diesem Stadium darstellt.

JSON

{
"event": "smtz_payment_info",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Add payment Info",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
],
"value": 0
}

smtz_purchase

  • Wann es ausgelöst wird: Wenn die Buchung erfolgreich abgeschlossen ist (Kauf/Bestätigung).

  • Was Sie erhalten: Die gekauften Items in smeetzData (als Array von Items), eine transactionId (Buchungsreferenz) und einen value, der die Gesamtsumme darstellt. Dieses Event kann auch Kundenfelder enthalten, die bereits gehasht sind (SHA-256), wie customerEmail, customerFirstName, customerLastName und customerPhoneNumber.

JSON

{
"event": "smtz_purchase",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Purchase",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1,
"category": "<ticket_name>",
"discount": 0
}
],
"transactionId": "<booking_ref>",
"value": 0,
"customerEmail": "<sha256_email_hex>",
"customerFirstName": "<sha256_first_name_hex>",
"customerLastName": "<sha256_last_name_hex>",
"customerPhoneNumber": "<sha256_phone_hex>"
}

5. Implementierungsschritte

Schritt 1: Installieren Sie das GTM-Snippet auf Ihrer Website (erforderlich)

Dieser Schritt ist erforderlich, damit GTM die dataLayer-Events empfangen und verarbeiten kann.

  1. Gehen Sie im Google Tag Manager zu VerwaltungGoogle Tag Manager installieren (oder klicken Sie oben auf Ihre Container-ID).

  2. Kopieren Sie die beiden von GTM angezeigten Snippets:

    • Script Snippet: Fügen Sie es in den <head>-Abschnitt ein.

    • NoScript Snippet: Fügen Sie es unmittelbar nach dem öffnenden <body>-Tag ein.

  3. Installieren Sie die Snippets auf allen Seiten, auf denen das Widget verwendet werden kann (einschließlich Subdomains, falls zutreffend).

  4. Installation überprüfen: Öffnen Sie Ihre Website und verwenden Sie den Tag Assistant / Vorschau-Modus in GTM. Bestätigen Sie, dass der Container geladen wird und Sie eingehende dataLayer-Events sehen können.

Hinweis: Schreiben Sie das Snippet nicht manuell neu. Kopieren Sie es immer aus der GTM-Benutzeroberfläche, um Tippfehler zu vermeiden.

Schritt 2: GTM-ID im Smeetz Back Office eingeben

  1. Loggen Sie sich im Smeetz Back Office ein

  2. Navigieren Sie zum Bereich Integrationen

  3. Suchen Sie das Feld GTM/Google Tag Manager

  4. Geben Sie Ihre GTM Container-ID ein (Format: GTM-XXXXXXX)

  5. Speichern Sie die Änderungen

Schritt 3: JSON-Container in GTM importieren

  1. Öffnen Sie Google Tag Manager

  2. Klicken Sie auf VerwaltungContainer importieren

  3. Laden Sie die bereitgestellte JSON-Datei hoch

  4. Wählen Sie Zusammenführen oder Überschreiben je nach Bedarf

  5. Bestätigen Sie den Import Smeetz-GTM-Container.json

Schritt 4: GA4 Measurement ID konfigurieren

Nach dem Importieren des GTM-Containers müssen Sie Ihre GA4 Measurement ID festlegen:

  1. Gehen Sie zu Variablen im Google Tag Manager

  2. Suchen Sie nach der Variable namens Measurement ID

  3. Öffnen Sie diese und ersetzen Sie den Wert durch Ihre GA4 Measurement ID (Format: G-XXXXXXXXXX)

  4. Speichern Sie die Änderungen

Schritt 5: Testen in der GTM-Vorschau vor der Veröffentlichung (empfohlen)

  1. Klicken Sie in GTM auf In Vorschau ansehen und verbinden Sie es mit Ihrer Website.

  2. Öffnen Sie das Widget und führen Sie einen Test-Buchungsablauf durch.

  3. Bestätigen Sie, dass Sie Smeetz-Events in der GTM-Vorschau-Timeline sehen (zum Beispiel smtz_view_item_list, smtz_add_to_cart, smtz_purchase).

  4. Bestätigen Sie, dass Ihre GA4-Tags ausgelöst werden und Events in GA4 Echtzeit erscheinen.

Schritt 6: GTM-Container veröffentlichen

  1. Klicken Sie in GTM auf SendenVeröffentlichen.

  2. (Empfohlen) Fügen Sie einen kurzen Versionsnamen hinzu, wie z.B. Smeetz GA4 E-Commerce Setup.

Hat dies deine Frage beantwortet?