PS PrestaShop Anfänger

Cookie Manager Tarteaucitron — Vollständige Anleitung

Installation, Dienstkonfiguration, automatischer Scanner, Consent Mode v2 und Einwilligungsprotokoll des Moduls Cookie Manager Tarteaucitron für PrestaShop 8 und 9.

Aktualisiert Modulversion 1.3.0

Überblick

Cookie Manager Tarteaucitron ist ein Modul zur Verwaltung der Cookie-Einwilligung für PrestaShop 8.0+ und 9.x. Es verbindet die Open-Source-Engine tarteaucitron.js, die Dienste vor der Einwilligung tatsächlich blockiert, mit einer modernen Oberfläche: animierte schwebende Karte, Schalter je Kategorie und eine Pille zum erneuten Öffnen. Enthalten sind Google Consent Mode v2, ein Tracker-Scanner mit Aktivierung per Klick und ein exportierbares Einwilligungsprotokoll.

Seit Version 1.2.0 werden die tarteaucitron-Dateien von Ihrer eigenen Domain ausgeliefert: vor der Einwilligung geht keine Anfrage an ein fremdes CDN.

Installation

  1. Gehen Sie zu Module → Modul-Manager → Modul hochladen.
  2. Laden Sie datafirefly_tarteaucitron.zip hoch.
  3. Klicken Sie auf Installieren und dann auf Konfigurieren.

Der Konfigurationsbildschirm ist auf zwei Wegen erreichbar, beide zeigen dieselbe Seite: die Schaltfläche Konfigurieren im Modul-Manager oder der bei der Installation angelegte Menüeintrag Cookie Manager.

Leeren Sie nach jedem Update den PrestaShop-Cache unter Erweiterte Einstellungen → Leistung. Das Upgrade-Skript setzt zusätzlich den PHP-OPcache zurück, sofern es darf.

Update von einer älteren Version

Überschreiben Sie /modules/datafirefly_tarteaucitron/ oder installieren Sie das neue ZIP im Backoffice. Das Upgrade-Skript läuft automatisch und kümmert sich um die Protokolltabelle, falls sie fehlt, um die neuen Konfigurationsschlüssel, um die umbenannten Bannerpositionen (bottom wird zu bottom-left, middle und popup werden zu center) und um den Menüeintrag, falls er fehlt.

Wenn Sie die Position middle oder popup genutzt haben, wird das Banner zu einem zentrierten Modal mit abgedunkeltem Hintergrund. Das Verhalten ist korrekt, die Darstellung ändert sich aber sichtbar: prüfen Sie sie vor dem Livegang.

Allgemeine Einstellungen

  • Modul aktiviert: Hauptschalter für das Banner im Frontoffice.
  • Bannersprache: auf automatisch folgt sie der PrestaShop-Sprache der Seite. Sie können auch eine der 36 mitgelieferten Sprachen erzwingen.
  • Bannerposition: unten links oder rechts, oben links oder rechts, oder zentriert als Modal.
  • tarteaucitron-Dateien: lokal gehostet, empfohlen, oder jsDelivr-CDN. Siehe den eigenen Abschnitt.
  • Gültigkeit der Einwilligung: standardmäßig 365 Tage. Empfohlen sind höchstens 13 Monate, also 395 Tage.
  • Cookie-Name: standardmäßig tarteaucitron. Eine Änderung setzt die bereits eingeholten Einwilligungen zurück, da das alte Cookie nicht mehr gelesen wird.
  • Cookie-Domain: leer für die aktuelle Domain, oder mit führendem Punkt, um die Einwilligung über Subdomains zu teilen.
  • Pille zum erneuten Öffnen: zeigt nach der Einwilligung eine kleine Cookies-Pille. Siehe den Abschnitt zum Widerruf.
  • Schließen gilt als Ablehnung: fügt ein Kreuz hinzu, das alle nicht notwendigen Cookies ablehnt. Deaktiviert verlangt das Banner eine ausdrückliche Entscheidung.

