PrestaShop Google Tag Manager

PrestaShop-Dokumentation Google Tag Manager
Umfassende Dokumentation für das PrestaShop-Modul zur erweiterten Integration mit Google Tag Manager (cc_ps_googletrack) mit Unterstützung für Enhanced Ecommerce, Enhanced Conversions und vollständiger Konfiguration von Ereignissen.

Inhaltsübersicht
  1. Einführung
  2. Installation und Systemanforderungen
  3. Aktivierung des Moduls
  4. Grundlegende Konfiguration von GTM
  5. Konfiguration von Ereignissen
  6. Erweiterte Datenschicht
  7. Erweiterte Conversions (Nutzerdaten)
  8. Debug-Modus
  9. Anmeldung von Veranstaltungen
  10. Eigener Tracking-Code
  11. Übersetzungssystem
  12. Veranstaltungen – Details
  13. Veranstaltungskalender
  14. Tag Assistant-Test
  15. Lösung von Problemen
  16. FAQ

1. Einleitung
CC Google Tag Manager ist ein fortschrittliches PrestaShop-Modul, das eine vollständige Integration mit Google Tag Manager ermöglicht. Das Modul verfolgt automatisch alle wichtigen Enhanced Ecommerce-Ereignisse gemäß den neuesten Standards.

Wichtige Funktionen des Moduls:
  • Vollständige Integration mit Google Tag Manager (GTM)
  • Automatische Verfolgung von 18 verschiedenen Ereignissen
  • Enhanced Ecommerce gemäß den Standards von Google
  • Erweiterte Conversions mit gehashteten Nutzerdaten
  • Erweiterte Datenschicht (dataLayer) mit zusätzlichen Informationen
  • Konfiguration zum Ein-/Ausschalten einzelner Ereignisse
  • Debugging-Modus mit Anmeldung an der Browserkonsole
  • Logging events to the database with viewing
  • Eigener JavaScript-Code, der auf allen Seiten ausgeführt wird
  • Vollständiges Übersetzungssystem (Polnisch, Englisch, Möglichkeit, weitere Sprachen hinzuzufügen)
  • Kompatibel mit PrestaShop 1.7.x, 8.x und 9.x
  • Unterstützung für Google Consent Mode 2.0

2 Installation und Systemanforderungen
Systemanforderungen
  • PrestaShop 1.7.0.0 oder höher (getestet bis Version 9.0)
  • PHP 7.4 oder höher
  • Zugriff auf das PrestaShop-Admin-Panel
  • Google Tag Manager-Konto (kostenlos)
  • Optional: Google Analytics 4 (kostenlos)
Einbauverfahren
  1. Laden Sie die ZIP-Datei des Moduls von der offiziellen Website herunter. cocos.codes
  2. Loggen Sie sich in das PrestaShop-Administrationspanel ein
  3. Gehen Sie zu: Module → Modul-Manager
  4. Klicken Sie oben rechts auf „Modul hochladen”.
  5. Wählen Sie die heruntergeladene ZIP-Datei aus und klicken Sie auf „Dieses Modul hochladen”.”
  6. Wenn die Installation abgeschlossen ist, klicken Sie auf "Konfigurieren".
  7. Das Modul ist bereit für die Konfiguration.
Infos
Nach der Installation registriert das Modul automatisch alle erforderlichen PrestaShop-Hooks und erstellt eine Tabelle in der Datenbank zum Protokollieren von Ereignissen (sofern diese Funktion aktiviert ist). Die Installation erfordert keine zusätzlichen technischen Schritte.

3. Aktivierung des Moduls
Das Modul erfordert keine separate Lizenzaktivierung – es funktioniert sofort nach der Installation. Um jedoch mit der Nachverfolgung zu beginnen, müssen wir die Grundeinstellungen konfigurieren.

Erste Schritte nach der Installation:
  1. Gehen Sie zu Module → Modul-Manager
  2. Finden Sie das Modul „CC Google Tag Manager”
  3. Klicken Sie auf „Konfigurieren”.”
  4. Wir werden zur Einstellungsseite des Moduls weitergeleitet.
Tipp
Bevor Sie mit der Konfiguration beginnen, sollten Sie die GTM-Container-ID (Format: GTM-XXXXXX) bereithalten. Diese finden Sie im Google Tag Manager-Panel, nachdem Sie einen neuen Container für Ihre Website erstellt haben.

4. Grundlegende Konfiguration von GTM
Die Konfiguration von Google Tag Manager ist der erste Schritt, um das Tracking in Ihrem Shop zu aktivieren.

Erstellen eines GTM-Containers:
  1. Gehe zu tagmanager.google.com
  2. Mit Google-Konto anmelden
  3. Klicken Sie auf „Konto erstellen”.”
  4. Geben Sie den Namen des Kontos an (z. B. den Namen des Unternehmens).
  5. Geben Sie den Namen des Containers an (z. B. den Namen des Geschäfts).
  6. Wählen Sie „Web” als Containertyp aus.
  7. Akzeptieren Sie die Nutzungsbedingungen
  8. Kopieren Sie die Container-ID (GTM-XXXXXX)
Konfiguration im Modul:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Grundkonfiguration”.”
  2. Aktivieren Sie das Kontrollkästchen „Google Tag Manager aktivieren”.”
  3. Fügen Sie die kopierte GTM-Container-ID ein (z. B. GTM-ABC1234).
  4. Klicken Sie unten auf der Seite auf „Speichern”.
Elemente der Grundkonfiguration:
OptionBeschreibungWert
GTM aktivierenAktiviert die Nachverfolgung durch GTMJA / NEIN
GTM-Container-IDContainer-ID GTMGTM-XXXXXX
Was passiert nach dem Speichern:
  • Der GTM-Code (gtag.js) wird automatisch zu allen Seiten des Shops hinzugefügt.
  • Das GTM-Skript wird im Abschnitt
  • Noscript Fallback wird direkt nach <body>
  • DataLayer beginnt mit der Erfassung von Ereignisdaten
  • Alle Ereignisse werden automatisch an GTM übertragen.
