# Server-Side Tracking für Meta: serverseitig mit schlanker Einwilligung

> Server-Side Tracking heißt: Das Conversion-Event geht nicht aus dem Browser des Käufers an Meta, sondern von deinem Server, bei Rechnungskit aus dem Zahlungs-Webhook. Eine Einwilligung braucht es trotzdem. Der Europäische Datenschutzausschuss wertet schon das Einsammeln einer Klick-ID aus einem Tracking-Link als Zugriff auf das Endgerät (EDSA-Leitlinien 2/2023, Rn. 50 f.), und dafür verlangt § 25 Abs. 1 TDDDG eine Einwilligung. Rechnungskit fragt deshalb im Checkout mit einer schmalen Leiste nach, sobald Tracking aktiv ist. Ohne Ja wird nichts gespeichert und nichts an Meta gemeldet; der Kauf funktioniert trotzdem.

Von Christian Häfner · Veröffentlicht am 20.09.2026 · Aktualisiert am 04.10.2026

Quelle: https://rechnungskit.de/wissen/server-side-tracking-meta

## Was Server-Side Tracking ist {#was-ist-das}

Klassisches Conversion-Tracking läuft im Browser: Auf der Danke-Seite lädt ein Skript, der Meta-Pixel, setzt Cookies und meldet den Kauf an Meta. Beim serverseitigen Tracking (bei Meta über die Conversions API, kurz CAPI) schickt dein System das Event selbst, von Server zu Server. Der Browser des Käufers ist daran nicht beteiligt.

Für Meta sind beide Wege gleichwertig. Ein Purchase-Event aus der Conversions API zählt in Kampagnen-Optimierung, Zielgruppen und Lookalikes genauso wie eines vom Pixel. Der Unterschied liegt darin, wer sendet, wann gesendet wird und welche Daten dabei mitgehen.

Der beste Zeitpunkt zum Senden ist der Moment, in dem die Zahlung bestätigt ist: der Webhook des Zahlungsanbieters. Ein Pixel meldet dagegen nur, dass jemand die Danke-Seite geladen hat. Ob die Zahlung durchging, weiß er nicht.

## Warum der Browser-Pixel immer weniger sieht {#pixel-sieht-weniger}

Adblocker und der Tracking-Schutz in Browsern blockieren das Pixel-Skript ganz. Safari und iOS kürzen die Lebensdauer von Tracking-Cookies auf wenige Tage, sodass ein Kauf nach einer Woche nicht mehr zur Anzeige findet.

Dazu kommt der Moment der Messung. Die Danke-Seite ist die letzte Seite, die der Käufer noch sehen muss. Schließt er den Tab, bevor das Skript geladen ist, fehlt der Kauf. Meta empfiehlt in seiner Dokumentation deshalb selbst, den Pixel mit der Conversions API zu ergänzen. An einem Punkt ändert der Server-Weg allerdings nichts: Wer nicht einwilligt, wird auch serverseitig nicht gemessen. Warum, steht im nächsten Abschnitt.

## Warum auch die Klick-ID eine Einwilligung braucht {#tdddg}