Der Reiter Texte & Links passt Titel, Nachricht und Buttonbeschriftungen an; ein leeres Feld nutzt den modul-eigenen Text in der Bannersprache. Der Reiter Design steuert Farben und Eckenrundung, mit Live-Vorschau und einer WCAG-Kontrastprüfung zwischen Buttonfarbe und Buttontext.

Woher die tarteaucitron-Dateien kommen

Ein Cookie-Banner, das seine eigenen Dateien von einem CDN lädt, übergibt die IP-Adresse des Besuchers an einen Dritten, bevor dieser überhaupt entschieden hat. Deshalb liefert das Modul tarteaucitron.js 1.30.0 samt 36 Sprachdateien in views/vendor/tarteaucitron/ mit, ausgeliefert von Ihrer Domain.

Die Option jsDelivr-CDN bleibt im Reiter Allgemein verfügbar. Sie ist nicht empfohlen: Sie übergibt die IP-Adresse des Besuchers schon beim Seitenaufruf an jsDelivr, vor jeder Einwilligung.

Dienste aktivieren

Der Reiter Dienste listet die 11 vorbereiteten Integrationen. Schalten Sie jeweils den Schalter ein und tragen Sie die verlangte Kennung ein:

  • Google Analytics 4: Measurement ID im Format G-XXXXXXXX
  • Google Tag Manager: Container ID im Format GTM-XXXXXX
  • Google Ads: Conversion ID
  • Meta Pixel: numerische Pixel ID
  • Hotjar: numerische Site ID
  • LinkedIn Insight: Partner ID
  • TikTok Pixel: Pixel ID
  • Microsoft Clarity: Project ID
  • Intercom: App ID
  • YouTube: keine Kennung, blockiert eingebettete Videos vor der Einwilligung
  • Stripe: keine Kennung, siehe eigener Abschnitt

Ein ohne Kennung aktivierter Dienst wird im Frontoffice nicht geladen. Das Modul markiert ihn rot in der Tabelle und warnt beim Speichern, prüfen Sie Ihre Kennungen aber nach der automatischen Aktivierung durch den Scanner.

Das Kennungsfeld wird gesperrt, sobald der Dienst ausgeschaltet ist. Der gespeicherte Wert bleibt erhalten und kehrt beim Wiedereinschalten zurück.

Scanner und automatische Erkennung

  1. Klicken Sie im Reiter Auto-Erkennung auf Website jetzt scannen. Das Modul liest die auf Ihrer Domain gesetzten Cookies und holt das HTML Ihres Frontoffice, um Skript-Tags von Drittanbietern auszuwerten.
  2. Zwei Tabellen erscheinen: erkannte Cookies mit wahrscheinlichem Dienst und Kategorie sowie erkannte Drittanbieterskripte mit ihrem aktuellen Status im Modul.
  3. Klicken Sie auf Erkannte Dienste aktivieren und speichern Sie.
  4. Wechseln Sie in den Reiter Dienste, um die Kennungen der neu aktivierten Dienste einzutragen.

Der Scanner erkennt Google Analytics, Google Tag Manager, Google Ads, Meta Pixel, Hotjar, LinkedIn, TikTok, Microsoft Clarity, Intercom, Brevo, Stripe und YouTube sowie die funktionalen PrestaShop-Cookies.

Besuchen Sie Ihr Frontoffice zuerst im selben Browser und starten Sie dann den Scan: Die von Ihren Trackern gesetzten Cookies sind dann sichtbar und die Erkennung vollständiger. Liegen Backoffice und Frontoffice auf verschiedenen Domains, funktioniert nur die Skriptanalyse.

Statistiken und A/B-Test