Erfolg
Nach der korrekten Konfiguration wird der GTM-Code im Quellcode der Website sichtbar sein. Wir können dies überprüfen, indem wir mit der rechten Maustaste → „Quellcode anzeigen” klicken und nach GTM-XXXXXX suchen. Dort finden wir sowohl das Hauptskript als auch das dataLayer.

5. Konfiguration von Ereignissen
Das Modul unterstützt 18 verschiedene Ereignisse. Jedes Ereignis kann je nach Geschäftsanforderungen unabhängig aktiviert oder deaktiviert werden.

Liste der verfügbaren Veranstaltungen:
VeranstaltungBeschreibungWann wird es aufgerufen?
page_viewAnzeige der SeiteAuf jeder Seite des Shops
view_itemProdukt anzeigenAuf der Produktseite
view_item_listAnzeige der ProduktlisteKategorien, Suchergebnisse, Startseite
select_itemAuf das Produkt klickenKlicken Sie auf ein Produkt aus der Liste.
add_to_cartIn den Warenkorb legenNachdem Sie das Produkt in den Warenkorb gelegt haben
Aus dem Warenkorb entfernenAus dem Warenkorb entfernenNachdem Sie das Produkt aus dem Warenkorb entfernt haben
view_cartWarenkorb anzeigenAuf der Warenkorbseite
begin_checkoutBeginn des VertragsDer erste Schritt zur Ausführung der Bestellung
add_shipping_infoHinzufügen von LieferinformationenAuswahl der Liefermethode
Zahlungsinformationen hinzufügenZahlungsinformationen hinzufügenAuswahl der Zahlungsmethode
kaufenKaufen SieBestellbestätigungsseite
searchSucheVerwendung der Suchmaschine des Shops
select_promotionAuf die Werbeaktion klickenKlicken auf das Werbebanner
AnmeldungAnmeldenKundenanmeldung
anmeldenAnmeldungRegistrierung eines neuen Kunden
Zur Wunschliste hinzufügenZur Wunschliste hinzufügenProdukt zur Wunschliste hinzufügen
teilenFreigabeKlicken Sie auf die Schaltfläche „Social Share“
Ereignisse aktivieren/deaktivieren:
  1. Gehen Sie in der Modulkonfiguration zum Abschnitt „Konfiguration von Ereignissen”.”
  2. Finden Sie eine Liste aller 18 Veranstaltungen
  3. Markieren Sie die Kontrollkästchen neben den Ereignissen, die Sie verfolgen möchten.
  4. Deaktivieren Sie die Kontrollkästchen bei den Ereignissen, die Sie deaktivieren möchten.
  5. Verwenden Sie die Schaltflächen „Alle auswählen” oder „Alle abwählen” für eine schnelle Konfiguration.
  6. Klicken Sie auf „Speichern”.”
Übergabe der Konfiguration an JavaScript:
// Konfiguracja eventów przekazywana do JS jako: window.ccpsEventConfig = { 'page_view': true, 'view_item': true, 'add_to_cart': true, 'purchase': false, // ... itd. };

// Sprawdzanie czy event jest włączony: function isEventEnabled(eventName) { if (typeof config.eventConfig[eventName] !== 'undefined') { return config.eventConfig[eventName]; } return true; // Domyślnie włączone }
Hinweis
Deaktivierte Ereignisse werden überhaupt nicht an den DataLayer gesendet, was Ressourcen spart und keine Daten in Google Analytics überflutet. Wenn ein Ereignis deaktiviert ist, erscheint im Debug-Modus die Meldung „Ereignis deaktiviert: Name_des_Ereignisses”, anstatt Daten zu senden.

6. Erweiterte Datenschicht
Die Funktion „Erweiterte Datenebene“ (Enhanced Data) fügt jedem Ereignis zusätzliche Informationen hinzu und bereichert so die Analysen in Google Analytics.

Was enthält die erweiterte Datenschicht?
  • Website-Daten – Art der Seite, URL, Titel, Sprache, Währung
  • Benutzerdaten – Kundenstatus (Besucher/Gast/Kunde), Benutzer-ID
  • Produktdaten – vollständige Kategorien (bis zu 5 Ebenen), Marken, Attribute
  • Bestelldaten – Liefermethoden, Zahlungsmethoden, Gutscheine
Konfiguration der erweiterten Datenschicht:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Erweiterte Datenoptionen”.”
  2. Aktivieren Sie das Kontrollkästchen „Erweiterte Datenebene”.”
  3. Aktivieren Sie das Kontrollkästchen „Seitendaten”, um Informationen zur Seite hinzuzufügen.
  4. Speichern Sie Ihre Einstellungen
Beispiel für eine erweiterte Datenschicht:
dataLayer.push({ 'event': 'page_view', 'page_type': 'product', 'page_url': 'https://example.com/produkt', 'page_title': 'Produktname – Shop', 'language': 'pl', 'currency': 'PLN', 'customer_status': 'customer', 'user_id': 123 });
Vom Modul erkannte Seitentypen:
Typ der WebsiteWert von page_typeWann
HomepagehomeIndexController
Produkt SeiteProduktProdukt-Controller
KategorieKategorieKategorie-Controller
KorbWagenCartController
AuftragsabwicklungZur KasseOrderController
KaufbestätigungkaufenOrderConfirmationController
SuchesearchSuchcontroller
InhaltsseiteInhaltCmsController
SonstigesandererAlle übrigen
Produktkategorien – Hierarchie:
  • item_category – Hauptkategorie (mit Normalisierung – erster Buchstabe groß)
  • item_category2 – Unterkategorie Ebene 2
  • item_category3 – Unterkategorie Stufe 3
  • item_category4 – Unterkategorie Stufe 4
  • item_category5 – Unterkategorie Stufe 5
Tipp
Die erweiterte Datenschicht ist besonders nützlich bei der Erstellung komplexer Segmente in Google Analytics. So können wir beispielsweise die Konversion für verschiedene Seitentypen, Sprachen oder Kundenstatus separat analysieren. Die Aktivierung dieser Funktion ist sehr empfehlenswert.

7. Erweiterte Conversions (Benutzerdaten)
Enhanced Conversions ist eine Funktion von Google Ads, die die Genauigkeit der Conversion-Messung durch die Übermittlung gehashteter Nutzerdaten verbessert.

