Datenschutzfreundliche Webanalyse für OXID eShop 7 mit vollständigem E-Commerce-Tracking, Klaro Consent Manager Integration und DSGVO-konformen Datenschutzfunktionen.
Warum Matomo? Anders als Google Analytics kann Matomo auf deinem eigenen Server gehostet werden, was dir vollständige Kontrolle über deine Daten gibt. Kombiniert mit den Datenschutzfunktionen dieses Moduls erreichst du:
| Feature | Beschreibung |
|---|---|
| Cookieless Tracking | Besucher ohne Cookies tracken für reduzierte Datenerfassung |
| IP-Anonymisierung | Konfigurierbare Anonymisierungsstufen (0-3 Bytes) |
| Do-Not-Track-Respektierung | Browser-DNT-Einstellungen beachten |
| Klaro-Integration | Nahtlose Integration mit Klaro Cookie Consent Manager |
| E-Commerce-Tracking | Produktansichten, Warenkorb-Updates, Bestellabschlüsse |
| Heartbeat-Timer | Genaue Verweildauer-Messung |
| Link- & Download-Tracking | Ausgehende Links und Datei-Downloads tracken |
| Opt-Out Widget | DSGVO-konformes Opt-Out für Besucher |
Füge das private Composer-Repository zur composer.json deines Shops hinzu:
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
Hinweis: Die Repository-Zugangsdaten werden nach dem Lizenzkauf bereitgestellt. Private Repositories werden über Packeton verwaltet.
composer require mmd/oxid7-matomo-analytics
Bei der Authentifizierungsabfrage die mit der Lizenz erhaltenen Zugangsdaten eingeben.
vendor/bin/oe-console oe:module:activate mmd_matomo_analytics
vendor/bin/oe-console oe:cache:clear
Auf die neueste Version aktualisieren:
composer update mmd/oxid7-matomo-analytics
vendor/bin/oe-console oe:cache:clear
Nach der Aktivierung findest du die Einstellungen unter:
Erweiterungen > Module > Matomo Analytics > Einstell.
| Einstellung | Erforderlich | Beschreibung |
|---|---|---|
| Tracking aktiviert | Ja | Hauptschalter für alles Tracking |
| Matomo URL | Ja | URL deiner Matomo-Installation (z.B. https://analytics.example.com) |
| Site ID | Ja | Die Website-ID aus deiner Matomo-Installation (Standard: 1) |
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Cookie-loses Tracking | An | Tracking ohne Cookies - reduziert gespeicherte Daten |
| IP-Anonymisierung | 2 Bytes | Wie viele Bytes der IP-Adresse maskiert werden |
| Do-Not-Track respektieren | An | Browser-DNT-Einstellungen beachten |
| Cookie-Einwilligung erforderlich | Aus | Nur nach expliziter Einwilligung tracken |
| Klaro Integration | Aus | Klaro Consent Manager nutzen |
| Klaro Service-Name | matomo | Muss mit dem Service-Namen in Klaro übereinstimmen |
IP-Anonymisierungsstufen:
| Einstellung | Standard | Beschreibung |
|---|---|---|
| E-Commerce-Tracking aktivieren | An | Hauptschalter für E-Commerce-Funktionen |
| Produktansichten tracken | An | Tracken wenn Nutzer Produktdetailseiten besuchen |
| Warenkorb-Änderungen tracken | An | Add-to-Cart und Warenkorbänderungen tracken |
| Bestellungen tracken | An | Abgeschlossene Bestellungen mit Umsatz tracken |
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Heartbeat-Timer aktivieren | Aus | Genaue Verweildauer-Messung |
| Heartbeat-Intervall | 15 | Sekunden zwischen Heartbeat-Pings |
| Ausgehende Links tracken | An | Klicks auf externe Links tracken |
| Downloads tracken | An | Datei-Downloads tracken (PDF, ZIP, etc.) |
Wenn du Klaro als Cookie-Consent-Manager verwendest und vor dem Tracking eine Nutzereinwilligung verlangen möchtest:
In Erweiterungen > Module > Matomo Analytics > Einstell.:
matomo setzen (oder deinen bevorzugten Namen)Erstelle einen neuen Service in deiner Klaro-Konfiguration:
var klaroConfig = {
services: [{
name: 'matomo',
title: 'Matomo Analytics',
purposes: ['analytics'],
cookies: ['_pk_*', 'mtm_*']
}]
};
Wenn du KEIN cookieless Tracking verwendest, setzt Matomo Cookies, die bei Widerruf der Einwilligung gelöscht werden sollten:
_pk_id - Besucher-ID_pk_ref - Referrer-Information_pk_ses - Session-Cookie_pk_cvar - Custom Variables_pk_hsr - Heatmap/Session RecordingMATOMO_SESSID - Session-IDpiwik_ignore - Opt-Out Cookiemtm_consent - Consent Cookiemtm_consent_removed - Consent WiderrufHinweis: Wenn du cookieless Tracking verwendest, setzt Matomo keine Cookies und du kannst die Cookie-Regeln leer lassen. Je nach rechtlicher Bewertung kann dennoch eine Einwilligung erforderlich sein.
type="text/plain" statt text/javascript gerenderttext/javascript und führt es ausDas Modul stellt ein Opt-Out-Widget bereit, das du in deine CMS-Seiten einbinden kannst.
Direkter Link zum Opt-Out:
https://dein-shop.de/index.php?cl=matomo_optout
[{include file="widget/matomo_optout.tpl"}]
Das Modul trackt automatisch E-Commerce-Events wenn aktiviert:
Getrackt wenn ein Nutzer eine Produktdetailseite besucht:
Getrackt wenn sich der Warenkorbinhalt ändert:
Getrackt auf der Bestellbestätigungsseite:
Das Modul erweitert folgende Templates:
layout/base.tpl - Block base_js für Tracking-Codepage/checkout/thankyou.tpl - Block checkout_thankyou_info für Order-TrackingBei eigenen Themes sicherstellen, dass diese Blöcke vorhanden sind.
src/
├── Config/
│ ├── MatomoConfig.php # Immutable Config Value Object
│ └── MatomoConfigFactory.php # Factory für Config aus Moduleinstellungen
├── Controller/
│ └── MatomoOptOutController.php # Opt-Out Standalone-Seite
├── DataTransfer/
│ └── MatomoEcommerceData.php # DTO für E-Commerce-Daten
├── EventSubscriber/
│ └── OrderSubscriber.php # Order-Tracking via Events
├── Extension/
│ ├── Application/Controller/
│ │ └── ThankYouControllerExtension.php
│ └── Core/
│ └── ViewConfigExtension.php # Template-Methoden
└── Service/
├── ConsentChecker.php # Consent-Validierung
├── EcommerceTracker.php # E-Commerce JS-Generator
└── TrackingCodeRenderer.php # Tracking-Code Generator
Dieses Modul wurde mit Datenschutz im Fokus entwickelt:
| Aspekt | Umsetzung |
|---|---|
| Cookies | Optional - cookieless Tracking verfügbar |
| IP-Speicherung | Anonymisiert (konfigurierbare Stufe) |
| DNT-Header | Respektiert wenn aktiviert |
| Einwilligung | Klaro-Integration verfügbar |
| Datenspeicherort | Dein Matomo-Server (selbst gehostet) |
Für datenschutzfreundliches Tracking:
Wichtiger rechtlicher Hinweis: Ob eine Einwilligung für Analytics-Tracking erforderlich ist, hängt von deiner Rechtsordnung und der konkreten Implementierung ab. Auch bei cookieless Tracking und IP-Anonymisierung empfehlen viele Rechtsexperten, eine Nutzereinwilligung für Analytics einzuholen. Konsultiere einen Rechtsexperten um die angemessenen Einwilligungsanforderungen für deine spezifische Situation zu bestimmen.
vendor/bin/oe-console oe:cache:clearvendor/bin/oe-console oe:module:listtype="text/plain" im Script-Tag erscheint (Quelltext anzeigen)Kommerzielle Lizenz:
Siehe LICENSE-Datei für vollständige Bedingungen.
Bei Fragen und Support:
Markus Michalski
E-Mail: support@markus-michalski.net