Facebook Pixel: Datenschutz
Facebook Pixel Plugin für Sylius: welche Daten Browser-Pixel und Conversions API an Meta übertragen, was gehasht wird, wie die Einwilligung greift und was lokal gespeichert wird.
Facebook Pixel: Datenschutz
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Das Plugin überträgt Besucher- und Bestelldaten an Meta. Du musst das in der Datenschutzerklärung und im Cookie-Banner deines Shops angeben und für eine wirksame Einwilligung sorgen. Diese Seite beschreibt, was das Plugin technisch tut; sie ersetzt keine Rechtsberatung.
Browser-Pixel
Das Plugin lädt das Meta-Pixel-Skript von https://connect.facebook.net/en_US/fbevents.js und initialisiert es mit der Pixel-ID des Channels. Ab diesem Moment kommuniziert der Browser des Besuchers mit Meta. Das Pixel-Skript von Meta nutzt dafür unter anderem die Cookies _fbp und _fbc.
An Event-Daten gibt das Plugin an das Pixel (siehe Storefront-Integration): Variantencodes, Produkt- bzw. Kategoriename, Kategoriepfad, Warenwert, Währung, Stückzahl und bei InitiateCheckout und Purchase die Bestellnummer. E-Mail-Adresse oder Telefonnummer gibt das Plugin dem Browser-Pixel nicht mit.
Das Skript wird erst ausgeführt, wenn die Einwilligung vorliegt, sofern Tracking-Skripte über Klaro-Einwilligung freischalten wirksam ist (Kästchen angehakt und mmd/sylius-klaro-consent-plugin installiert). Ohne Klaro musst du das Blockieren bis zur Einwilligung selbst sicherstellen.
Conversions API (serverseitig)
Ist die Conversions API aktiv, sendet dein Server pro ausgewähltem Event einen Aufruf an https://graph.facebook.com (Endpunkt /{Pixel-ID}/events). Der Aufruf enthält:
| Feld | Inhalt |
|---|---|
event_name, event_id, event_time |
Eventname, geteilte Event-ID und Zeitpunkt. |
event_source_url |
Schema, Host und Pfad der aufgerufenen Seite. Die Query-String-Parameter werden bewusst weggelassen, damit z. B. Tokens oder Tracking-Parameter nicht an Meta gehen. |
action_source |
Immer website. |
user_data.client_ip_address |
IP-Adresse des Besuchers im Klartext. |
user_data.client_user_agent |
User-Agent des Besuchers im Klartext (auf 512 Zeichen gekürzt). |
user_data.em |
E-Mail-Adresse, kleingeschrieben und getrimmt, SHA-256-gehasht. |
user_data.ph |
Telefonnummer, auf Ziffern reduziert, SHA-256-gehasht. |
user_data.fbc, user_data.fbp |
Die Meta-Cookies _fbc und _fbp des Besuchers, falls vorhanden und im erwarteten Format. |
custom_data |
Die Event-Daten wie im Browser-Pixel. |
IP-Adresse und User-Agent sendet das Plugin im Klartext, weil Meta sie so verlangt; gehasht werden nur E-Mail und Telefonnummer. Hashing ist unsalted SHA-256, wie von Meta für em und ph vorgegeben.
Woher E-Mail und Telefonnummer stammen
PageView,ViewContent,ViewCategoryundAddToCart: die E-Mail-Adresse des eingeloggten Kunden. Gäste und nicht eingeloggte Besucher liefern keine E-Mail. Eine Telefonnummer wird hier nicht übergeben.InitiateCheckoutundPurchase: die E-Mail-Adresse des Bestell-Kunden und die Telefonnummer der Rechnungsadresse, auch bei Gästen.
Einwilligung
Die serverseitigen Events haben eine eigene Einwilligungsprüfung (Für serverseitige Events nachgewiesene Einwilligung verlangen, standardmäßig an). Der eingebaute Klaro-Provider liest dafür das Klaro-Cookie des Besuchers und prüft facebook_pixel: true. Ohne Nachweis wird nichts gesendet. Schaltest du die Pflicht aus, sendet das Plugin ohne jede Prüfung; die Verantwortung liegt dann bei dir. Siehe Konfiguration und Erweiterbarkeit.
Was lokal gespeichert wird
- Einstellungen: Die Tabelle
mmd_sylius_facebook_pixel_channel_configurationenthält nur die Channel-Einstellungen, keine Besucherdaten. Das Zugriffstoken liegt verschlüsselt darin und wird weder im Admin noch über die Shop API wieder ausgegeben. - Nachrichten-Warteschlange: Die CAPI-Aufrufe laufen über Symfony Messenger. Die Nachricht enthält bis zur Verarbeitung IP-Adresse, User-Agent, die Cookie-Werte
_fbc/_fbp, die gehashte E-Mail und Telefonnummer, Quell-URL und Event-Daten. Klartext-E-Mail oder -Telefonnummer sind nicht enthalten. Bei einem Doctrine-Transport liegen diese Daten bis zur Verarbeitung in der Messenger-Tabelle. - Session: Für
AddToCartmerkt das Plugin Event-ID und Produktdaten kurz in der Session vor, bis die nächste Seite sie ausgibt. - Logs: Fehlgeschlagene CAPI-Aufrufe werden mit HTTP-Status, Eventname und Event-ID geloggt, nicht mit den Nutzdaten.
- Cookies: Das Plugin setzt selbst keine Cookies.