Seit Version 1.3.0 misst der Reiter Statistiken & A/B, was das Banner tatsächlich erreicht. Das Modul zählt die Einblendungen und nicht mehr nur die Antworten – erst dadurch lässt sich die Akzeptanzrate berechnen.

  • Kennzahlen: Einblendungen, Antwortrate, Rate für „Alles akzeptieren“, Ablehnungsrate, Anteil individueller Auswahl, Opt-in je Kategorie, Verteilung Desktop / Mobil und täglicher Verlauf, über 7, 30, 90 oder 365 Tage oder über die gesamte Historie.
  • Datenschutz: Die Zähler werden je Tag, Variante und Gerätetyp in der Tabelle dftac_banner_stats aggregiert. Keine personenbezogenen Daten, keine Besucherkennung, kein Cookie. Eine Einblendung wird dank eines lokalen Sitzungsmarkers nur einmal pro Besuch gezählt.
  • Bots: Ein serverseitiger User-Agent-Filter schließt Suchmaschinen und Audit-Werkzeuge aus, und eine Einblendung wird erst bei der ersten Nutzeraktion gezählt (Zeiger, Taste, Scrollen oder Antwort). Ohne diesen Filter blähen Bots, die JavaScript ausführen, den Nenner auf, ohne je zu antworten, und drücken die Rate.
  • Export und Zurücksetzen: CSV-Export der Zähler und Reset-Schaltfläche, beide unabhängig vom DSGVO-Protokoll.

Einen A/B-Test starten

  1. Aktivieren Sie den Test und legen Sie den Traffic-Anteil für Variante B fest. 50 % liefert am schnellsten ein lesbares Ergebnis.
  2. Füllen Sie nur die Felder aus, die Sie testen wollen: Titel, Text, Beschriftung der drei Schaltflächen, Position. Leere Felder übernehmen Variante A.
  3. Lassen Sie den Test laufen. Die Zuteilung bleibt während des gesamten Besuchs stabil.
  4. Lesen Sie das Ergebnis: Das Modul vergleicht beide Raten mit einem z-Test für zwei Anteilswerte und nennt erst ab 100 Einblendungen je Variante und einem auf 95 % signifikanten Unterschied einen Gewinner.
  5. Übernehmen Sie den siegreichen Text in Variante A und schalten Sie den Test ab.

Am stärksten wirkt die Position: Vergleichen Sie das zentrierte Modal mit der Karte in der Ecke, bevor Sie an den Formulierungen feilen.

Seit März 2024 für europäische Werbetreibende verpflichtend, erlaubt Consent Mode v2 Google die Modellierung von Conversions auch bei Ablehnung. Das Modul sendet die sieben erforderlichen Signale (ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, security_storage) als default im <head>, vor jedem Tag, und aktualisiert sie, sobald der Besucher antwortet. Jeder Standardzustand ist konfigurierbar, denied wird im EWR empfohlen.

Besonderheit: Der Standardzustand wird aus dem vorhandenen Einwilligungs-Cookie abgeleitet, wenn eines existiert. Wer bereits zugestimmt hat, erhält granted ab dem ersten Frame, ohne vorübergehendes denied-Fenster, das Ihre Google-Ads-Conversions bei jedem Neuladen beschneidet. Serverseitig und im Browser wird dieselbe Zuordnung von Dienst zu Signal verwendet, damit Standardzustand und Aktualisierung zusammenpassen.

wait_for_update legt fest, wie lange Google auf das Banner wartet, bevor Daten gesendet werden. 500 ms ist der empfohlene Wert.

Stripe und unbedingt erforderliche Cookies

Die Stripe-Cookies (__stripe_mid, __stripe_sid) sind zur Betrugsprävention beim Bezahlen erforderlich und fallen unter die Ausnahme für unbedingt erforderliche Tracker: Sie zu blockieren würde den Checkout zerstören. Ist der Dienst Stripe aktiviert, lädt er ohne Einwilligungsabfrage und erscheint im Einstellungsbereich unter Notwendig und Zahlung mit dem Hinweis Immer aktiv. Der Besucher ist informiert, und keine Zahlung wird blockiert.

Einwilligung widerrufen

Die DSGVO verlangt, dass der Widerruf so einfach ist wie die Erteilung. Drei Wege stehen zur Verfügung, sie lassen sich kombinieren:

  • die schwebende Pille nach der Entscheidung, im Reiter Allgemein aktivierbar;
  • ein Link im Footer: <a href="#tarteaucitron">Cookies verwalten</a>;
  • ein JavaScript-Aufruf: dftacOpenPreferences(), aus einem beliebigen Element Ihres Themes.

Wenn Sie die Pille deaktivieren, richten Sie einen der beiden anderen Wege ein. Sonst kann der Besucher seine Entscheidung nicht mehr ändern.