Was sind erweiterte Conversions?
  • Hash-verschlüsselte (SHA-256) personenbezogene Daten der Nutzer
  • E-Mail, Telefon, Vorname, Nachname, Stadt, Postleitzahl, Land
  • In sicherer Form an Google übermittelt
  • Sie ermöglichen eine bessere Zuordnung von Conversions zu Werbekampagnen.
  • Erfordern die Zustimmung des Nutzers (DSGVO/GDPR)
Konfiguration von Enhanced Conversions:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Erweiterte Datenoptionen”.”
  2. Aktivieren Sie das Kontrollkästchen „Benutzerdaten (Erweiterte Conversions)”.”
  3. Stellen Sie sicher, dass Sie die Zustimmung der Nutzer zur Datenverarbeitung (DSGVO) haben.
  4. Speichern Sie Ihre Einstellungen
Warnung
Die Übermittlung von Benutzerdaten erfordert die Zustimmung gemäß DSGVO! Stellen wir sicher, dass unser Shop über eine aktuelle Datenschutz- und Cookie-Richtlinie verfügt und dass die Benutzer ihre bewusste Zustimmung zur Datenverarbeitung geben. Wir empfehlen die Integration eines Moduls zur Verwaltung von Cookie-Einwilligungen wie CC PrestaShop Cookies.
Welche Daten werden gehasht und übertragen:
DatenQuelleFormat
E-Mail$customer->E-Mailhash(’sha256′, strtolower(trim($email)))
TelefonDie erste Adresse des Kundenhash(’sha256′, nur Ziffern)
NameDie erste Adresse des Kundenhash(’sha256′, strtolower(trim()))
NameDie erste Adresse des Kundenhash(’sha256′, strtolower(trim()))
StadtDie erste Adresse des Kundenhash(’sha256′, strtolower(trim()))
PostleitzahlDie erste Adresse des Kundenhash(’sha256′, trim())
LandDie erste Adresse des KundenLändercode (ohne Hash)
Beispiel für Daten im dataLayer:
dataLayer.push({ 'event': 'purchase', 'user_id': 123, 'customer_status': 'customer', 'user_data': { 'email_hash': 'b4c9a289323b21a01c3e807...', 'phone_hash': '8d23cf6c86e834a7aa6edd9...', 'address': { 'first_name': 'a5bfc9e07964f8dddeb95fc...', 'last_name': '5e884898da28047151d0e56...', 'city': '1c383cd30b7c298ab50293a...', 'postal_code': '4e07408562bedb8b60ce05c...', 'country': 'PL' } } });
Kundenstatus:
  • Besucher – nicht angemeldeter Benutzer ohne Konto
  • Gast – als Gast angemeldet (Gast-Checkout)
  • Kunde – angemeldeter Benutzer mit Vollzugriff
Infos
Alle personenbezogenen Daten werden vor dem Versand an Google mit dem SHA-256-Algorithmus gehasht, was bedeutet, dass Google die Daten nicht in lesbarer Form erhält. Der Hash ist einseitig – die ursprünglichen Daten können nicht aus dem Hash wiederhergestellt werden. Dies entspricht den Anforderungen der DSGVO hinsichtlich der Datenminimierung.

8. Debugging-Modus
Der Debugging-Modus ermöglicht eine detaillierte Verfolgung aller Ereignisse in der Browserkonsole, was beim Testen und bei der Fehlerbehebung von unschätzbarem Wert ist.

Debug-Modus aktivieren:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Erweiterte Datenoptionen”.”
  2. Aktivieren Sie das Kontrollkästchen „Debug-Modus”.”
  3. Speichern Sie Ihre Einstellungen
  4. Öffnen Sie den Shop in einem neuen Browser-Tab.
  5. Öffnen Sie die Entwicklerkonsole (F12 → Registerkarte „Console“).
  6. Seite aktualisieren
Was zeigt der Debug-Modus an?
  • Initialisierung des Moduls: [CC Google Track] CcpsGoogleTrack v2.0 – Initialisierung
  • Jedes gesendete Ereignis: [CC Google Track] Ereignis: add_to_cart
  • Veranstaltungsdaten (E-Commerce-Objekt)
  • Deaktivierte Ereignisse: [CC Google Track] Veranstaltung deaktiviert: teilen
  • AJAX-Operationen (Abrufen von Produktdaten, Wunschliste usw.)
  • Fehler beim Parsen und Verarbeiten von Ereignissen
  • PrestaShop-Ereignisse (updatedCart, updatedProduct)
  • Beenden der Initialisierung
Beispiel für Protokolle in der Konsole:
[CC Google Track] CcpsGoogleTrack v2.0 – Initialisierung [CC Google Track] Ereignis: page_view {page_type: "product", ...} [CC Google Track] Handler registriert: add_to_cart [CC Google Track] Handler registriert: remove_from_cart [CC Google Track] Handler registriert: select_item [CC Google Track] PrestaShop-Ereignis: updatedCart {reason: {...}} [CC Google Track] Ereignis: add_to_cart {Währung: "PLN", Wert: 99,99, Artikel: [...]} [CC Google Track] CcpsGoogleTrack v2.0 – Initialisierung abgeschlossen
Verschiedene Debug-Meldungen:
MitteilungBedeutung der
Veranstaltung deaktiviert: Name_der_VeranstaltungDas Ereignis ist in der Konfiguration deaktiviert.
Produktdatenabruf über AJAX für XDas Modul ruft Produktdaten vom Server ab.
Produktdaten von PHP für X erhaltenDie Produktdaten wurden erfolgreich heruntergeladen.
AJAX-Fehler XBeim Herunterladen der Daten ist ein Fehler aufgetreten.
JSON-Parsing-FehlerDie AJAX-Antwort ist kein gültiges JSON.
Registrierter Handler: NameDie Betreuung der Veranstaltung wurde initiiert.
Tipp
Der Debug-Modus sollte NUR während des Testens aktiviert werden. In einer Produktionsumgebung sollte er deaktiviert sein, um die Konsole der Besucher nicht zu überladen und die Website nicht zu verlangsamen. Wir empfehlen, den Debug-Modus in einer Test-/Staging-Umgebung zu aktivieren, bevor Sie ihn in der Produktion einsetzen.

