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.
Der komplette Weg vom Klick bis zur Meldung
Die Anzeige bringt den Käufer in den Checkout. Dort entscheidet er in einer schmalen Leiste, ob gemessen werden darf. Nur mit seinem Ja hängt die Klick-ID an der Bestellung, und nur dann meldet der Server den Kauf nach der Zahlung an Meta. E-Mail, Name und IP-Adresse bleiben standardmäßig bei dir.
- fbclid hängt an der URL
- UTM-Parameter der Kampagne
- Leiste mit Akzeptieren und Ablehnen
- Klick-ID nur mit Ja an der Bestellung
- Kauf klappt in beiden Fällen
- Webhook an Rechnungskit
- Purchase-Event mit fbc, Betrag, Währung
- Abo-Start: Subscribe-Event
- fbc
- Betrag
- Währung
- UTM
- event_id
Was Server-Side Tracking ist
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
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
Die Einwilligungspflicht kommt aus § 25 Abs. 1 TDDDG, 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..
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.
- Schritt 1Klick auf die AnzeigeDie URL trägt fbclid und UTM-Parameter
- Schritt 2Leiste im Checkout: Akzeptieren oder AblehnenFormular und Bezahlknopf bleiben die ganze Zeit benutzbar
- Schritt 3Kauf und ZahlungRechnungskit prüft die Entscheidung beim Absenden der Bestellung
- Schritt 4Meldung an Meta nach der ZahlungNur wenn an der Bestellung ein Ja gespeichert ist
Wie eine schlanke Einwilligung aussieht
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). 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).
- Einen Nachweis führen. Wer sich auf eine Einwilligung stützt, muss sie nachweisen können (Art. 7 Abs. 1 DSGVO). 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
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
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
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. 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). 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). Für gemeinsam Verantwortliche verlangt Art. 26 DSGVO 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
Ohne aktives Tracking läuft im Rechnungskit-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-Feldattributionund 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 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
So richtest du das Tracking im Checkout ein:
- Trage unter Einstellungen in den Firmendaten die URL deiner Datenschutzerklärung ein. Ohne sie startet kein Tracking.
- 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.
- Ergänze deine Datenschutzerklärung um jeden Anbieter, den du aktiviert hast. Einen Vorschlag findest du unten.
- 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.
- 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
- [1] Meta for Developers: Conversions API (Überblick)
- [2] Meta for Developers: fbp- und fbc-Parameter (Format, Klick-Zeitstempel)
- [3] Meta for Developers: Pixel- und Server-Events deduplizieren (event_id)
- [4] § 25 TDDDG: Schutz der Privatsphäre bei Endeinrichtungen (gesetze-im-internet.de)
- [5] 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)
- [6] Datenschutz-Grundverordnung (EU) 2016/679, Art. 4, 6, 7 und 26 (EUR-Lex)
- [7] EuGH, Urteil vom 29.07.2019, C-40/17 (Fashion ID)
Rechnungskit ist keine Steuerberatung und keine Rechtsberatung. Dieser Beitrag erklärt allgemeine Zusammenhänge und ersetzt weder die Beratung durch deine Steuerkanzlei (§ 5 StBerG) noch eine Rechtsberatung (§ 3 RDG). Rechnungskit richtet sich an in Deutschland ansässige Unternehmen und bereitet Belege, Steuersätze und Buchungen automatisch auf. Wie dein Einzelfall zu bewerten ist, entscheidest du, im Zweifel gemeinsam mit deiner Steuerkanzlei oder einer Anwaltskanzlei.
Jede Rechnung automatisch als valides E-Rechnungs-Format.
Verbinde deine Zahlungsquelle, wir kümmern uns um Format, Prüfung und Archiv. Starte kostenlos im Testmodus.
Jetzt testen