Die Einwilligungspflicht kommt aus [§ 25 Abs. 1 TDDDG](https://www.gesetze-im-internet.de/ttdsg/__25.html), früher TTDSG. Wer Informationen auf dem Endgerät des Nutzers speichert oder von dort ausliest, braucht seine Einwilligung. Ausgenommen ist nur, was für den ausdrücklich gewünschten Dienst unbedingt erforderlich ist (Abs. 2 Nr. 2). Ein Tracking-Cookie ist der Standardfall.

Lange galt serverseitiges Tracking als Ausweg, weil es kein Cookie setzt. Die Klick-ID (`fbclid`) steht nur in der URL, mit der der Käufer im Checkout landet. Der Europäische Datenschutzausschuss sieht darin aber genau den Vorgang, den die Vorschrift meint. In seinen Leitlinien zu Art. 5 Abs. 3 der ePrivacy-Richtlinie, die § 25 TDDDG umsetzt, heißt es: Ein Tracking-Link wird beim Verteilen an das Endgerät zumindest im Zwischenspeicher des Browsers gespeichert (Rn. 50). Die Kennung im Link weist das Gerät an, sie zurückzuschicken, und wer sie einsammelt, verschafft sich Zugriff im Sinne der Vorschrift (Rn. 51). Nachzulesen in den [EDSA-Leitlinien 2/2023, Version 2.0 vom 7. Oktober 2024, Rn. 50 f.](https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf).

Gerichte sind an die Leitlinien nicht gebunden, und ein Urteil zu Klick-IDs ist uns nicht bekannt. Die Aufsichtsbehörden orientieren sich aber daran. Wer auf der sicheren Seite stehen will, holt die Einwilligung ein, bevor er die Klick-ID speichert oder weitergibt.

<figure class="rk-fig" aria-labelledby="sst-fig-gate">
<div class="rk-fig-head">
<div class="rk-fig-eyebrow">Ablauf · Einwilligung im Checkout</div>
<div class="rk-fig-title" id="sst-fig-gate">Erst die Entscheidung, dann die Messung</div>
</div>
<div class="rk-fig-body">
<ol class="rk-fig-tl">
<li><span class="rk-fig-day">Schritt 1</span><span class="rk-fig-event">Klick auf die Anzeige</span><span class="rk-fig-note">Die URL trägt fbclid und UTM-Parameter</span></li>
<li class="is-key"><span class="rk-fig-day">Schritt 2</span><span class="rk-fig-event">Leiste im Checkout: Akzeptieren oder Ablehnen</span><span class="rk-fig-note">Formular und Bezahlknopf bleiben die ganze Zeit benutzbar</span></li>
<li><span class="rk-fig-day">Schritt 3</span><span class="rk-fig-event">Kauf und Zahlung</span><span class="rk-fig-note">Rechnungskit prüft die Entscheidung beim Absenden der Bestellung</span></li>
<li class="is-quiet"><span class="rk-fig-day">Schritt 4</span><span class="rk-fig-event">Meldung an Meta nach der Zahlung</span><span class="rk-fig-note">Nur wenn an der Bestellung ein Ja gespeichert ist</span></li>
</ol>
<div class="rk-fig-checks">
<div class="rk-fig-check"><div class="rk-fig-check-if"><strong>Käufer klickt Akzeptieren</strong><span>Klick-ID und UTM-Parameter hängen an der Bestellung, dazu der Nachweis der Einwilligung. Nach der Zahlung geht das Purchase-Event an Meta</span></div><span class="rk-fig-chip is-neutral"><svg class="rk-fig-ico" viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="10" fill="currentColor"/><path d="M7.5 12.5l3 3 6-6.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>Gemessen</span></div>
<div class="rk-fig-check"><div class="rk-fig-check-if"><strong>Käufer lehnt ab oder entscheidet nicht</strong><span>Der Kauf läuft normal durch. An der Bestellung landen weder Klick-ID noch UTM-Parameter, Meta erfährt nichts</span></div><span class="rk-fig-chip is-neutral"><svg class="rk-fig-ico" viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="10" fill="currentColor"/><path d="M8 12h8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></svg>Nicht gemessen</span></div>
</div>
</div>
<figcaption>Rechtsgrundlage für die Messung ist die Einwilligung nach § 25 Abs. 1 TDDDG und Art. 6 Abs. 1 lit. a DSGVO. Das Cookie, das sich die Entscheidung merkt, fällt unter die Ausnahme in § 25 Abs. 2 Nr. 2 TDDDG.</figcaption>
</figure>

## Wie eine schlanke Einwilligung aussieht {#schlanke-einwilligung}

Eine Einwilligung muss kein Pop-up sein, das den halben Bildschirm verdeckt. Gerade im Checkout kostet so etwas Käufe. Wirksam ist sie, wenn sie freiwillig, für den bestimmten Fall, informiert und unmissverständlich abgegeben wird ([Art. 4 Nr. 11 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679)). Daraus lassen sich ein paar praktische Regeln ableiten:

- Eine schmale Leiste am unteren Rand statt eines Fensters. Das Formular bleibt sichtbar und ausfüllbar, auch auf dem Handy.
- Zwei gleich gewichtete Knöpfe, Akzeptieren und Ablehnen, in derselben Größe und Farbe. Wer ablehnen will, soll es genauso leicht haben.
- Keine Entscheidung heißt Nein. Gekauft werden kann immer, mit und ohne Ja.
- Ein Link zur Datenschutzerklärung und ein aufklappbarer Bereich, der jeden Anbieter mit seinem Zweck nennt.
- Nur die Entscheidung speichern, nicht die Kennungen. Das Cookie für die Entscheidung ist für den gewünschten Dienst unbedingt erforderlich und braucht deshalb selbst keine Einwilligung ([§ 25 Abs. 2 Nr. 2 TDDDG](https://www.gesetze-im-internet.de/ttdsg/__25.html)).
- Einen Nachweis führen. Wer sich auf eine Einwilligung stützt, muss sie nachweisen können ([Art. 7 Abs. 1 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679)). In der Praxis landen Ja oder Nein, Zeitpunkt, Version des Textes und die genannten Anbieter an der Bestellung.

Der Preis ist klar: Ein Teil der Käufer lehnt ab, und diese Käufe sieht Meta nicht. Dafür misst du auf einer Grundlage, die einer Prüfung standhält.

## Wie die Zuordnung ohne Tracking-Cookie funktioniert {#klick-id}

Damit Meta einen Kauf einer Anzeige zuordnen kann, braucht es einen Anker. Beim Pixel ist das das Cookie `_fbc`, das der Pixel beim ersten Seitenaufruf aus dem URL-Parameter `fbclid` bildet. Beim serverseitigen Tracking übernimmt dein Server diese Aufgabe: Nach der Einwilligung nimmt er `fbclid` an die Bestellung, merkt sich die Klickzeit und baut daraus beim Senden den Parameter `fbc` im Format `fb.1.<Klickzeit>.<fbclid>`, mit der Klickzeit in Millisekunden.

Zwei Details entscheiden über die Qualität. In `fbc` gehört die Klickzeit, nicht der Zeitpunkt des Kaufs; Meta prüft das Format, und ein falscher Zeitstempel kostet die Zuordnung. Und die Klick-ID muss bis zur Zahlung überleben. Sie hängt deshalb an der Bestellung, nicht am Gerät; Adblocker und Cookie-Laufzeiten spielen für sie keine Rolle.

Ohne Klick-ID gibt es keine Zuordnung. Ein organischer Kauf, bei dem niemand auf eine Anzeige geklickt hat, wird standardmäßig nicht gemeldet. Wer alle Käufe melden will, braucht einen zweiten Anker, in der Regel die gehashte E-Mail-Adresse.

## Pixel und Server parallel, dedupliziert per Event-ID {#event-id}

Viele Shops fahren beides, den Pixel im Browser und die Conversions API vom Server. Dann kommt derselbe Kauf zweimal bei Meta an. Meta zählt ihn nur dann einmal, wenn beide Events dieselbe `event_id` tragen; dann behält es eines und verwirft das andere.

Die Event-ID muss deshalb vor dem Senden feststehen und für beide Seiten erreichbar sein. Der Server erzeugt sie aus der Bestellung, und der Pixel gibt sie als `eventID` mit. Im Rechnungskit-Checkout erledigt das der eingebaute Meta-Pixel selbst. Für einen Pixel auf deiner eigenen Danke-Seite hängt Rechnungskit die ID als Parameter `rk_event_id` an die Return-URL.

## Was nach der DSGVO mitgehen darf {#dsgvo}

Neben § 25 TDDDG stellt die DSGVO ihre eigene Frage: Sobald personenbezogene Daten an Meta gehen, brauchst du dafür eine Rechtsgrundlage nach [Art. 6 Abs. 1 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679). Auch die Klick-ID kann dazu zählen, denn die DSGVO nennt Online-Kennungen ausdrücklich als Merkmal, über das eine Person identifizierbar ist ([Art. 4 Nr. 1 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679)). Mit der Einwilligung aus der Leiste stützt du beides auf dieselbe Grundlage, Art. 6 Abs. 1 lit. a DSGVO.

Die Conversions API nimmt eine ganze Reihe von Nutzerdaten an: E-Mail, Name, Telefon, IP-Adresse, User-Agent, je nach Feld gehasht oder im Klartext. Je mehr davon mitgeht, desto besser matcht Meta. Der datensparsame Weg sendet nur, was für die Zuordnung zur Anzeige nötig ist: die Klick-ID, den Betrag, die Währung und die UTM-Parameter der Kampagne. Für die Kampagnen-Optimierung reicht das.

Wer Käufer-Zielgruppen und Lookalikes will, sendet zusätzlich E-Mail und Name als SHA-256-Hashes. Meta verlangt dafür normalisierte Werte, kleingeschrieben und ohne Leerzeichen, sonst matcht der Hash nicht.

Bindest du Meta-Werkzeuge ein, bist du für das Erheben und Übermitteln der Daten unter Umständen gemeinsam mit Meta verantwortlich. So hat der EuGH es für den eingebundenen Like-Button entschieden ([EuGH, Urteil vom 29.07.2019, C-40/17, Fashion ID](https://curia.europa.eu/juris/liste.jsf?num=C-40/17)). Für gemeinsam Verantwortliche verlangt [Art. 26 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679) eine Vereinbarung. Prüfe mit deiner Datenschutzberatung, welche Vereinbarung Meta dafür anbietet und ob sie für deinen Fall greift.

## So macht es Rechnungskit im Checkout {#rechnungskit}

Ohne aktives Tracking läuft im [Rechnungskit-Checkout](https://rechnungskit.de/checkout) kein Drittskript, und es erscheint keine Leiste. Sobald du unter Verbindungen → Integrationen Meta Ads, den Google-Tag oder den TikTok-Pixel aktivierst, zeigt der Checkout die Einwilligungs-Leiste: im Produkt-Checkout, im Abo-Checkout, auf der Shop-Seite und auf den Danke-Seiten. Voraussetzung ist eine Datenschutz-URL in deinen Firmendaten. Fehlt sie, pausiert das Tracking, und die Integrations-Karte weist dich darauf hin.

- **Ohne Ja** speichert Rechnungskit an der Bestellung weder Klick-IDs (`fbclid`, `gclid`, `ttclid`, `msclkid`) noch UTM-Parameter und sendet nichts an Meta. Das Webhook-Feld `attribution` und die Werbe-Parameter an der Return-URL bleiben leer.
- **Mit Ja** hängen Klick-IDs und UTM-Parameter an der Bestellung, zusammen mit dem Nachweis: Entscheidung, Anbieter, Version der Leiste und Zeitpunkt. Die [Meta-Ads-Integration](https://rechnungskit.de/integrationen/meta-ads) meldet nach der Zahlung ein Purchase-Event, bei Abo-Starts ein Subscribe-Event mit dem Planbetrag der ersten vollen Periode. Ob gesendet werden darf, prüft Rechnungskit im Moment des Sendens an der Bestellung.
- **Browser-Pixel** für Meta, Google und TikTok lädt der Checkout erst nach dem Klick auf Akzeptieren. Du trägst nur die IDs ein, ein Feld für eigenen Code gibt es nicht. Die automatische Auswertung von Formularfeldern schaltet Rechnungskit im Code ab, soweit der Anbieter das zulässt. Auf der Seite mit den Bankdaten für Vorkasse und im Kundenportal läuft kein Pixel.

Jede Meldung an Meta steht im Protokoll auf der Integrations-Seite. Dort siehst du auch, wie viele Käufer in den letzten 30 Tagen zugestimmt haben, als reine Anzahl ohne personenbezogene Daten. Bestellungen von vor dieser Umstellung haben keinen Einwilligungsnachweis und zählen als Nein.

## Einrichtung und Textvorschlag für die Datenschutzerklärung {#anleitung}

So richtest du das Tracking im Checkout ein:

1. Trage unter Einstellungen in den Firmendaten die URL deiner Datenschutzerklärung ein. Ohne sie startet kein Tracking.
2. Verbinde unter Verbindungen → Integrationen Meta Ads mit Pixel-ID und Zugriffstoken. Optional schaltest du dort den Browser-Pixel dazu oder trägst die IDs für den Google-Tag und den TikTok-Pixel ein.
3. Ergänze deine Datenschutzerklärung um jeden Anbieter, den du aktiviert hast. Einen Vorschlag findest du unten.
4. Schalte im Meta Events Manager und im TikTok Events Manager das automatische erweiterte Matching aus. Diese Einstellung liegt beim Anbieter, Rechnungskit kann sie nicht für dich ändern.
5. Prüfe die Vorschau der Leiste auf der Integrations-Karte und schicke ein Test-Event.

Ein Vorschlag für den Abschnitt in deiner Datenschutzerklärung. Passe die eckigen Klammern an und lass den Text prüfen, denn das hier ist keine Rechtsberatung:

> **Messung des Werbeerfolgs im Checkout.** Für Bestellungen nutzen wir den Checkout von Rechnungskit (checkout.rechnungskit.de). Wenn du dort in der Leiste auf „Akzeptieren“ klickst, speichern wir die Kennung aus der Werbeanzeige, über die du zu uns gekommen bist (zum Beispiel fbclid), und die Kampagnen-Parameter an deiner Bestellung. Nach der Zahlung übermitteln wir diese Kennung zusammen mit Betrag, Währung und einer Bestellkennung an [Meta Platforms Ireland Ltd. / Google Ireland Ltd. / TikTok Technology Ltd.], um den Erfolg unserer Werbung zu messen und Zielgruppen für Werbung zu bilden. Außerdem laden wir dann das Messskript des jeweiligen Anbieters, das Cookies setzen kann. Rechtsgrundlage ist deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO, § 25 Abs. 1 TDDDG). Lehnst du ab, speichern und übermitteln wir nichts davon; bestellen kannst du in beiden Fällen. Deine Entscheidung merken wir uns 180 Tage in einem Cookie auf checkout.rechnungskit.de. Du kannst die Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen: über den Link „Tracking-Einstellungen“ unten im Checkout oder indem du die Cookies für checkout.rechnungskit.de löschst. [Hinweis auf gemeinsame Verantwortlichkeit mit Meta nach Art. 26 DSGVO, falls zutreffend.]

## Häufige Fragen

### Brauche ich für serverseitiges Tracking keinen Cookie-Banner mehr?

Eine Einwilligung brauchst du trotzdem. Der Europäische Datenschutzausschuss behandelt Kennungen in Tracking-Links als Speicherung auf dem Endgerät und ihr Einsammeln als Zugriff ([EDSA-Leitlinien 2/2023, Rn. 50 f.](https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf)); dafür verlangt [§ 25 Abs. 1 TDDDG](https://www.gesetze-im-internet.de/ttdsg/__25.html) eine Einwilligung. Im Rechnungskit-Checkout erscheint dafür automatisch eine schmale Leiste, sobald du Tracking aktivierst. Ohne Tracking gibt es keine Leiste.

### Was passiert, wenn der Käufer ablehnt oder gar nichts anklickt?

Dann kauft er ganz normal. Rechnungskit speichert weder Klick-ID noch UTM-Parameter an der Bestellung und meldet den Kauf nicht an Meta. Keine Entscheidung zählt wie ein Nein.

### Setzt die Einwilligungs-Leiste selbst ein Cookie?

Ja, ein einziges. Es merkt sich die Entscheidung, damit die Leiste nicht bei jedem Seitenaufruf neu erscheint. Darin steht keine Kennung, nur Ja oder Nein, die Version der Leiste und die betroffenen Anbieter, und es läuft nach 180 Tagen ab. Für das Speichern der Entscheidung selbst ist keine Einwilligung nötig, weil es dafür unbedingt erforderlich ist ([§ 25 Abs. 2 Nr. 2 TDDDG](https://www.gesetze-im-internet.de/ttdsg/__25.html)).

### Zählt Meta serverseitige Events genauso wie Pixel-Events?

Ja. Kampagnen-Optimierung, Attribution, Zielgruppen und Lookalikes arbeiten mit Events aus der Conversions API genauso wie mit Pixel-Events. Im Events Manager siehst du je Event, ob es vom Browser oder vom Server kam.

### Warum sehe ich die Server-Events nicht im Meta Pixel Helper?

Weil die Browser-Erweiterung nur Pixel-Aufrufe im Browser sieht. Server-Events prüfst du im Events Manager, unter Test-Events mit einem Test-Event-Code.

### Was passiert mit Käufen ohne Klick-ID?

Ohne Klick-ID und ohne erweitertes Matching fehlt der Anker, und das Event wird nicht gesendet. Mit erweitertem Matching meldet Rechnungskit auch Käufe ohne Klick-ID, sofern der Käufer eingewilligt hat; Meta ordnet sie dann über die gehashte E-Mail zu.

### Wie lange nach dem Kauf nimmt Meta ein Event noch an?

Bis zu sieben Tage nach dem Ereigniszeitpunkt. Spätere Nachmeldungen weist Meta ab.

## Quellen

- [Meta for Developers: Conversions API (Überblick)](https://developers.facebook.com/docs/marketing-api/conversions-api)
- [Meta for Developers: fbp- und fbc-Parameter (Format, Klick-Zeitstempel)](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc)
- [Meta for Developers: Pixel- und Server-Events deduplizieren (event_id)](https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events)
- [§ 25 TDDDG: Schutz der Privatsphäre bei Endeinrichtungen (gesetze-im-internet.de)](https://www.gesetze-im-internet.de/ttdsg/__25.html)
- [EDSA (EDPB): Leitlinien 2/2023 zum technischen Anwendungsbereich von Art. 5 Abs. 3 ePrivacy-Richtlinie, Version 2.0 vom 7. Oktober 2024, Rn. 47 bis 51 (englisch)](https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf)
- [Datenschutz-Grundverordnung (EU) 2016/679, Art. 4, 6, 7 und 26 (EUR-Lex)](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679)
- [EuGH, Urteil vom 29.07.2019, C-40/17 (Fashion ID)](https://curia.europa.eu/juris/liste.jsf?num=C-40/17)
