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
Kundenaktion: Benutzer interagiert mit dem Smeetz-Widget
Event-Generierung: E-Commerce-Objekt wird im Buchungsfluss erstellt
Datenübertragung: Objekt wird an Ihre Website gesendet
Data Layer: Objekte werden im GTM
dataLayerin die Warteschlange gestelltTag-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_purchasegesendet wird).Was Sie erhalten: Einen Benutzeridentitäts-Payload in
smeetzData. Mindestens enthält diesemail, und es kann auchfirstname/lastnameenthalten, 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 GA4view_item_listTracking 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 einetransactionId(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 einetransactionId(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 einetransactionId(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), einetransactionId(Buchungsreferenz) und einenvalue, 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), einetransactionId(Buchungsreferenz) und einenvalue, der die Gesamtsumme darstellt. Dieses Event kann auch Kundenfelder enthalten, die bereits gehasht sind (SHA-256), wiecustomerEmail,customerFirstName,customerLastNameundcustomerPhoneNumber.
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.
Gehen Sie im Google Tag Manager zu Verwaltung → Google Tag Manager installieren (oder klicken Sie oben auf Ihre Container-ID).
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.
Installieren Sie die Snippets auf allen Seiten, auf denen das Widget verwendet werden kann (einschließlich Subdomains, falls zutreffend).
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
Loggen Sie sich im Smeetz Back Office ein
Navigieren Sie zum Bereich Integrationen
Suchen Sie das Feld GTM/Google Tag Manager
Geben Sie Ihre GTM Container-ID ein (Format:
GTM-XXXXXXX)Speichern Sie die Änderungen
Schritt 3: JSON-Container in GTM importieren
Öffnen Sie Google Tag Manager
Klicken Sie auf Verwaltung → Container importieren
Laden Sie die bereitgestellte JSON-Datei hoch
Wählen Sie Zusammenführen oder Überschreiben je nach Bedarf
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:
Gehen Sie zu Variablen im Google Tag Manager
Suchen Sie nach der Variable namens Measurement ID
Öffnen Sie diese und ersetzen Sie den Wert durch Ihre GA4 Measurement ID (Format:
G-XXXXXXXXXX)Speichern Sie die Änderungen
Schritt 5: Testen in der GTM-Vorschau vor der Veröffentlichung (empfohlen)
Klicken Sie in GTM auf In Vorschau ansehen und verbinden Sie es mit Ihrer Website.
Öffnen Sie das Widget und führen Sie einen Test-Buchungsablauf durch.
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).Bestätigen Sie, dass Ihre GA4-Tags ausgelöst werden und Events in GA4 Echtzeit erscheinen.
Schritt 6: GTM-Container veröffentlichen
Klicken Sie in GTM auf Senden → Veröffentlichen.
(Empfohlen) Fügen Sie einen kurzen Versionsnamen hinzu, wie z.B.
Smeetz GA4 E-Commerce Setup.


