Meta Pixel DSGVO und Cookie-Einwilligung
Kein Ja,
kein PageView.
Damit der Meta Pixel auf die Cookie-Einwilligung wartet, darf sein Code erst laufen, wenn der Besucher Marketing-Cookies erlaubt. Entweder sperren Sie das ganze Snippet, bis Ihr Banner ein Ja bekommt, oder Sie rufen, wie Metas eigene GDPR-Seite zeigt, auf jeder Seite fbq(‘consent’, ‘revoke’) vor fbq(‘init’) auf und fbq(‘consent’, ‘grant’), sobald der Besucher zustimmt. In Deutschland verlangt § 25 TDDDG die Einwilligung, bevor Informationen auf dem Endgerät gespeichert oder dort ausgelesen werden; ein Pixel, das vor diesem Ja einen PageView meldet oder sein Cookie setzt, ist genau der Fall, um den es dabei geht. Dasselbe gilt für die Pixel von TikTok, LinkedIn, Pinterest, Snap, X und Reddit und für Microsofts UET-Tag, das für Besucher im EWR, im Vereinigten Königreich und in der Schweiz seit dem 5. Mai 2025 ein Einwilligungssignal an Microsoft senden muss. Unten: wer Einwilligung verlangt und wie, Metas zwei Methoden nebeneinander, ein Checker, der zu früh feuernde Pixel in Ihrem Seitenquelltext findet und die gesperrte Fassung schreibt, und dasselbe für TikTok und Microsoft.
Vom Builderify-Team Deutsche Fassung der englischen Anleitung
Braucht der Meta Pixel eine Cookie-Einwilligung?
In Deutschland: ja.
Nach § 25 Abs. 1 TDDDG ist es nur mit Einwilligung zulässig, Informationen auf dem Endgerät eines Besuchers zu speichern oder dort bereits gespeicherte Informationen auszulesen. Die Ausnahme in Absatz 2 gilt, wenn das unbedingt erforderlich ist, damit ein vom Nutzer ausdrücklich gewünschter Dienst bereitgestellt werden kann; ein Werbepixel gehört nach unserer Lesart nicht dazu. Meta, TikTok und Microsoft legen die Aufgabe des Fragens jeweils bei Ihnen ab, dem Betreiber der Website.
Unternehmen möchten womöglich Code einsetzen, der ein Banner erzeugt und eine bestätigende Einwilligung verlangt
Wir verlangen von Werbetreibenden, Hinweise zu geben und Einwilligungen einzuholen, soweit die geltenden Gesetze das vorschreiben.
Im Europäischen Wirtschaftsraum und im Vereinigten Königreich … müssen Sie eine Einwilligung einholen …, bevor Sie das UET-Tag auf Ihren Seiten aktivieren
Es ist dementsprechend nicht zulässig, wenn einwilligungsbedürftige Cookies bereits mit dem erstmaligen Aufruf einer Website gesetzt und erst anschließend die Einwilligung abgefragt wird.
Die Einwilligungsregel der ePrivacy-Richtlinie betrifft nicht nur Cookies: Die Leitlinien wenden sie ausdrücklich auf URL- und Pixel-Tracking an.
Der Landesbeauftragte für den Datenschutz Rheinland-Pfalz unterscheidet zwei Schritte: Für das Speichern und Auslesen auf dem Endgerät gilt § 25 Abs. 1 TDDDG, für die Weiterverarbeitung, etwa Profilbildung und Werbeeinblendung, Art. 6 Abs. 1 lit. a DSGVO. In der Regel seien daher zwei Einwilligungen nötig. Ein Banner kann beide mit einer Handlung einholen, wenn es schon dort über alle Zwecke informiert und klar zeigt, dass es mehrere Einwilligungen sind.
Dieselbe Behörde schreibt, eine wirksame Einwilligung liege nicht vor, wenn Felder im Banner vorab angekreuzt sind oder die Einwilligung wegen „Weitersurfens“ einfach unterstellt wird, und eine Opt-out-Lösung erfülle die Anforderungen nicht. Die Einwilligung müsse erfolgt sein, bevor der Zugriff auf das Endgerät passiert: „vorher dürfen keine Cookies gesetzt werden“, mit Ausnahme technisch zwingend erforderlicher.
So lesen wir die Vorschriften, mit Links zu den Quellen unten. Das ist keine Rechtsberatung; für Ihre eigene Website fragen Sie, wer Sie rechtlich berät. Für Österreich und die Schweiz gelten eigene Gesetze, die wir hier nicht auswerten. Zitate aus englischen Quellen haben wir übersetzt. Für Googles Tags gilt ein eigenes System, das die englische Anleitung zu Consent Mode v2 behandelt.
Facebook Pixel DSGVO einrichten:
sperren oder revoke vor init.
Metas Seite bietet eine API mit zwei Aufrufen: fbq('consent', 'revoke'), um „das Senden von Pixel-Aufrufen an Facebook zu pausieren“, und fbq('consent', 'grant'), um sie nach erteilter Einwilligung zu senden. Der andere Weg ist älter und einfacher: Das Snippet läuft gar nicht, bis der Besucher zustimmt.
A. Das ganze Snippet sperren
Nichts erreicht MetaDer Browser überspringt ein Skript, dessen type kein JavaScript ist. Ihr Consent-Tool tauscht es nach einem Ja gegen ein echtes aus. Bis dahin wird fbevents.js nicht heruntergeladen, also erreicht Meta nicht einmal die Anfrage danach, mit der IP-Adresse des Besuchers.
<script type="text/plain" data-bdf-consent="marketing"> !function(f,b,e,v,n,t,s){…}(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', 'YOUR_PIXEL_ID'); fbq('track', 'PageView'); </script>
- Funktioniert für jedes Pixel, nicht nur für das von Meta
- Ein wiederkehrender Besucher, der zugestimmt hat, wird vom Tool auf jeder Seite freigegeben
- Auch Event-Code an anderer Stelle muss warten, sonst wirft er „fbq is not defined“
B. Revoke vor init, grant danach
Metas MethodeDas Snippet läuft auf jeder Seite mit widerrufener Einwilligung, und Ihr Banner ruft nach einem Ja grant auf. Die Bibliothek wird trotzdem von connect.facebook.net geladen; auf Metas Seite steht, das Senden sei pausiert, aber nicht, was in der Zwischenzeit mit den Events passiert.
// Revoke consent before 'init' is called fbq('consent', 'revoke'); fbq('init', 'YOUR_PIXEL_ID'); fbq('track', 'PageView'); // Once affirmative consent has been granted fbq('consent', 'grant');
- Event-Code kann bleiben, wo er ist
- Revoke auf jeder Seite, und grant auf jeder Seite für einen Besucher, der schon Ja gesagt hat
- Nur für Meta: TikTok, LinkedIn und die übrigen brauchen ihre eigene Behandlung
Der Code in B ist Metas eigenes Beispiel, Kommentare inklusive. Wenn er läuft, speichert das Pixel ein First-Party-Cookie _fbp auf Ihrer Domain, falls dort noch keines existiert; das erklärt Metas Seite zur Conversions API.
Fünf Gründe, warum ein „eingewilligtes“ Pixel trotzdem zu früh feuert
Die ersten vier findet der Checker unten in Ihrem Seitenquelltext. Die fünfte passiert auf einem Server, außerhalb seiner Sicht.
Metas eigenes Plugin und PixelYourSite haben je über 400.000 aktive Installationen. Ein Plugin gibt das Pixel selbst aus, Sie können seiner Ausgabe also kein Attribut hinzufügen: Nutzen Sie die Consent-Einstellungen des Plugins, oder schalten Sie es ab und verbinden Sie die Pixel-ID stattdessen mit Ihrem Consent-Tool. Die Seite von PixelYourSite sagt, es „arbeitet von Haus aus mit den beliebtesten Consent-Management-Plugins zusammen“; die Seite von Meta erwähnt Einwilligung nicht.
-
01
Revoke nach init
Metas Beispiel setzt
fbq('consent', 'revoke')vorfbq('init'). Kommt der Aufruf danach, ist der PageView schon abgeschickt. -
02
Revoke nur auf der ersten Seite
Meta schreibt: „Sie müssen revoke auf jeder Seite aufrufen.“ Die andere Hälfte ist ebenfalls Ihre Aufgabe: Wer letzte Woche Ja gesagt hat, braucht heute auf jeder Seite, die er öffnet, ein
grant. -
03
Events außerhalb der Sperre
Ein
fbq('track', 'Purchase')auf Ihrer Danke-Seite läuft von allein. Ist der Basiscode gesperrt und dieser Aufruf nicht, bricht der Browser mit „fbq is not defined“ ab. Sperren Sie den Event-Code auf dieselbe Weise. -
04
Das noscript-Bild
Das
<noscript><img>in Metas Snippet meldet einen PageView für Browser ohne JavaScript, in denen kein Banner fragen kann. Entfernen Sie es. -
05
Serverseitige Events
Die Conversions API schickt Events von Ihrem Server oder Ihrer Shop-Plattform an Meta. Ein Cookie-Banner im Browser bekommt sie nie zu sehen; prüfen Sie, wie diese Integration mit der Einwilligung umgeht.
Welche Ihrer Pixel
feuern vor dem Ja?
Fügen Sie den Quelltext einer Seite ein (in Chrome: Seitenquelltext anzeigen, dann alles markieren). Der Checker findet Code von Meta, TikTok, LinkedIn, Microsoft UET, Pinterest, Snap, X und Reddit, sagt, welcher davon vor der Einwilligung läuft, und schreibt eine Kopie, in der alles wartet. Er liest den Text in Ihrem Browser; nichts wird irgendwohin gesendet.
-
G
-
M Meta Pixel Anbieter-Schalter 6
Vom Schalter von Meta selbst gehalten: fbq('consent', 'revoke') läuft vor init. Events warten, aber fbevents.js wird trotzdem von Meta geladen, und Ihr Banner muss nach einem Ja auf jeder Seite fbq('consent', 'grant') aufrufen.
-
M Meta Pixel Ersatz ohne JS 19
Ein Ersatzbild für Browser ohne JavaScript, in denen kein Banner fragen kann. Die gesperrte Kopie entfernt es.
-
Tk TikTok Pixel Läuft vor Einwilligung 25
Läuft beim Laden der Seite, noch bevor das Banner etwas gefragt hat.
-
UET Microsoft UET Anbieter-Schalter 34
Vom UET-Einwilligungsmodus gehalten: Der Standard ist denied, Microsofts Advanced Mode. Ihr Banner muss das Update auf jeder Seite senden.
-
UET Microsoft UET Anbieter-Schalter 35
Vom UET-Einwilligungsmodus gehalten: Der Standard ist denied, Microsofts Advanced Mode. Ihr Banner muss das Update auf jeder Seite senden.
-
in LinkedIn Insight Tag Läuft vor Einwilligung 41
Läuft beim Laden der Seite, noch bevor das Banner etwas gefragt hat.
-
in LinkedIn Insight Tag Läuft vor Einwilligung 46
Läuft beim Laden der Seite, noch bevor das Banner etwas gefragt hat.
-
in LinkedIn Insight Tag Ersatz ohne JS 47
Ein Ersatzbild für Browser ohne JavaScript, in denen kein Banner fragen kann. Die gesperrte Kopie entfernt es.
-
P Pinterest Tag Wartet 50
Wartet auf den Marketing-Schalter von Builderify.
-
M Meta Pixel Anbieter-Schalter 58
Vom Schalter von Meta selbst gehalten: fbq('consent', 'revoke') läuft vor init. Events warten, aber fbevents.js wird trotzdem von Meta geladen, und Ihr Banner muss nach einem Ja auf jeder Seite fbq('consent', 'grant') aufrufen.
<head>
<meta charset="utf-8">
<title>Hartmann & Söhne Kaffeerösterei</title>
<!-- Meta Pixel Code -->
<script type="text/plain" data-bdf-consent="marketing">
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('consent', 'grant');
fbq('init', '1234567890123456');
fbq('track', 'PageView');
</script>
<!-- Meta Pixel Ersatzbild entfernt: Es lädt ohne JavaScript, wo kein Banner fragen kann -->
<!-- End Meta Pixel Code -->
<!-- TikTok Pixel Code -->
<script type="text/plain" data-bdf-consent="marketing">
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
ttq.load('C4ABCDEFGHIJ1234KLMN');
ttq.page();
}(window, document, 'ttq');
</script>
<!-- Microsoft Advertising UET -->
<script type="text/plain" data-bdf-consent="marketing">(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"187654321", enableAutoSpaTracking: true};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script>
<script type="text/plain" data-bdf-consent="marketing">
window.uetq = window.uetq || [];
window.uetq.push('consent', 'default', { 'ad_storage': 'granted' });
</script>
<!-- LinkedIn Insight Tag -->
<script type="text/plain" data-bdf-consent="marketing">
_linkedin_partner_id = "1234567";
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
</script>
<script type="text/plain" data-bdf-consent="marketing" async src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script>
<!-- LinkedIn Insight Tag Ersatzbild entfernt: Es lädt ohne JavaScript, wo kein Banner fragen kann -->
<!-- Pinterest Tag, wartet bereits auf die Einwilligung -->
<script type="text/plain" data-bdf-consent="marketing">
!function(e){if(!window.pintrk){window.pintrk=function(){window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var n=window.pintrk;n.queue=[],n.version="3.0";var t=document.createElement("script");t.async=!0,t.src=e;var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js");
pintrk('load', '2612345678901');
pintrk('page');
</script>
</head>
<body>
…
<script type="text/plain" data-bdf-consent="marketing">
fbq('track', 'Purchase', { value: 24.00, currency: 'EUR' });
</script>
</body>
- Pixel-Skripte bekommen type="text/plain" data-bdf-consent="marketing"; ihr eigenes type-Attribut entfällt.
- Pixel-<noscript>-Bilder werden durch einen Kommentar ersetzt.
- Zeile 6: fbq('consent', 'revoke') wurde zu fbq('consent', 'grant'). Gesperrter Code läuft erst nach einem Ja, und ein revoke dort würde das Pixel weiter pausieren.
- Zeile 35: Der UET-Consent-Standard wurde zu 'granted': Dieser Code läuft jetzt erst nach einem Ja.
- Setzen Sie den Consent-Tag von Builderify als Erstes in den <head>, damit der markierte Code freigegeben wird, sobald der Besucher Marketing erlaubt.
Entfernen Sie den Basiscode und fügen Sie diese IDs in Builderifys Cookie Consent unter Tracking tags ein. Sie senden Seitenaufrufe; Events wie Purchase bleiben gesperrter Code.
- MMeta Pixel1234567890123456
- TkTikTok PixelC4ABCDEFGHIJ1234KLMN
- UETMicrosoft UET187654321
- inLinkedIn Insight Tag1234567
- PPinterest Tag2612345678901
Was er nicht sieht: Code, den ein Plugin oder der Tag Manager nach dem Laden der Seite hinzufügt, Shopify-App-Pixel (sie laufen in Shopifys eigener Sandbox) und alles, was von einem Server gesendet wird. Das Attribut data-bdf-consent gehört zu Builderify; ein anderes Consent-Tool will seine eigene Markierung, doch die Idee ist dieselbe: ein Skript, das der Browser nicht ausführt, bis es freigegeben wird.
TikTok Pixel DSGVO,
und sechs weitere Pixel.
TikToks Hilfe weist Werbetreibende an, sicherzustellen, dass „Ihre Website die Einstellung und Nutzung von Cookies deaktiviert, wenn eine Person die Einwilligung ablehnt“, und „einen Tag Manager oder eine Consent-Management-Plattform zu verwenden, um das Auslösen Ihres Pixel-Basiscodes zu steuern“. Als Cookies des Pixels nennt sie _ttp, ttcsid_ und _pangle.
In den Pixel-Einstellungen lassen sich First-Party-Cookies abschalten, doch TikTok sagt, dass das Pixel weiterhin Third-Party-Cookies nutzt; das allein ist also keine Einwilligung. Der Basiscode enthält die Methoden grantConsent und revokeConsent, und TikTok nennt einen „Pixel Consent Mode“; eine TikTok-Seite, die sie erklärt, haben wir bisher nicht gefunden. Der vorsichtige Weg ist deshalb derselbe wie bei Meta: den Basiscode bis zu einem Ja zurückhalten.
LinkedIn, Pinterest, Snap, X und Reddit sind von der Website-Seite aus noch einfacher: den Code bis zu einem Ja zurückhalten. Bei Shopify laufen Pixel, die Apps oder Custom Pixels hinzufügen, in Shopifys Sandbox, und Shopify sagt, dass sie in Märkten mit Einwilligungspflicht „nur laufen, wenn Besucher die in der Pixel-Konfiguration verlangten Berechtigungen erteilt haben“.
| Pixel | Global | Lädt von | Schalter, den Builderify sendet | Per ID verbunden, sendet |
|---|---|---|---|---|
| Meta Pixel | fbq | connect.facebook.net | fbq('consent', 'grant' | 'revoke') | consent grant, init, PageView |
| TikTok Pixel | ttq | analytics.tiktok.com | ttq.grantConsent() | revokeConsent() | ttq.page() |
| Microsoft UET | uetq | bat.bing.com | UET consent mode, ad_storage | pageLoad |
| LinkedIn Insight Tag | lintrk | snap.licdn.com | Keiner: Code zurückhalten | Den Insight Tag selbst |
| Pinterest Tag | pintrk | s.pinimg.com | Keiner: Code zurückhalten | pintrk('page') |
| Snap Pixel | snaptr | sc-static.net | Keiner: Code zurückhalten | PAGE_VIEW |
| X Pixel | twq | static.ads-twitter.com | Keiner: Code zurückhalten | twq('config') |
| Reddit Pixel | rdt | redditstatic.com | Keiner: Code zurückhalten | PageVisit |
Die letzten beiden Spalten stammen von Builderify, aus dessen Code: der Consent-Aufruf, den es an ein Pixel weitergibt, das schon auf der Seite ist, und was es auslöst, wenn es ein Pixel nach einem Ja aus seiner ID lädt. „Keiner“ heißt, dass Builderify diesem Anbieter kein Signal sendet, nicht, dass der Anbieter keine eigene Einstellung hat.
Microsoft UET Consent Mode:
Pflicht seit 5. Mai 2025.
Microsoft Advertising verlangt von jedem Werbetreibenden, der den Universal Event Tracking Tag nutzt, Einwilligungssignale zu senden, über den UET Consent Mode oder das TCF des IAB, und sagt: „Sie sollten niemals beide gleichzeitig verwenden“. Ab dem 5. Mai 2025 begann es, „alle Kunden mit Endnutzern im EWR, im Vereinigten Königreich und in der Schweiz zum Senden von Consent Mode zu verpflichten“.
Wenn Sie es lassen
Microsofts FAQ: „Wir stellen das Tracking Ihrer UET-basierten Conversions ein und befüllen Ihre Remarketing-Listen nicht mehr.“
Ein Signal zählt
UET liest ad_storage, granted oder denied. Microsoft sagt, es plane derzeit nur dieses eine durchzusetzen; ad_user_data und ad_personalization sind optional.
Was denied bewirkt
UET liest und schreibt seine First-Party-Cookies nicht, schreibt keine Third-Party-Cookies und liest Third-Party-Cookies nur zur Betrugs- und Spam-Abwehr.
Worauf es achtet
MUID, _uetvid, _uetsid und die anderen UET-Cookies, wenn sie gesetzt werden, bevor jemand das Banner beantwortet hat, oder nach einem Ablehnen.
<!-- UET tag is added here --> <script> window.uetq = window.uetq || []; window.uetq.push('consent', 'default', { 'ad_storage': 'denied' }); </script> <!-- Once the visitor chooses, on every page --> <script> window.uetq = window.uetq || []; window.uetq.push('consent', 'update', { 'ad_storage': 'granted' }); </script>
Basic sperrt den Tag bis zur Einwilligung und sendet davor nichts. Advanced lädt den Tag mit denied und sammelt bis zu einem Ja nur anonymisierte Daten. Microsoft empfiehlt Advanced.
Der UET Tag Helper zeigt bei jedem Event einen Parameter asc: denied vor einem Ja, granted danach. In der Konsole antwortet window.uetq.uetConfig.consent.adStorageAllowed mit true oder false.
Lassen Sie den Standard weg, behandelt UET die meisten Länder als granted; im EWR, im Vereinigten Königreich und in der Schweiz, wo Microsoft den Consent Mode durchsetzt, ist der Standard denied. Clarity, falls Sie es mit UET verknüpft haben, braucht seine Einwilligung gesondert.
So prüfen Sie, ob Ihr Pixel
auf die Einwilligung wartet.
Der Seitenquelltext zeigt, was auf der Seite steht. Der Tab Network zeigt, was den Browser tatsächlich verlassen hat, und wann. Zehn Minuten, jeder Browser mit Entwicklertools.
-
01
Privates Fenster öffnen, dann DevTools
Keine gespeicherte Auswahl, keine übrig gebliebenen Cookies. Öffnen Sie den Tab Network, bevor Sie die Seite laden, und filtern Sie auf
/facebook|tiktok|bing|licdn|pinimg|sc-static|ads-twitter|redditstatic/(Chrome liest einen Filter zwischen Schrägstrichen als regulären Ausdruck). -
02
Seite laden und das Banner in Ruhe lassen
Von diesen Hosts sollte nichts auftauchen. Unter Application › Cookies sollte es kein
_fbp(Metas First-Party-Cookie), kein_ttp(das von TikTok) und kein_uetsid/_uetvid(die von Microsoft) geben. -
03
Ablehnen, dann zwei weitere Seiten aufrufen
Weiterhin nichts. Taucht ein Pixel erst auf der zweiten Seite auf, steckt es in einer Vorlage, die Ihre Sperre nicht abdeckt, oft im Blog, im Checkout oder auf einer Danke-Seite.
-
04
Von vorn beginnen und zustimmen
Jetzt sollten
facebook.com/tr-Anfragen mitev=PageViewerscheinen, und mit ihnen die Cookies. Die Pixel-Helper-Erweiterungen von Meta und TikTok zeigen dasselbe von ihrer Seite. -
05
Zurücknehmen
Öffnen Sie die Cookie-Einstellungen und schalten Sie Marketing aus. Pixel-Code, der schon lief, lässt sich nicht entladen; die Seite muss deshalb neu laden, bevor es aufhört. Danach sollte nichts Neues mehr bei diesen Hosts ankommen.
Ein Cookie-Banner,
das die Pixel zurückhält.
Builderifys Cookie-Consent-Banner (die Seite ist englisch) bringt einen Consent-Tag mit, den Sie als Erstes in Ihren <head> setzen. Der einfachste Weg: Löschen Sie den Code eines Pixels von Ihrer Website und fügen Sie stattdessen seine ID unter Tracking tags des Banners ein. Es lädt dann nur für Besucher, die seine Kategorie erlauben. Code, den Sie lieber behalten, etwa ein Purchase-Event, wartet hinter dem Attribut, das der Checker schreibt.
Der Consent-Tag, die Entscheidungen und der Consent-Log kosten keine Credits, und das Banner läuft weiter, wenn Ihre Credits aufgebraucht sind; der Rest des Widgets pausiert, bis Sie aufladen. Seitenaufrufe des Widgets kosten 10 Credits pro 1.000, aus den 250 kostenlosen Credits, die jedes Konto jeden Monat bekommt, und Credit-Pakete beginnen bei 9 US-Dollar, einmalig. Unsicher, welche Besucher überhaupt gefragt werden müssen? Die englische Anleitung zum Cookie-Banner behandelt die EU, das Vereinigte Königreich und die USA.
- WordPress
- Das Builderify-Plugin, Settings › Builderify, „Load the cookie consent tag first in <head>“
- Shopify
- Ganz oben im <head> der theme.liquid; die Auswahl geht an Shopifys Customer Privacy API
- Wix
- Settings › Custom Code, bei Head, alle Seiten, ganz nach oben gezogen
- Squarespace
- Code Injection › Header, erste Zeile; Squarespaces eigenes Banner ausschalten
- Webflow
- Site settings › Custom code › Head code, über allem anderen
Verkäufe ohne Pixel messen? Conversions per URL tracken zeigt einen anderen Weg. Banner im Vergleich: der Free-Plan von CookieYes und der Free-Plan von Cookiebot (alle drei englisch).
Was es kann
- Eine ID statt des Codes einfügen: Meta, TikTok, LinkedIn, Microsoft UET, Pinterest, Snap, X und Reddit, dazu GA4, Google Ads, Tag Manager, Clarity und Hotjar. Jedes lädt erst, wenn seine Kategorie erlaubt ist, und die Kategorie wählen Sie pro Tag
-
Code, den Sie behalten, wartet mit
type="text/plain" data-bdf-consent="marketing"und wird nach einem Ja in Seitenreihenfolge freigegeben; iframes, Bilder und Videos warten mitdata-src - „Tell other vendors too“, standardmäßig an, gibt jede Auswahl an die Consent-Schalter von Meta und TikTok, an Microsoft Clarity, den UET-Consent-Modus und Shopifys Customer Privacy API weiter
- Ist der Google Consent Mode an (der Standard), legt der Consent-Tag außerdem einen UET-Consent-Standard in die Warteschlange, bevor bat.js ihn liest
- Nimmt ein Besucher Marketing zurück, nachdem ein Pixel lief, lädt die Seite neu, damit der Code aufhört; Cookies, von denen das Banner weiß, dass sie zu einer abgelehnten Kategorie gehören, werden gelöscht
- Global Privacy Control schaltet Marketing in Opt-out-Regionen standardmäßig aus, und jede Antwort landet in einem Consent-Log, den Sie als CSV exportieren können
Vorab wissen
- Keine Conversions API und keine Events API. Builderify steuert nur, was im Browser läuft; serverseitige Events aus Ihrem Shop oder einem Plugin laufen nie durch das Banner
-
Ein per ID verbundener Tag sendet nur den Seitenaufruf. Käufe, Leads und andere Events bleiben Ihr Code: Sperren Sie ihn mit demselben Attribut oder rufen Sie ihn über
bdfConsent.onConsent('marketing', …)auf - Die Anbieter-Schalter laufen als Erstes auf jeder Seite, bevor Ihr eigener Meta-Code existiert. Allein können sie den ersten PageView eines selbst eingefügten Pixels nicht aufhalten: Sperren Sie es oder verbinden Sie es per ID
- UET, per ID verbunden, lädt erst nach einem Ja, das ist der Basic Mode. Für Microsofts empfohlenen Advanced Mode behalten Sie Ihren eigenen UET-Tag unter dem Consent-Tag
- Nichts wird automatisch blockiert: Code, den Sie weder markieren noch verbinden, läuft wie bisher. Es ist auch keine IAB-TCF-Plattform
- Es hilft Ihnen, richtig zu fragen; es ist keine Rechtsberatung und keine Garantie für Rechtskonformität
Pixel und Einwilligung, bevor Sie fragen.
In Deutschland ja, nach unserer Lesart. § 25 Abs. 1 TDDDG erlaubt das Speichern von Informationen auf dem Endgerät oder das Auslesen dort gespeicherter Informationen nur mit Einwilligung; die Ausnahme in Absatz 2 gilt nur für Dienste, die der Nutzer ausdrücklich wünscht und die dafür unbedingt erforderlich sind. Die Datenschutzkonferenz schreibt, die Einwilligung müsse vorliegen, bevor der Zugriff erfolgt. Metas eigene GDPR-Seite zeigt, wie Sie das Pixel bis zu einem Ja anhalten. Das ist keine Rechtsberatung.
Vor fbq('init') und auf jeder Seite, wie in Metas eigenem Beispiel. Sobald der Besucher zustimmt, rufen Sie fbq('consent', 'grant') auf, und auf jeder weiteren Seite noch einmal für einen Besucher, der schon Ja gesagt hat. Mit revoke wird fbevents.js trotzdem von Meta geladen; sperren Sie das ganze Snippet bis zu einem Ja, bekommt Meta gar nichts.
Wo das Gesetz sie verlangt, ja. TikToks Hilfe sagt, dass Werbetreibende Hinweise geben und Einwilligungen einholen müssen und das Auslösen des Pixel-Basiscodes über einen Tag Manager oder eine Consent-Management-Plattform steuern sollen. Die First-Party-Cookies in den Pixel-Einstellungen abzuschalten genügt nicht, weil das Pixel weiterhin Third-Party-Cookies nutzt.
Für Besucher im EWR, im Vereinigten Königreich und in der Schweiz ja, seit dem 5. Mai 2025. Microsoft verlangt UET Consent Mode oder das IAB-TCF, aber nie beide, und sagt, dass es ohne eines davon das Tracking UET-basierter Conversions einstellt und Remarketing-Listen nicht mehr befüllt. Durchgesetzt wird das Signal ad_storage: standardmäßig denied, nach einem Ja granted.
Nein. Die Conversions API schickt Events von Ihrem Server oder Ihrer Shop-Plattform direkt an Meta, ein Banner im Browser bekommt sie also nie zu sehen. Prüfen Sie, wie die jeweilige Integration mit der Einwilligung umgeht. Builderify steuert nur, was im Browser läuft, und hat keine eigene Conversions API oder Events API.
Quellen
Gelesen am 4. November 2026. Metas zwei Seiten haben wir über Archivkopien des Internet Archive gelesen, weil sie live nicht luden.
- Gesetze im Internet § 25 TDDDG: Schutz der Privatsphäre bei Endeinrichtungen
- LfDI Rheinland-Pfalz Cookies und Einwilligungsbanner
- DSK Orientierungshilfe Digitale Dienste, Version 1.2 (November 2024)
- EDPB Leitlinien 2/2023 zum technischen Anwendungsbereich von Art. 5 Abs. 3 der ePrivacy-Richtlinie, Version 2.0 (englisch)
- Meta for Developers Meta Pixel: General Data Protection Regulation (consent revoke und grant, englisch)
- Meta for Developers Conversions API: fbp- und fbc-Parameter (das _fbp-Cookie, englisch)
- TikTok Ads Help How to use cookies with TikTok Pixel (April 2025, englisch)
- TikTok Ads Help Use cookies with TikTok Pixel (Juli 2025, englisch)
- Microsoft Learn FAQ: UET and user consent (englisch)
- Microsoft Learn Setting up UET for consent mode (englisch)
- Shopify Help Pixels overview: sandbox and customer privacy (englisch)
- WordPress.org Meta pixel for WordPress: über 400.000 aktive Installationen
- WordPress.org PixelYourSite: über 400.000 aktive Installationen
← Alle Anleitungen (Englisch) · Google Consent Mode v2: Einrichtung, Basic vs. Advanced (Englisch)
Stop losing the visitors
you already paid for.
More leads from the traffic you already have, and follow-up that sends itself. Free to start. No card, no monthly fee.