9. Anmeldung von Veranstaltungen
Die Ereignisprotokollierungsfunktion speichert alle Ereignisse in der PrestaShop-Datenbank, sodass sie später angezeigt und analysiert werden können.

Aktivieren der Ereignisprotokollierung:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Erweiterte Datenoptionen”.”
  2. Aktivieren Sie das Kontrollkästchen „Ereignisse protokollieren”.”
  3. Speichern Sie Ihre Einstellungen
  4. Das Modul erstellt automatisch eine Tabelle. ps_ccpsgoogletrack_logs in der Datenbank
Struktur der Logtabelle:
SäuleTypBeschreibung
id_logINT AUTO_INCREMENTHauptschlüssel
event_nameVARCHAR(100)Name der Veranstaltung (z. B. add_to_cart)
data_layerTEXTVollständiger DataLayer im JSON-Format
date_addDATETIMEDatum und Uhrzeit der Hinzufügung
Protokolle anzeigen:
  1. Gehen Sie in der Modulkonfiguration zur Registerkarte „Protokolle”.”
  2. Sie sehen eine Tabelle mit den letzten 100 Protokollen.
  3. Spalten: Datum, Ereignis, Datenebene (JSON)
  4. Möglichkeit, alle Protokolle mit der Schaltfläche „Protokolle löschen” zu löschen”
Beispiel für einen Logeintrag:
Ereignis: add_to_cart Datum: 2025-12-10 14:30:45 Datenschicht: { "event": "add_to_cart", "ecommerce": { "currency": "PLN", "value": 99.99, "items": [ { "item_id": "123", "item_name": "Testprodukt", "price": 99.99, "quantity": 1 } ] }, "page_type": "product", "customer_status": "visitor" }
Wann werden Ereignisse protokolliert?
  • Events aus dem Administrationsbereich (Hook displayHeader) – PHP-Anmeldung
  • Von JavaScript gesendete Ereignisse – Anmeldung über AJAX
  • Alle Ereignisse außer denen, die in der Konfiguration ausgeschlossen sind
  • Die Anmeldung funktioniert unabhängig vom Debug-Modus.
Logs löschen:
  1. Klicken Sie im Reiter „Protokolle” auf die Schaltfläche „Protokolle löschen”.”
  2. Bestätigen Sie den Vorgang im Dialogfeld.
  3. Alle Protokolle werden aus der Datenbank gelöscht.
  4. Eine Bestätigungsmeldung wird angezeigt.
Warnung
Das Protokollieren von Ereignissen kann zu einer großen Datenmenge in der Datenbank führen, insbesondere in Geschäften mit hohem Verkehrsaufkommen. Wir empfehlen, die Protokolle regelmäßig (z. B. monatlich) zu bereinigen oder die Protokollierung nur während der Testphase zu aktivieren. In einer Produktionsumgebung ist eine permanente Protokollierung in der Regel nicht erforderlich.

10. Eigener Tracking-Code
Die Funktion „Eigener Code” ermöglicht das Hinzufügen von benutzerdefiniertem JavaScript, das auf allen Seiten des Shops ausgeführt wird.

Verwendung des eigenen Codes:
  • Zusätzliche GTM-Events, die vom Modul nicht unterstützt werden
  • Benutzerdefinierte Verfolgung von Benutzerinteraktionen
  • Integration mit anderen Analysetools
  • Anpassungen der dataLayer nach Ihren Bedürfnissen
  • Remarketing-Skripte Facebook Pixel, TikTok Pixel usw.
Konfiguration des eigenen Codes:
  1. Suchen Sie in der Modulkonfiguration den Abschnitt „Eigener Tracking-Code”.”
  2. Aktivieren Sie das Kontrollkästchen „Eigenen Code aktivieren”.”
  3. Geben Sie Ihren JavaScript-Code in das große Textfeld ein.
  4. Verwenden Sie keine Tags. – werden automatisch hinzugefügt
  5. Speichern Sie Ihre Einstellungen
Beispiel für eigenen Code:
// Eigenes Ereignis für dataLayer dataLayer.push({ 'event': 'custom_scroll', 'scroll_depth': '50%' });

// Verfolgung von Klicks auf bestimmte Elemente document.querySelectorAll('.special-button').forEach(function(btn) { btn.addEventListener('click', function() { dataLayer.push({ 'event': 'special_button_click', 'button_text': this.textContent }); }); }); // Facebook Pixel !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', 'YOUR_PIXEL_ID'); fbq('track', 'PageView');
Verfügbare Variablen im eigenen Code:
  • window.dataLayer – Haupt-DataLayer GTM
  • window.ccpsGTMDebug – Ist der Debug-Modus aktiviert?
  • window.ccpsEventConfig – Konfiguration von Ereignissen
  • window.ccpsUserLogged – ob der Benutzer angemeldet ist
  • window.ccpsAjaxUrl – URL zum AJAX-Controller des Moduls
  • window.ccpsÜbersetzungen – Übersetzungstafel
  • prestashop – PrestaShop-Objekt (falls verfügbar)
Beispiel für die Verwendung von Modulvariablen:
// Überprüfen Sie, ob der Benutzer angemeldet ist if (window.ccpsUserLogged) { dataLayer.push({ 'event': 'logged_user_pageview' }); } // Verwenden Sie die Ereigniskonfiguration if (window.ccpsEventConfig && window.ccpsEventConfig['custom_event']) {
// Nur senden, wenn das Ereignis aktiviert ist dataLayer.push({ 'event': 'custom_event' }); } // Debug-Protokoll, wenn Debug-Modus aktiviert ist if (window.ccpsGTMDebug) { console.log('[Mein Code] Initialisierung abgeschlossen'); }
Hinweis
Der eigene Code wird am Ende des HEAD-Abschnitts, nach dem GTM-Code und nach allen Skripten des Moduls hinzugefügt. Das bedeutet, dass alle Variablen und Funktionen des Moduls bereits verfügbar sind. Der Code wird auf jeder Seite des Shops ausgeführt, daher sollte man auf die Leistung achten.

