Facebook Pixel (Meta Pixel) Integration für Shopware 6.7+ mit E-Commerce Event-Tracking, Meta Conversions API (CAPI) und Klaro Consent Manager Unterstützung.
Live Demo: Teste alle Plugins für OXID eShop und Shopware von Markus Michalski live — ohne Installation, ohne Risiko. demo.markus-michalski.net
Die Installation über den Shopware Store wird empfohlen. Nach dem Kauf können Sie das Plugin direkt aus dem Backend installieren.
Fügen Sie das private Composer-Repository zur composer.json Ihres Shops hinzu:
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
Hinweis: Die Repository-Zugangsdaten werden beim Lizenzkauf bereitgestellt. Private Repositories werden über Packeton verwaltet.
composer require mmd/sw67-facebook-pixel
Geben Sie bei der Authentifizierungsaufforderung die mit Ihrer Lizenz bereitgestellten Zugangsdaten ein.
bin/console plugin:refresh
bin/console plugin:install --activate MmdFacebookPixel
bin/console cache:clear
Auf die neueste Version aktualisieren:
composer update mmd/sw67-facebook-pixel
bin/console cache:clear
Plugin-Konfiguration im Shopware Admin:
Einstellungen > Erweiterungen > Facebook Pixel (Meta Pixel)
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Pixel ID | (leer) | Ihre Facebook Pixel ID (nur Zahlen, z.B. "166456504661214"). Zu finden im Meta Events Manager. |
| Tracking aktivieren | Aus | Hauptschalter zum Aktivieren/Deaktivieren des gesamten Facebook Pixel Trackings |
| Cookie-Einwilligung erforderlich | Aus | Nur tracken, nachdem der Benutzer über den Cookie-Consent-Manager zugestimmt hat |
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Artikel-Aufrufe tracken | An | ViewContent Event auf Produktdetailseiten auslösen |
| Kategorien tracken | An | ViewCategory Custom Event auf Kategorieseiten auslösen |
| Warenkorb-Aktionen tracken | An | AddToCart Event beim Hinzufügen zum Warenkorb auslösen |
| Checkout tracken | An | InitiateCheckout Event auf der Checkout-Bestätigungsseite auslösen |
| Bestellungen tracken | An | Purchase Event beim Bestellabschluss auslösen |
| Brutto-Preise tracken | An | Brutto-Preise (inkl. MwSt.) verwenden. Für B2B-Shops deaktivieren. |
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Conversions API aktivieren | Aus | Events zusätzlich zum Client-Side Pixel serverseitig über die Meta Conversions API senden |
| Access Token | (leer) | Facebook API Access Token. Im Meta Events Manager unter Einstellungen > Conversions API erstellen. |
| Test Event Code | (leer) | Test Event Code aus dem Meta Events Manager zum Debuggen. Für Produktivbetrieb entfernen. |
| Serverseitige Events | (keine) | Auswählen welche Events serverseitig gesendet werden. Meta empfiehlt mindestens PageView und Purchase. |
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Klaro Consent Manager verwenden | Aus | Erfordert das MmdKlaroConsent Plugin. Tracking-Scripts laden erst nach Benutzer-Einwilligung über Klaro. |
| Klaro Service-Name | facebook-pixel | Technischer Service-Name für die Klaro-Integration. Muss mit dem Service-Namen in den MmdKlaroConsent-Einstellungen übereinstimmen. |
Die Meta Conversions API ermöglicht es, Events serverseitig direkt vom Server an Meta zu senden - zusätzlich zum standardmäßigen Client-Side Pixel. Dies ist Metas empfohlenes Redundant Setup für maximale Datenqualität.
event_id dedupliziertevent_id| Event | Beschreibung |
|---|---|
| PageView | Jeder Storefront-Seitenaufruf |
| ViewContent | Produktdetailseiten-Besuche |
| ViewCategory | Kategorieseiten-Besuche |
| AddToCart | Produkte in den Warenkorb gelegt |
| InitiateCheckout | Checkout-Bestätigungsseite |
| Purchase | Abgeschlossene Bestellungen (inkl. Kunden-E-Mail + Telefon für Matching) |
CAPI Events werden über Symfony Messenger verarbeitet. Stellen Sie sicher, dass Ihr Message Consumer läuft:
bin/console messenger:consume async
Für den Produktivbetrieb richten Sie einen Supervisor oder systemd-Service ein. Siehe die Shopware Dokumentation zur Message Queue für Details.
Wird bei jedem Storefront-Seitenaufruf gefeuert.
fbq('track', 'PageView');
Wird auf Produktdetailseiten gefeuert.
fbq('track', 'ViewContent', {
content_ids: ['SW10001'],
content_name: 'Produktname',
content_type: 'product',
value: 29.99,
currency: 'EUR'
});
Wird auf Kategorieseiten gefeuert (Custom Event).
fbq('trackCustom', 'ViewCategory', {
content_name: 'Kategoriename',
content_type: 'product_group',
content_category: 'Kategoriename'
});
Wird beim Hinzufügen eines Produkts zum Warenkorb gefeuert.
fbq('track', 'AddToCart', {
content_ids: ['SW10001'],
content_name: 'Produktname',
content_type: 'product',
value: 29.99,
currency: 'EUR'
});
Wird auf der Checkout-Bestätigungsseite gefeuert.
fbq('track', 'InitiateCheckout', {
content_ids: ['SW10001', 'SW10002'],
content_type: 'product',
value: 59.98,
currency: 'EUR',
num_items: 2
});
Wird beim Bestellabschluss gefeuert.
fbq('track', 'Purchase', {
content_ids: ['SW10001', 'SW10002'],
content_type: 'product',
value: 59.98,
currency: 'EUR',
num_items: 2
});
Wenn "Cookie-Einwilligung erforderlich" aktiviert ist, prüft das Plugin auf ein fb-pixel-consent Cookie. Nur wenn dieses Cookie vorhanden und auf einen wahrheitsgemäßen Wert gesetzt ist, wird das Tracking aktiviert.
Für den empfohlenen Ansatz verwenden Sie das MmdKlaroConsent Plugin:
facebook-pixel)Bei Verwendung von Klaro wird das Pixel-Script mit data-name-Attributen gerendert, damit Klaro das Laden/Entladen basierend auf der Benutzer-Einwilligung verwalten kann.
Wichtig für CAPI: Bei aktiviertem Klaro Consent hat die Conversions API eine eigene unabhängige Consent-Behandlung. CAPI Events werden nur gesendet, wenn der entsprechende Client-Side Event-Typ auch in der Plugin-Konfiguration aktiviert ist.
| Aspekt | Umsetzung |
|---|---|
| Cookie Consent | Optional über integrierte Prüfung oder Klaro Integration |
| PII Hashing | SHA-256 für E-Mail, Telefon, IP, User-Agent (nur CAPI) |
| Daten an Meta | Pixel Events über Client-Side JavaScript + optionale CAPI |
| Consent-Modus | Tracking kann explizite Einwilligung vor Aktivierung erfordern |
Wichtig: Facebook Pixel sendet Daten an Meta (Facebook). Sie MÜSSEN dies in Ihrer Datenschutzerklärung und im Cookie-Consent-Banner offenlegen. Nutzen Sie die Klaro-Integration oder die integrierte Consent-Prüfung zur DSGVO-Konformität.
bin/console cache:clearbin/console messenger:consume asyncvar/log/dev.log oder var/log/prod.logDies ist erwartetes Verhalten im Redundant Setup. Meta dedupliziert Events automatisch anhand der event_id. Falls echte Duplikate auftreten (gleiches Event doppelt gezählt), prüfen Sie:
Kommerzielle Lizenz - Einzelinstallations-Lizenz inklusive:
Siehe LICENSE-Datei für vollständige Bedingungen.
Für Fragen und Support:
Markus Michalski
E-Mail: support@markus-michalski.net