Matomo Analytics
Datenschutzfreundliche Matomo-Webanalyse für Sylius 2 - Cookie-loses Tracking, Do-Not-Track, Klaro-Einwilligung, E-Commerce-Tracking, pro Channel konfigurierbar, dual-mode über Storefront und Shop API
Matomo Analytics
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Überblick
Datenschutzfreundliche Webanalyse mit Matomo für Sylius-2-Shops. Das Plugin gibt das Tracking-Skript im Storefront aus, erfasst Produktaufrufe und abgeschlossene Bestellungen und lässt sich pro Channel konfigurieren: Matomo-URL, Site-ID und jeder Schalter gelten für genau einen Channel. Das Tracking kommt ohne Cookies aus, respektiert die Do-Not-Track-Einstellung des Browsers und kann optional hinter eine Klaro-Einwilligung gestellt werden.
Das Plugin arbeitet dual-mode: Das Twig-Storefront rendert das Skript, und dieselben Channel-Einstellungen liest ein Headless-Storefront über die Shop API.
Datenschutz: Das Plugin sendet Tracking-Daten ausschließlich an die Matomo-URL, die du pro Channel einträgst, und nur über HTTPS. Ein Channel ohne Eintrag, mit ausgeschaltetem Schalter oder mit unvollständigen Angaben trackt nichts.
graph LR
A["Storefront-Seite"] --> C["Tracking-Konfiguration des Channels"]
B["Shop API Anfrage"] --> C
C --> D{"Aktiviert und gültig?"}
D -->|"Nein"| E["Nichts ausgeliefert / HTTP 404"]
D -->|"Ja"| F["Tracking-Skript per Twig-Hook"]
D -->|"Ja"| G["JSON mit den Einstellungen"]
Dokumentation
| Seite | Inhalt |
|---|---|
| Installation und Betrieb | Installation per Composer, Setup-Befehl, Update, Deinstallation |
| Konfiguration | Einstellungen pro Channel mit Standardwerten, Admin-Oberfläche, Praxis-Beispiele |
| Datenschutz und Einwilligung | Cookie-loses Tracking, Do-Not-Track, Klaro-Gating im Detail |
| Storefront und Tracking | Was getrackt wird, Twig-Hooks und Twig-Funktionen, Theme-Hinweise |
| Shop API / Headless | Endpunkt für die Channel-Einstellungen, Antwortformat, Fehler |
| Erweiterbarkeit | Austauschbare Schnittstellen, Events, was nicht zur stabilen API gehört |
| Fehlerbehebung und FAQ | Typische Probleme, bekannte Einschränkungen, häufige Fragen |
| Technische Details | Ablauf, Plugin-Struktur, Datenbanktabelle |
Features
| Feature | Beschreibung |
|---|---|
| Cookie-loses Tracking | Standardmäßig an: Besucher werden ohne Matomo-Cookies erfasst |
| Do-Not-Track | Standardmäßig an: Die Do-Not-Track-Einstellung des Browsers wird respektiert |
| Klaro-Einwilligung | Optional: Das Tracking-Skript wird erst nach Zustimmung im Klaro-Dialog freigeschaltet; der passende Klaro-Dienst wird beim Speichern automatisch angelegt |
| E-Commerce-Tracking | Produktaufrufe (SKU, Name, Kategorie) und abgeschlossene Bestellungen (Positionen, Umsatz, Steuer, Versand, Rabatt), jeweils einzeln abschaltbar |
| Heartbeat und Link-Tracking | Optional: Heartbeat-Timer für die Verweildauer sowie Tracking ausgehender Links und Downloads |
| Pro Channel | Matomo-URL, Site-ID und alle Schalter gelten für genau einen Channel |
| Dual-Mode | Storefront rendert das Skript, die Shop API liefert die Einstellungen für Headless-Storefronts |
| Fehlertoleranz | Fehlt die Plugin-Tabelle noch (Migration nicht ausgeführt), bleibt der Shop erreichbar und gibt kein Tracking aus |
Anforderungen
| Anforderung | Version | Hinweise |
|---|---|---|
| Sylius | ^2.2 | Die CI führt die Testsuite auf Sylius 2.2 und 2.3 aus |
| PHP | ^8.3 | |
| Symfony | ^7.4 | |
| Datenbank | MySQL 8 oder MariaDB | Andere Datenbanken werden nicht unterstützt. Die Migration ist in MySQL-Syntax geschrieben und bricht auf anderen Plattformen ab. Getestet wird gegen MySQL 8.4. |
| Matomo | beliebige Instanz | Selbst gehostet oder Cloud, erreichbar über HTTPS |
| Klaro-Plugin | optional | mmd/sylius-klaro-consent-plugin, nur nötig für das Klaro-Gating |
Lizenz
Kommerzielle Lizenz: Eine Lizenz gilt für eine Sylius-Installation, also ein Sylius-Deployment mit einer Datenbank und einem Vendor-Verzeichnis, mit allen Channels. Entwicklungs- und Staging-Umgebungen sind enthalten, wenn du sie ausschließlich zum Testen der lizenzierten Produktivinstallation nutzt. Für jede weitere Produktivinstallation brauchst du eine eigene Lizenz. Eine Weitergabe ist nicht erlaubt, Updates sind 12 Monate ab Kauf enthalten.
Support
Bei Fragen zur Lizenz, technischen Fragen oder Fehlern erreichst du mich unter support@markus-michalski.net.