11. Übersetzungssystem
Das Modul verfügt über ein vollständiges Übersetzungssystem, das viele Sprachen unterstützt.

Übersetzte Elemente:
ElementBeispiel PLBeispiel EN
EventnamenZum Warenkorb hinzufügen (add_to_cart)In den Warenkorb (add_to_cart)
Debug-MeldungenVeranstaltung deaktiviert:Veranstaltung deaktiviert:
FehlermeldungenFehler beim Abrufen der ProduktdatenFehler beim Abrufen der Produktdaten
StatusAktivAktiv
ButtonsSpeichernSpeichern
Mechanismus zur Übertragung von Übersetzungen an JavaScript:
// W PHP (ccpsgoogletrack.php): $translations = [ 'eventDisabled' => $this->l('Event wyłączony:'), 'event' => $this->l('Event:'), 'sendingEvent' => $this->l('Wysyłanie'), // ... itd. ]; $output .= '<script>window.ccpsTranslations = ' . json_encode($translations, JSON_UNESCAPED_UNICODE) . ';</script>';

// W JavaScript (ccpsgoogletrack.js):
function t(key, defaultText) {
if (typeof window.ccpsTranslations !== 'undefined'
&& window.ccpsTranslations[key]) {
return window.ccpsTranslations[key];
}
return defaultText || key;
}

// Użycie: debugLog(t('eventDisabled', 'Event wyłączony:') + ' ' + event);
Hinzufügen einer neuen Sprache:
  1. Datei kopieren translations/de.php
  2. Ändern Sie den Namen in den Sprachcode, z. B. translations/de.php (Deutsch)
  3. Öffnen Sie die Datei in einem Texteditor.
  4. Übersetzen Sie alle Werte auf der rechten Seite (nach dem Zeichen =).
  5. Ändern Sie NICHT die Schlüssel (auf der linken Seite).
  6. Speichern Sie die Datei mit UTF-8-Kodierung.
  7. PrestaShop-Cache leeren
Beispiel für eine Übersetzungsdatei:
<?php global $_MODULE; $_MODULE = array(); $_MODULE['ccpsgoogletrack_eventdisabled'] = 'Event deaktiviert:'; $_MODULE['ccpsgoogletrack_event'] = 'Ereignis:'; $_MODULE['ccpsgoogletrack_sendingevent'] = 'Senden'; // ... weitere Übersetzungen
Liste aller Übersetzungsschlüssel:
  • eventDisabled – „Ereignis deaktiviert:”
  • Veranstaltung – „Veranstaltung:”
  • sendingEvent – „Senden”
  • receivedData – „Produktdaten von PHP für erhalten”
  • gettingProductData – „Produktdaten über AJAX abrufen für”
  • ajaxError – „AJAX-Fehler”
  • parsingError – „JSON-Parsing-Fehler:”
  • dataError – „Fehler beim Abrufen der Produktdaten”
  • handlerRegistered – „Handler registriert”
  • Initialisierung – „CcpsGoogleTrack v2.0 – Initialisierung”
  • initComplete – „CcpsGoogleTrack v2.0 – Initialisierung abgeschlossen”
  • prestashopEvent – „PrestaShop-Veranstaltung”
Tipp
Wenn der Shop mehrsprachig ist, wählt das Übersetzungssystem automatisch die entsprechende Sprache basierend auf der aktuellen Sprache von PrestaShop aus. Alle Debug-Meldungen, Ereignisnamen in der Konfiguration und Systemmeldungen werden in der Sprache des Benutzers angezeigt.

12. Veranstaltungen – Details
Detaillierte Beschreibung der Implementierung aller 18 vom Modul unterstützten Ereignisse.

page_view – Seitenaufruf
  • Wann: Auf jeder Seite des Shops
  • Hook: displayHeader
  • Daten: Seitentyp, Seiten-URL, Seitentitel, Sprache, Währung, Kundenstatus
  • Anmerkungen: Das erste Ereignis, das auf jeder Seite gesendet wird, enthält vollständige Kontextdaten.
view_item – Produkt anzeigen
  • Wann: Auf der Produktseite
  • Hook: displayProductAdditionalInfo
  • Daten: Währung, Wert, Artikel[] (Artikel-ID, Artikelname, Preis, Artikelmarke, Artikelkategorie, Menge=1)
  • Quelle: $product = prestashop.page.product oder AJAX
view_item_list – Anzeige der Produktliste
  • Wann: Kategorien, Startseite, Suchergebnisse
  • Hook: displayFooter (für Kategorie)
  • Daten: Währung, item_list_id, item_list_name, items[] (alle Produkte mit Index)
  • Anmerkungen: Verwendet prestashop.page.page_name zur Identifizierung des Listentyps.
select_item – Klicken auf ein Produkt
  • Wann: Klicken Sie auf den Produktlink in der Liste.
  • Mechanismus: JavaScript-Klick-Listener auf .product-miniature a
  • Daten: Währung, Artikel-Liste-ID, Artikel-Liste-Name, Artikel[] (angeklicktes Produkt)
  • Quelle: data-product-gtm-Attribut oder AJAX