Eigene Dienste

Der Reiter Eigene Dienste ergänzt jedes fehlende Drittanbieterskript: ein eindeutiger Schlüssel in Kleinbuchstaben, ein Anzeigename, eine Kategorie (analytic, ads, social, video, support, api oder other), das erst nach der Einwilligung ausgeführte JS, die gesetzten Cookie-Namen und eine URL zur Datenschutzerklärung. Sie erscheinen im Banner unter einer eigenen Kategorie mit eigenem Schalter, und ihre Kategorie bestimmt das zugehörige Consent-Mode-Signal.

Der hier eingetragene Code läuft unverändert im Frontoffice. Fügen Sie nur Code ein, dessen Herkunft Sie kennen.

Einwilligungsprotokoll

Artikel 7 DSGVO verlangt den Nachweis, dass die Einwilligung erteilt wurde. Der Reiter DSGVO-Protokoll zeigt die Einträge seitenweise, jeweils mit Datum und Uhrzeit, anonymer Besucherkennung, akzeptierten Kategorien und dem Detail je Dienst.

  • Die IP-Adresse wird nie im Klartext gespeichert: nur ein HMAC-SHA256-Hash, gesalzen mit einem shopeigenen Schlüssel. Ein ungesalzener SHA-256 ließe sich über den IPv4-Raum per Brute Force zurückrechnen.
  • Die Besucherkennung stammt aus einem eigenen technischen Cookie und enthält keine personenbezogenen Daten.
  • Eine serverseitige Deduplizierung ignoriert eine zweite identische Übermittlung desselben Besuchers innerhalb von 5 Sekunden und neutralisiert so Doppelklicks.
  • Die Übermittlung nutzt keepalive und kommt auch an, wenn der Besucher unmittelbar danach die Seite wechselt.
  • Eine automatische Bereinigung löscht Einträge nach der von Ihnen gesetzten Aufbewahrungsdauer. Sie läuft beim Öffnen der Konfigurationsseite, höchstens einmal täglich.
  • CSV-Export erzeugt eine Datei mit Zeitstempel, UTF-8 mit BOM, damit sie in Excel korrekt öffnet.
  • Das Protokoll bleibt bei einer Deinstallation erhalten, damit Ihre Prüfspur nicht verloren geht.
  • Die Protokollierung lässt sich abschalten, wenn Sie diesen Nachweis nicht aufbewahren möchten.

Multishop

Jeder Shop hat eine eigene Konfiguration: aktivierte Dienste, Texte, Farben, Position und Consent-Mode-Einstellungen. Der Hinweis oben im Konfigurationsbildschirm zeigt, welchen Shop Sie gerade bearbeiten.

Fehlerbehebung

  • Das Banner erscheint nicht: Prüfen Sie, ob das Modul im Reiter Allgemein aktiviert ist, leeren Sie den PrestaShop-Cache und stellen Sie sicher, dass kein weiteres Einwilligungsmodul parallel läuft.
  • Die Auswahl wird nicht gespeichert: Löschen Sie das alte Einwilligungs-Cookie im Browser und prüfen Sie, ob der Cookie-Name seit der letzten Einwilligung geändert wurde.
  • Ein Dienst lädt nach der Zustimmung nicht: Prüfen Sie, ob seine Kennung eingetragen ist. Eine leere Kennung bei aktiviertem Dienst wird in der Tabelle rot markiert.
  • Der Scan findet nichts: Besuchen Sie zuerst das Frontoffice im selben Browser und starten Sie den Scan erneut.
  • Nichts im Protokoll: Prüfen Sie, ob die Protokollierung im Reiter DSGVO-Protokoll aktiviert ist, und willigen Sie erneut in einem privaten Fenster ein.
  • Eine Änderung am Modul wirkt nicht: Leeren Sie den PrestaShop-Cache und laden Sie PHP neu, falls Ihr Hoster OPcache nutzt. Das Upgrade-Skript setzt OPcache automatisch zurück, sofern es darf.

Sie brauchen Hilfe? Kontaktieren Sie den DataFireFly-Support über Ihr Kundenkonto, Antwort innerhalb von 24 Werkstunden.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren