Meta Pixel und Conversions API mit Deduplizierung
Das Meta Pixel läuft im Browser, deshalb stoppen Werbeblocker und Browser-Einschränkungen einen Teil seiner Events. Die Conversions API (CAPI) sendet dieselben Events aus deinem Server-Container, und die lassen sich viel schwerer blockieren. Meta empfiehlt, beides zu nutzen. Der Haken: Jede Conversion kommt dann doppelt an. Deshalb gibst du beiden Kopien dieselbe Event-ID, und Meta behält eine davon.
Profi 12 Min. Lesezeit
Das lernst du
- Meta-Pixel-Events aus dem Web-Container mit einer
event_idsenden. - Dieselbe
event_idmit dem GA4-Hit an den Server-Container weitergeben. - Ein Conversions-API-Tag im Server-Container einrichten.
- Im Events Manager prüfen, dass Browser- und Server-Events dedupliziert werden.
01 So funktioniert die Deduplizierung
Meta behandelt ein Browser-Event und ein Server-Event als dasselbe Event, wenn sie vom selben Pixel mit demselben event_name und derselben event_id stammen und innerhalb von 48 Stunden ankommen. Eines wird behalten, das andere verworfen.
- Der Event-Name muss exakt übereinstimmen, zum Beispiel
Purchasein beiden. - Die
event_idmuss in beiden identisch sein. Sie muss also einmal im Browser erzeugt und geteilt werden. - Die Cookies
_fbpund_fbchelfen Meta, das Server-Event dem Besucher zuzuordnen. Weil der GA4-Hit an deine eigene Subdomain geht, schickt der Browser diese Cookies mit, und das Server-Tag kann sie lesen.
02 Event-ID im Web-Container erzeugen
Erzeuge eine eindeutige ID, wenn das Event passiert, und schreib sie zusammen mit dem Event in den dataLayer.
const eventId = crypto.randomUUID();
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
event_id: eventId,
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 Lege im Web-Container eine Data Layer Variable mit dem Namen
event_idan. - 2 Setze in deinem Meta-Pixel-Tag (aus der Community Template Gallery oder deinem bestehenden Setup) den Event-Namen auf
Purchaseund das Feld Event ID auf{{DLV - event_id}}. - 3 Öffne das GA4-Event-Tag, das
purchasesendet, und füge einen Event-Parameterevent_idmit dem Wert{{DLV - event_id}}hinzu. Die ID reist jetzt im GA4-Hit zum Server-Container. - 4 Veröffentliche den Web-Container, sobald die Preview in beiden Tags dieselbe ID zeigt.
03 Conversions-API-Tag im Server-Container anlegen
Hol dir zuerst ein Access Token: Wähle im Events Manager dein Pixel, öffne Settings, scrolle zu Conversions API und klicke auf Generate access token. Halte das Token geheim, denn damit lassen sich Events an dein Pixel senden.
- 1 Geh im Server-Container zu Templates, dann zu Tag Templates, und klicke auf Search Gallery. Füge eine Conversions-API-Vorlage hinzu, etwa Metas eigenes Conversions API Tag oder die von Stape.
- 2 Lege aus der Vorlage ein neues Tag an. Gib deine Pixel ID und das Access Token ein.
- 3 Ordne den Event-Namen zu (GA4
purchasezu MetaPurchase), falls die Vorlage das nicht selbst tut. - 4 Stelle sicher, dass die Event-ID aus dem Event-Parameter
event_idkommt. Die meisten Vorlagen lesen ihn automatisch. - 5 Löse das Tag über einen Custom-Trigger aus, bei dem Client Name equals
GA4und Event Name equalspurchasegilt.
04 Im Events Manager testen
- 1 Wähle im Events Manager dein Pixel und öffne Test events. Kopiere den Testcode (er sieht aus wie
TEST12345). - 2 Füge ihn in das Feld Test Event Code des Server-Tags ein und veröffentliche, oder teste in der Server-Preview.
- 3 Löse das Event auf deiner Website aus. Es sollten ein Browser- und ein Server-Event erscheinen.
- 4 Prüfe, dass sie als dedupliziert markiert sind. Falls nicht, vergleiche Event-Name und
event_idder beiden. - 5 Entferne den Testcode, wenn du fertig bist, sonst landen Live-Events weiter in Test events.
- Das Pixel-Event und der GA4-Hit tragen dieselbe
event_id. - Die Server-Preview zeigt, dass das Conversions-API-Tag mit einer 2xx-Antwort gefeuert hat.
- Der Events Manager zeigt Browser- und Server-Events dedupliziert.
- Der Testcode ist aus dem Live-Tag entfernt.
Häufige Fragen
Kann ich nur die Conversions API nutzen und auf das Pixel verzichten?
Das geht, Meta empfiehlt aber beides. Das Pixel erfasst Browser-Signale, die der Server nicht sieht, und der Server deckt Besucher ab, deren Browser das Pixel blockiert. Die Deduplizierung hält die Zählung korrekt.
Warum zählt der Events Manager meine Käufe doppelt?
Die beiden Events haben nicht denselben Event-Namen und dieselbe event_id. Prüfe, dass beide Tags die ID aus demselben dataLayer-Push lesen und dass das Server-Tag den Parameter event_id aus dem GA4-Hit erhält.
Woher kommen `_fbp` und `_fbc` auf dem Server?
Das Pixel setzt sie im Browser. Weil deine GA4-Hits an eine Subdomain deiner Website gehen, schickt der Browser diese Cookies mit, und die Conversions-API-Vorlage liest sie aus der Anfrage.
Bereit, es in die Praxis umzusetzen?
Richte in wenigen Minuten einen Server-GTM-Container auf deiner eigenen Domain ein. Für den Free-Tarif brauchst du keine Karte.
Kostenloses Konto erstellen