add_to_cart – Zum Warenkorb hinzufügen
  • Wann: Nachdem Sie das Produkt in den Warenkorb gelegt haben
  • Mechanismus: Erfassen des PrestaShop-Ereignisses 'updateCart’
  • Daten: Währung, Wert, Artikel[] (hinzugefügtes Produkt mit Menge)
  • Quelle: prestashop.page.product oder AJAX GetProductData
  • Anmerkungen: Erkennt die Menge aus verschiedenen Quellen (#quantity_wanted, event.reason.qty, event.resp.quantity)
remove_from_cart – Aus dem Warenkorb entfernen
  • Wann: Nachdem Sie das Produkt aus dem Warenkorb entfernt haben
  • Mechanismus: Klicken Sie auf „Listener“ .aus-dem-Warenkorb-entfernen
  • Daten: Währung, Wert, Artikel[] (entferntes Produkt)
  • Quelle: Attribute data-id-product, data-price, data-name
view_cart – Warenkorb anzeigen
  • Wann: Auf der Warenkorbseite
  • Hook: displayShoppingCart
  • Daten: Währung, Wert, Artikel[] (alle Produkte im Warenkorb)
  • Quelle: $cart->getProducts()
begin_checkout – Bestellung starten
  • Wann: Der erste Schritt zur Ausführung der Bestellung
  • Mechanismus: JavaScript auf der Checkout-Seite
  • Daten: Währung, Wert, Artikel[], Gutschein (falls vorhanden)
  • Quelle: window.prestashop.cart
add_shipping_info – Auswahl der Lieferart
  • Wann: Nach Auswahl der Liefermethode
  • Hook: actionCarrierProcess
  • Daten: Währung, Wert, Artikel[], Versandstufe (Name des Transportunternehmens)
  • Mechanismus: Auch JavaScript-Listener für die Änderung von .delivery-option input
add_payment_info – Auswahl der Zahlungsart
  • Wann: Nach Auswahl der Zahlungsmethode
  • Mechanismus: JavaScript-Listener für .payment-option input
  • Daten: Währung, Wert, Artikel[], Zahlungsart (Name des Zahlungsmoduls)
purchase – Kauf
  • Wann: Bestellbestätigungsseite
  • Hook: displayOrderConfirmation
  • Daten: Währung, Transaktions-ID, Wert, Steuer, Versand, Gutschein, Artikel[]
  • Quelle: $order = new Order($id_order)
  • Anmerkungen: Das wichtigste Ereignis für die Konversion
search – Suche
  • Wann: Verwendung der Suchmaschine
  • Hook: actionSearch
  • Daten: search_term (Suchbegriff)
  • Fallback: JavaScript überprüft die URL-Parameter (s=, search_query=)
login – Anmelden
  • Wann: Nach der Anmeldung des Benutzers
  • Hook: actionAuthentication
  • Mechanismus: Auch JavaScript erkennt die Änderung von ccpsUserLogged in sessionStorage.
  • Daten: Methode: ’E-Mail’
sign_up – Registrierung
  • Wann: Nach der Registrierung eines neuen Kunden
  • Hook: actionCustomerAccountAdd
  • Mechanismus: Cookie ccps_just_registered wird in sessionStorage übertragen
  • Daten: Methode: ’E-Mail’
add_to_wishlist – Wunschliste
  • Wann: Produkt zur Wunschliste hinzufügen
  • Mechanismus: Fetch- und XMLHttpRequest-Interception für blockwishlist
  • Daten: Währung, Wert, Artikel[] (hinzugefügtes Produkt)
  • Quelle: AJAX GetProductData
  • Anmerkungen: Funktioniert mit dem Modul blockwishlist
share – Teilen
  • Wann: Klicken Sie auf die Schaltfläche „Social Share“
  • Mechanismus: Klicken Sie auf „Listener“ .social-sharing a
  • Daten: Methode (Facebook/Twitter/Pinterest/LinkedIn/E-Mail), Inhaltstyp, Element-ID, Elemente[]
  • Quelle: prestashop.page.product oder AJAX
select_promotion – Klick auf eine Werbeaktion
  • Wann: Automatisch, wenn das Produkt einen Rabatt hat
  • Hook: displayProductAdditionalInfo (zusammen mit view_item)
  • Daten: Währung, Wert, Artikel[], Aktions-ID, Aktionsname
  • Anmerkungen: Verwendet specific_prices für Aktionsdaten
Erfolg
Alle Ereignisse entsprechen der offiziellen Spezifikation von Google Analytics 4 Enhanced Ecommerce. Die Datenstruktur items[] enthält alle erforderlichen und empfohlenen Felder (item_id, item_name, price, quantity, item_brand, item_category). Das Modul normalisiert automatisch die Namen der Kategorien (erster Buchstabe groß) und unterstützt bis zu 5 Ebenen der Kategoriehierarchie.

13. Veranstaltungskalender
Nachfolgend finden Sie einen Kalender, aus dem hervorgeht, wann und auf welchen Seiten die einzelnen Veranstaltungen veröffentlicht werden.

Events auf verschiedenen Arten von Websites:
SeiteAutomatische EreignisseInteraktive Events
Homepagepage_view, view_item_listselect_item
Kategoriepage_view, view_item_listselect_item
Suchepage_view, search, view_item_listselect_item
Produktpage_view, view_item, select_promotion (bei Rabatt)add_to_cart, add_to_wishlist, share
Korbpage_view, view_cartAus dem Warenkorb entfernen, Zur Kasse gehen
Zur Kassepage_view, begin_checkoutadd_shipping_info, add_payment_info
BestätigungSeitenaufruf, Kauf
Anmeldenpage_view, login
Anmeldungpage_view, sign_up
Kundenreise (Customer Journey) mit Events:
  1. Homepage → Seitenansicht, Artikelübersicht
  2. Auf das Produkt klicken → select_item
  3. Produkt Seite → Seitenansicht, Artikelansicht, (Werbung auswählen)
  4. In den Warenkorb legen → In den Warenkorb
  5. Warenkorbseite → Seitenaufruf, Warenkorb anzeigen
  6. Beginn des Vertrags → Zur Kasse gehen
  7. Auswahl der Lieferung → Versandinformationen hinzufügen
  8. Zahlungsauswahl → Zahlungsinformationen hinzufügen
  9. Bestätigung → Seitenaufruf, Kauf
Infos
Jedes automatische Ereignis wird beim Laden der Seite gesendet (PHP-Hook), während interaktive Ereignisse als Reaktion auf Benutzeraktionen gesendet werden (JavaScript). Das Modul erkennt Duplikate auf intelligente Weise und sendet dasselbe Ereignis nicht zweimal für dieselbe Aktion.

14. Test Tag Assistant
Google Tag Assistant ist das offizielle Tool von Google zum Testen und Debuggen der Implementierung von Google Tag Manager.

Testen mit Tag Assistant:
  1. Installieren Sie die Erweiterung Tag Assistant Legacy von Google zu Chrome
  2. Oder verwenden Sie das neue Tool Google Tag-Assistent in Chrome DevTools
  3. Zur Shop-Seite gehen
  4. Klicken Sie auf das Symbol „Tag Assistant“ in der Symbolleiste.
  5. Klicken Sie auf „Enable”, um die Aufnahme zu starten.
  6. Seite aktualisieren
  7. Führen Sie Testaktionen durch (zum Warenkorb hinzufügen, zur Kasse gehen usw.).
  8. Tag Assistant-Bericht anzeigen
Was Sie im Tag Assistant überprüfen sollten:
  • GTM-Tag gefunden – Die grüne Markierung bedeutet, dass die Installation korrekt ist.
  • DataLayer – Überprüfen Sie, ob es die richtigen Ereignisdaten enthält.
  • Entlassene Tags – Liste der Tags, die aktiviert wurden
  • Variablen – Variablen, die an GTM gesendet werden
  • Fehler – rote Markierungen weisen auf Probleme hin
Konfiguration von Tags in GTM (Beispiel GA4):
  1. Melden Sie sich bei Google Tag Manager an.
  2. Gehen Sie zur Registerkarte „Tags”.”
  3. Klicken Sie auf „Neu”.”
  4. Wählen Sie den Tag-Typ: „Google Analytics: GA4-Ereignis”
  5. Geben Sie die ID Measurement (G-XXXXXXXXXX aus GA4) ein.
  6. Name des Ereignisses: {{Event}} (eingebaute Variable)
  7. Auslöser: „Custom Event” mit Ereignisnamen (add_to_cart, purchase usw.)
  8. Oder ein universeller Trigger für alle Ereignisse mit dataLayer
  9. Speichern und veröffentlichen Sie den Container
GTM-Vorschau-Modus (Preview Mode):
  1. Klicken Sie in GTM oben rechts auf „Vorschau”.
  2. Geben Sie die URL des Shops ein
  3. Klicken Sie auf „Verbinden”.”
  4. Ein neues Fenster mit dem GTM-Debugger wird geöffnet.
  5. Führen Sie Aktionen im Shop durch
  6. Im Debugger werden alle dataLayer-Ereignisse in Echtzeit angezeigt.
  7. Überprüfen Sie, welche Tags für jedes Ereignis aktiviert wurden.
Link zum Tag Assistant:
Tipp
Das offizielle Testtool von Google finden Sie unter: tagassistant.google.com

Dort können wir testen, ob alles ordnungsgemäß funktioniert, ob GTM installiert ist und ob die Ereignisse korrekt an Google Analytics gesendet werden.

15 Fehlersuche
GTM wird nicht auf der Website geladen
  1. Überprüfen Sie, ob GTM in den Moduleinstellungen aktiviert ist.
  2. Überprüfen Sie die Richtigkeit der GTM-Container-ID (Format: GTM-XXXXXX).
  3. Leeren Sie den PrestaShop-Cache (Erweiterte Einstellungen → Leistung → Cache leeren)
  4. Überprüfen Sie, ob die Quelle der Website gtm.js und noscript iframe enthält.
  5. Deaktivieren Sie andere Module, die den Header verändern können.
  6. Überprüfen Sie, ob in der Konsole JavaScript-Fehler vorhanden sind.
Events werden nicht versendet
  1. Aktivieren Sie den Debug-Modus und überprüfen Sie die Browserkonsole.
  2. Überprüfen Sie, ob die Ereignisse in der Konfiguration des Moduls aktiviert sind.
  3. Überprüfen Sie, ob dataLayer definiert ist (console.log(window.dataLayer)).
  4. Überprüfen Sie, ob es Konflikte mit anderen GTM-Modulen gibt.
  5. Stellen Sie sicher, dass das JavaScript-Modul geladen wurde (ccpsgoogletrack.js).
  6. Überprüfen Sie, ob hookDisplayHeader vom Theme ausgeführt wird.
add_to_cart funktioniert nicht
  1. Aktivieren Sie den Debug-Modus und beobachten Sie die Protokolle in der Konsole.
  2. Überprüfen Sie, ob das PrestaShop-Ereignis 'updateCart’ aufgerufen wird.
  3. Überprüfen Sie, ob prestashop.on() verfügbar ist.
  4. Überprüfen Sie, ob den Produkten Daten zugewiesen sind (id_product, Preis, Name).
  5. Stellen Sie sicher, dass der AJAX-Controller funktioniert (/module/ccpsgoogletrack/ajax).
  6. Überprüfen Sie, ob es keine AJAX-Fehler im Reiter „Netzwerk“ gibt.
purchase registriert keine Conversions
  1. Überprüfen Sie, ob „Event Purchase“ aktiviert ist.
  2. Überprüfen Sie, ob Sie sich auf der Seite „order-confirmation” befinden.
  3. Stellen Sie sicher, dass hookDisplayOrderConfirmation ausgeführt wird.
  4. Überprüfen Sie, ob die Bestellung korrekt geladen wurde ($order).
  5. Aktivieren Sie die Ereignisprotokollierung und überprüfen Sie, ob der Kauf gespeichert wird.
  6. Überprüfen Sie in GTM, ob Sie das GA4-Tag für das Ereignis „Kauf“ konfiguriert haben.
Übersetzungen funktionieren nicht
  1. Überprüfen Sie, ob die Datei translations/XX.php für Ihre Sprache vorhanden ist.
  2. Überprüfen Sie das Dateiformat (UTF-8-Kodierung, korrekte PHP-Syntax).
  3. PrestaShop-Cache leeren
  4. Überprüfen Sie, ob window.ccpsTranslations in der Quelle der Website definiert ist.
  5. Stellen Sie sicher, dass die Funktion t() in JavaScript verfügbar ist.
Die Anmeldung für Veranstaltungen funktioniert nicht.
  1. Prüfen Sie, ob die Funktion in den Einstellungen aktiviert ist
  2. Überprüfen Sie, ob die Tabelle ps_ccpsgoogletrack_logs in der Datenbank vorhanden ist.
  3. Prüfen Sie die Schreibrechte für die Datenbank
  4. Stellen Sie sicher, dass der AJAX-Controller Anfragen (action=LogEvent) akzeptiert.
  5. Aktivieren Sie WP_DEBUG und überprüfen Sie die Fehlerprotokolle.
  6. Überprüfen Sie, ob Sie das Limit für die Tabellengröße nicht überschritten haben.
Der eigene Code wird nicht ausgeführt.
  1. Prüfen Sie, ob die Funktion in den Einstellungen aktiviert ist
  2. Überprüfen Sie, ob der Code korrekt ist JavaScript (überprüfen Sie die Konsole)
  3. Stellen Sie sicher, dass Sie keine -Tags im Code verwenden.
  4. Überprüfen Sie, ob sich der Code im Quellcode der Website befindet (Abschnitt HEAD).
  5. Test the code piece by piece to find the error.
Fehler
Wenn die Probleme weiterhin bestehen, aktivieren Sie den Debug-Modus in den Moduleinstellungen und die Ereignisprotokollierung. Sammeln Sie alle Informationen aus der Browserkonsole, dem Reiter „Netzwerk“ und den Ereignisprotokollen. Wenden Sie sich an den COCOS-Support unter cocos.codes/unterstützung und fügen Sie die gesammelten Informationen bei.

16. FAQ
Ist das Modul mit PrestaShop 9.0 kompatibel?
Ja, das Modul wurde getestet und ist vollständig kompatibel mit PrestaShop 1.7.x, 8.x und der neuesten Version 9.0.

Kann ich das Modul ohne Google Analytics-Konto verwenden?
Ja, das Modul überträgt Daten an Google Tag Manager. GTM kann Daten an viele verschiedene Systeme übertragen, nicht nur an Google Analytics. Wir können Daten an Facebook Pixel, TikTok Pixel, eigene Analysesysteme usw. senden.

Verlangsamt das Modul den Shop?
Nein, das Modul ist auf Leistung optimiert. Der GTM-Code wird asynchron geladen und alle Skripte sind minimiert. Die Auswirkungen auf die Leistung sind minimal (< 0,1 s Ladezeit).

Kann ich bestimmte Ereignisse deaktivieren?
Ja, in der Modulkonfiguration können wir jedes der 18 Ereignisse einzeln aktivieren oder deaktivieren. Deaktivierte Ereignisse werden überhaupt nicht an dataLayer gesendet.

Wie funktioniert die Erkennung von add_to_cart?
Das Modul erfasst das PrestaShop-Ereignis 'updateCart’ und überwacht Klicks auf die Schaltflächen „Zum Warenkorb hinzufügen”. Es erkennt automatisch die Menge aus verschiedenen Quellen und ruft bei Bedarf Produktdaten über AJAX ab.

Unterstützt das Modul Mehrsprachigkeit?
Ja, das Modul verfügt über vollständige Übersetzungen für Polnisch und Englisch. Wir können ganz einfach eigene Sprachen hinzufügen, indem wir Dateien aus dem Verzeichnis translations/ kopieren und übersetzen.

Was sind erweiterte Conversions?
Enhanced Conversions ist eine Funktion von Google Ads, die die Genauigkeit der Conversion-Messung verbessert, indem sie gehashte Nutzerdaten (E-Mail, Telefon, Adresse) übermittelt. Erfordert die Zustimmung gemäß DSGVO.

Ist das Modul DSGVO-konform?
Das Modul selbst ist DSGVO-konform – es hasht alle personenbezogenen Daten mit dem SHA-256-Algorithmus. Um jedoch vollständig konform zu sein, müssen wir über eine aktuelle Datenschutzerklärung und die Zustimmung der Nutzer zu Cookies verfügen. Wir empfehlen die Integration mit dem Cookie-Management-Modul.

Wie kann man überprüfen, ob das Modul ordnungsgemäß funktioniert?
Aktivieren Sie den Debug-Modus in den Einstellungen, öffnen Sie die Browserkonsole (F12) und beobachten Sie die Protokolle. Sie können auch Google Tag Assistant oder den GTM-Vorschaumodus verwenden, um alle Ereignisse in Echtzeit anzuzeigen.

Kann ich eigene Veranstaltungen hinzufügen?
Ja, Sie können die Funktion „Eigener Tracking-Code” in den Einstellungen verwenden, um beliebigen JavaScript-Code hinzuzufügen, der eigene Ereignisse an dataLayer sendet.

Wie lange werden Ereignisprotokolle gespeichert?
Die Protokolle werden in der Datenbank gespeichert, bis sie manuell gelöscht werden. Wir empfehlen, die Protokolle regelmäßig (z. B. einmal im Monat) zu löschen, damit die Datenbank nicht überfüllt wird.

Funktioniert das Modul mit dem Cookie-/DSGVO-Modul?
Ja, das Modul ist mit den meisten Modulen zur Verwaltung von Cookie-Einwilligungen kompatibel. Wir können es über unseren eigenen Tracking-Code in Google Consent Mode 2.0 integrieren.

Was passiert bei der Deinstallation?
Das Modul löscht alle seine Einstellungen aus der Datenbank (Optionen, Protokolltabelle). Es löscht jedoch nicht die Moduldateien – diese müssen manuell aus dem Verzeichnis modules/ccpsgoogletrack/ gelöscht werden.

Kann ich Ereignisprotokolle exportieren?
Derzeit verfügt das Modul nicht über eine Funktion zum Exportieren von Protokollen. Wir können jedoch direkt die Datenbank (Tabelle ps_ccpsgoogletrack_logs) abfragen oder eine eigene Exportfunktion hinzufügen.

Wie oft werden die Übersetzungen aktualisiert?
Die Übersetzungen werden mit jeder neuen Version des Moduls aktualisiert. Wenn eine Übersetzung für eine bestimmte Sprache fehlt, können wir sie selbst hinzufügen oder an COCOS melden.

Hinterlassen Sie Ihren Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Zuletzt angesehene Produkte

PrestaShop Google Tag Manager (GTM, GA4, ADS)

(0)
$49,00 ohne Mehrwertsteuer

WordPress-Kundenbuchungssystem 1.0.0

(3)
$49,00 ohne Mehrwertsteuer

[FREE] PrestaShop PayNow

(0)
$0,00 ohne Mehrwertsteuer

PrestaShop- und WordPress-Entwicklungsdienstleistungen

(2)
$27,00 ohne Mehrwertsteuer

Anmeldung

Einkaufswagen

Schließen Sie

Ihr Warenkorb ist leer.

Einkaufen beginnen

Seitenleiste