Dokumentation "Facebook Pixel einbinden" (Shopware 5)

Conversion API


Mit Veröffentlichung der Version 4.0.0 für Shopware 5 unterstützt unser Plugin die Nutzung der Conversion API von Facebook.

Die Nutzung der Conversion API über unser Plugin befindet sich aktuell in der BETA-Phase! Die Nutzung erfolgt auf eigene Gefahr!

Selbstverständlich freuen wir uns über Ihr Feedback, um die Funktionalität und Qualität der Ereignisse verbessern zu können.

Es gibt nun zwei Wege wie Ereignisse von unserem Plugin an Facebook übermittelt werden:

  1. Facebook Pixel – sendet Ereignisse via JavaScript vom Browser
  2. Conversion API – sendet Ereignisse via PHP vom Server

Nutzung

Die Nutzung der Conversion API mit unserem Plugin findet parallel zum Facebook Pixel statt. Dies ist der von Facebook offiziell empfohlene Weg. Der Facebook Pixel ist weiterhin alleine und ohne Conversion API nutzbar. Die Conversion API ist jedoch nicht ohne den Facebook Pixel nutzbar.

Datenschutz

Ereignisse werden an die Conversion API erst dann übermittelt, wenn die Zustimmung des Nutzers zum Facebook Pixel vorliegt oder der gewählte Datenschutzmodus dies hergibt, z.B. „Pixel aktiv, kein Hinweis für den Nutzer“.

Ob und inwiefern die Datenschutzbestimmungen eines Shops aufgrund der Nutzung der Conversion API angepasst werden müssen ist im Einzelfall mit dem zuständigen Datenschutzbeauftragten zu klären.

Performance

nur Pluginversion 4.0.0:

Die Nutzung der Conversion API von Facebook basiert technisch gesehen auf einfachen HTTP Requests, die via PHP mit dem HTTP Client Guzzle die entsprechenden Ereignisse und deren Daten an Facebook übermitteln. Diese HTTP Requests können in den Shopware Versionen 5.3.0 bis 5.6.9 aufgrund der Funktionalität von Guzzle und den älteren Mindest-PHP-Versionen nicht asynchron übertragen werden. Bei langsamen Verbindungen zur Conversion API kann der Shop aufgrund der verzögerten Übermittelung der Ereignisse deshalb unter Umständen eine längere Ladezeit für den Shopkunden bedeuten! Bei einem aktiven HTTP-Cache (empfohlen!) relativiert sich die Gefahr von einer beeinträchtigten Nutzung jedoch wieder. Bitte dazu den Punkt „Ereignisqualität“ ansehen.

Ab Shopware 5.7.0 bietet die genutzte HTTP Client Bibliothek Guzzle, als auch die neue Mindest-PHP-Version 7.3, vollständige asynchrone HTTP Requests.

ab Pluginversion 4.1.0:

Damit auch bei aktivem Shopware HTTP-Cache eine entsprechende Ereignisqualität erreicht wird (siehe nächster Punkt), werden die Ereignisse nun über eine zusätzlichen asynchrone JavaScript Anfrage an die Conversion API übermittelt. Damit wird die Performance beim Laden des Shops nicht mehr beeinträchtigt, da die Anfrage nach dem übermitteln der Ereignisse via Facebook Pixel (JavaScript/Browser) an die Conversion API (PHP/Server) gesendet werden.

Ereignisqualität

nur Pluginversion 4.0.0:

Bei einem aktiven Shopware HTTP-Cache landen Anfragen, zu denen es zwischengespeicherte Seiten gibt, nicht im PHP Plugin-Stack. Daher werden bei aktivem HTTP-Cache folgende Ereignisse nur beim allerersten Aufruf einer noch nicht zwischengespeicherten Seite über die Conversion API erfasst:

  • PageView
  • ViewContent
  • ViewProduct
  • ViewCategory
  • ViewManufacturer

Durch die parallele Nutzung von Facebook Pixel und Conversion API werden die zuvor genannten Ereignisse jedoch weiterhin über den Facebook Pixel (JavaScript/Browser) erfasst.

Alle anderen unterstützten Ereignisse werden von Facebook Pixel und Conversion API parallel erfasst.

ab Pluginversion 4.1.0:

Bei einem aktiven Shopware HTTP-Cache werden alle Ereignisse die über den Facebook Pixel (JavaScript/Browser) übermittelt werden, nun auch 1:1 an die Conversion API gesendet. Dies erfolgt durch eine zusätzliche Ajax Anfrage die direkt nach dem Senden der Ereignisse über den Facebook Pixel (JavaScript/Browser).

Deduplizierung von Ereignissen

nur Pluginversion 4.0.0:

Unser Plugin unterstützt die Deduplizierung über das _fbp Cookie.

Eine Deduplizierung der Ereignisse anhand des Event-ID Parameters findet aktuell nur beim „Purchase“ Ereignis statt.

ab Pluginversion 4.1.0:

Alle Ereignisse werden anhand einer eindeutigen „Event ID“ (UUID4) in Kombination mit dem Name des Ereignisses dedupliziert. Als „Event ID“ beim „Purchase“ Ereignis wird abweichend die Bestellnummer genutzt.

Wird der erweiterte Datenabgleich aktiviert, wird zusätzlich die Kundennummer eines eingeloggten Kunden als „externe ID“ (external_id) und der Wert des _fbp Cookies übermittelt. Anhand diesen beiden Angaben kann Facebook, laut der offiziellen Dokumentation, ebenfalls die Ereignisse deduplizieren.

Testen von Ereignissen

Unser Plugin unterstützt das Testen von Ereignissen die mit der Conversion API übermittelt werden. Dies erfolgt mit dem „Test-Event-Code“ (test_event_code), der von Facebook im Business Manager im Tab „Events testen“ > „Server-Events testen“ zur Verfügung gestellt wird. Es nicht empfehlenswert den Test-Code langfristig in der Pluginkonfiguration zu speichern, da sich der Test-Code regelmäßig automatisch ändert und diese Funktion auch nur zum Testen gedacht ist.