Facebook Pixel Opt-Out Script für WordPress ohne Plugin (DSVGO)

Die DSGVO hat hohe Wellen geschlagen. So ist für alle, die Google Analytics und das Facebook-Pixel weiter nutzen möchten, ein Opt-out (Deaktivierung des Trackings per Script) erforderlich.

*** Wichtiger Hinweis: Aufgrund des EuGH Urteil vom 1.10. reicht ein Opt Out nicht mehr aus. Cookie Opt In ist zwingend erforderlich ***

Im Beitrag “WordPress Cookie Plugins” stelle ich dir die besten Plugins mit Opt In Funktion vor (viele davon kostenlos).

Disclaimer:

Dieser Artikel bietet keine Rechtssicherheit, aber einen Ansatz, das FB-Pixel und Google Analytics datenschutzkonform einzusetzen. Es geht ausschließlich um Anpassungen, die für den Opt-out nötig sind.

Bitte setze dich für eine DSGVO-konforme Umsetzung mit einem Rechtsanwalt oder Datenschutzbeauftragten in Verbindung.

Am Ende des Beitrages habe ich für dich noch einen Bonus-Tipp, wie du den Facebook-Pixel “hackst” für hochwertigere Custom Audience Listen.

Opt-out für Google Analytics

1. Code für Opt-out-Cookie einbauen

Google bietet selbst eine Lösung dafür an.

In Webbrowsern existiert eine Funktion mit dem Namen „DoNotTrack“. Diese kann vom Nutzer aktiviert werden, damit Webseiten kein Tracking durchführen. Vorausgesetzt natürlich, dass diese Einstellung abgefragt wird. In der Praxis wird dies nicht immer der Fall sein.

Deshalb habe ich den Code erweitert, um deine Seite noch stärker an die Datenschutzrichtlinien anzupassen.

Hier ist der vollständige Script Code. Du musst lediglich noch deine Analytics-ID einsetzen:

<script> 
// Set to the same value as the web property used on the site 
var gaProperty = 'UA-XXXXXXXX-X'; // Hier deine Analytics ID eintragen

// Disable tracking if the opt-out cookie exists. 
var disableStr = 'ga-disable-' + gaProperty; 
if (document.cookie.indexOf(disableStr + '=true') > -1) { 
window[disableStr] = true; 
} 


else {
    
  if (navigator.doNotTrack !== '1') {

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXXXXX-X', 'auto'); // Hier deine Analytics ID eintragen
  ga('set', 'anonymizeIp', true);
  ga('send', 'pageview');
  
  console.log("GA Code geladen");
}
}
  
  // Opt-out function
function gaOptout() { 
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; 
window[disableStr] = true; 
location.reload();
} 


</script>

 

2. Opt-out-Link einbauen

In der Datenschutzerklärung fügst du im Abschnitt „Google Analytics“ am Ende folgenden Code ein:

<a onclick="alert('Google Analytics wurde deaktiviert');" href="javascript:gaOptout()">Google Analytics Opt-Out</a>

Dadurch wird ein Link erzeugt, der den Opt-out durchführt und dem Nutzer eine Meldung als Bestätigung anzeigt.

Um eine Datenschutzerklärung inklusive Google-Analytics-Hinweis zu erstellen, empfehle ich dir den Datenschutzgenerator von Dr. Schwenke. Dieser Generator wurde bereits mehrfach auch von anderer Seite empfohlen.

Achte darauf, noch einen Text einzufügen (falls der Generator dies nicht tut), dass dieser Vorgang erneut durchzuführen ist, wenn der Nutzer seine Cookies im Browser löscht.

Du kannst dazu auch in meine eigene Datenschutzerklärung schauen. 🙂

3. Cookie‑ & Opt-out-Banner einfügen

Informiere deine Besucher gleich beim ersten Besuch auf einer Seite über die Opt-out-Möglichkeit mit Hilfe eines Cookie-Banners.

Für WordPress existieren einige Plugins:

Wichtig ist der Hinweis, dass Nutzer dem Tracking widersprechen können, gemeinsam mit einem Link auf deine Datenschutzerklärung.

Erstelle eine extra Seite dafür und füge den obigen Opt-out-Code ein mit dem entsprechenden Hinweistext.

 

Opt-out für das Facebook-Pixel

Variante 1 – Einbau OHNE „Google Tag Manager“

Falls du nicht weißt, was das Facebook-Pixel ist und wie du es für dein Facebook-Marketing nutzen kannst, dann ließ dir zuerst meinen Beitrag „Der ultimative Facebook Pixel Guide“ durch.

Wichtiger Hinweis:

Falls du das Facebook-Pixel mit erweitertem Abgleich nutzt, ist zwingend ein Opt-in erforderlich (siehe Screenshot).

Das heißt, bevor der Pixel-Code geladen werden darf, muss der Nutzer explizit zustimmen.
Meine Anleitung bezieht sich nur auf die Verwendung des Basis-Pixels mit Opt-out.

Ich empfehle dir, nur den Basis-Pixel zu nutzen, denn es wird kaum ein Besucher deiner Seite seine Zustimmung geben, dass der Facebook-Pixel geladen wird.

1. Opt-out-Code einbauen

Leider stellt Facebook keine eigene Lösung bereit. Einige der zahlreich im Internet beschriebenen Opt-out-Methoden habe ich ausprobiert, teilweise enthielten die angepassten Codes Fehler und funktionierten nicht korrekt.

Hier folgt mein selbst genutzter Code, den ich ebenfalls wie bei Google Analytics um die „DoNotTrack“-Einstellung erweitert habe.

<script>


// Facebook Pixel mit Datenschutz OPT OUT per Cookie (analog zu Analytics)
var fp_disableStr = 'fb-pixel-is-disabled';

if (document.cookie.indexOf(fp_disableStr + '=true') > -1) {
window[fp_disableStr] = true;
console.log("Facebook-Pixel ist deaktiviert - Cookie erkannt");

} else {

if (navigator.doNotTrack !== '1') {

// kein Cookie gefunden Facebook Code laden;
// Achtung, unten den korrekten Pixel-Code einsetzen!!!!
// --------------------------------------------------------------------

!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('init', 'Pixel-ID'); // Deine FB Pixel ID
fbq('track', 'PageView');


// --------------------------------------------------------------------
console.log("Facebook-Pixel Code geladen");
}
}


function fbOptout() {
document.cookie = fp_disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[fp_disableStr] = true;
console.log("Facebook-Pixel ist jetzt deaktiviert - Page Refresh nötig");
location.reload();
}
</script>

Ergänze noch deine Facebook-Pixel-ID.

Füge diesen Code in deinem WordPress Theme in die header.php ein, damit er vor dem schließenden Tag geladen wird. Viele Premium Themes bieten dafür in den Einstellungen Felder für das Hinzufügen von Tracking-Codes an.

Falls nicht, dann verwende ein Plugin, z.B.:

2. Opt-out-Link einbauen

In der Datenschutzerklärung fügst du im Abschnitt „Facebook-Pixel“ am Ende folgenden Code ein:

<a onclick="alert('Facebook Pixel wurde deaktiviert');" href="javascript:fbOptout()">Facebook Pixel Opt-Out</a>

Darunter folgt noch der Hinweistext analog zu Google Analytics, dass beim Löschen der Cookies dieser Vorgang erneut vom Nutzer durchzuführen ist.

In den folgenden Screenshots möchte ich dir zeigen, wie du selbst die korrekte Funktion überprüfen kannst.

Schritte:

  1. Installiere das Browser-Add-on Ghostery (https://www.ghostery.com).
  2. Lösche alle Cookies & den Browser-Cache (tu dies immer vor Tests).
  3. Gehe auf deine Webseite und klicke im Browser oben rechts auf das blaue Ghostery-Icon.

    pixel check browser add-on

    Du siehst die geladenen Tracker von Google und Facebook. Bei mir sind es insgesamt 3.
    Falls du mehr hast, dann prüfe, ob du dafür Hinweise in deine Datenschutzerklärung aufnehmen musst.

  4. Gehe nun auf deine Datenschutzerklärung und klicke zunächst auf den Opt-out-Link für den Facebook-Pixel, anschließend auf den „Okay“-Button. Es erfolgt ein Refresh der Seite.
    facebook-pixel-opt-out
  5. Klicke erneut auf das Ghostery-Icon.

    google analytics opt-out
    Du müsstest nun nur noch den Analytics-Tracker sehen.

    Voilà! Der Facebook-Pixel-Opt-out funktioniert.

Wiederhole den Test analog mit dem Analytics-Opt-out.

google facebook pixel dsvgo

Perfekt! Analytics und Facebook-Pixel sind deaktiviert.

Zum Schluss testen wir noch die „DoNotTrack“-Funktion.

  1. Aktiviere hierzu die Funktion im Browser:
    • Chrome: Einstellungen > Erweitert > Schalter auf aktiv bei “Mit Browserzugriffen eine „Do Not Track“-Anforderung senden”
    • Firefox: Einstellungen > Datenschutz & Sicherheit > Schutz vor Aktivitätenverfolgung > „Immer“
  2. Cookies & Cache löschen
  3. Deine Seite aufrufen
  4. Ghostery aufrufen
  5. google facebook pixel datenschutz

    Es sind keine Tracker geladen.

  6. DoNotTrack deaktivieren und Seite erneut aufrufen
  7. Die Tracker sind geladen!

Bonus-Tipp: Facebook-Pixel-„Hack“ für hochwertige Retargeting-Listen

Das versteckte Retargeting-Problem Nr. 1, über das niemand spricht … die Bounce Rate!

In meinem Retargeting-Guide beschreibe ich Möglichkeiten für den Einsatz von Custom-Audience-Listen für Retargeting-Anzeigen.

Wenn du Google Analytics nutzt, dann kennst du sicher auch die Bounce Rate auf deinen Webseiten.

Die Bounce Rate ist der Anteil von Besuchern einer Website, die nur einen einzigen Seitenaufruf erzeugen. Die Bounce Rate wird auf Deutsch als Absprungrate bezeichnet.

Hier handelt es sich meist um Besucher, die mehr oder weniger durch Zufall auf deine Webseite kommen und sich gar nicht für deine Inhalte interessieren. Deshalb verlassen sie sehr schnell deine Webseite.

Hier mal ein Screenshot aus Analytics über die Sitzungsdauer auf meinem Blog.
google website bounce rate

Bei dir dürfte das ähnlich aussehen. Die meisten Besucher springen innerhalb der ersten 10 Sekunden ab.

Wenn du den Facebook-Pixel für den Aufbau von Retargeting-Listen nutzt, landen natürlich auch diese Nutzer in deinen Custom-Audience-Listen.

Wir aber wollen ja mit Retargeting Nutzer wiederholt erreichen, die sich für unsere Inhalte, Services, Produkte etc. interessieren.

Wenn deine Bounce Rate zum Beispiel bei 65 % liegt, dann gibst du 2/3 deines Budgets für Retargeting-Anzeigen aus, um Besucher zurückzuholen, die sich nicht oder kaum für dein Thema interessieren.

Und genau für dieses Problem habe ich eine Lösung, damit du in Zukunft noch bessere Custom-Audience-Listen für Retargeting-Kampagnen aufbauen kannst.

Damit steigt natürlich die Conversion Rate und du erreichst schneller deinen Return of Investment.

Trete meiner Facebook Gruppe “Social Media Camp” bei und erhalte das Pixel-„Hack“-Cheetsheet kostenlos zum Download.

Darin erkläre ich dir, wie du schnell und ohne Programmierkenntnisse den Facebook-Pixel erweitern kannst.

Hier Gruppe beitreten >

 

Variante 2 – Einbau MIT „Google Tag Manager“

Wenn du den Google Tag Manager verwendest, um das Facebook-Pixel auf deiner Seite zu laden, dann nutze folgende Anleitung, um den Opt-out einzubauen.

Du solltest bereits Erfahrung darin haben, denn der Tag Manager ist ein sehr mächtiges Tool von Google. Eine Anleitung findest du auch in der Facebook Hilfe.

1. Opt-out-Link einbauen

Das Tracking durch den Facebook Pixel ist auf dieser Seite:
<script>
if (localStorage.getItem('opt-out')) {
document.write('<span> deaktiviert. </span><button onclick="deleteOptOut()"> Tracking aktivieren</button>');
} else {
document.write('<span> aktiviert. </span><button onclick="setOptOut()">Tracking deaktivieren</button>');
}
function setOptOut() {
localStorage.setItem('opt-out', 'true');
window.location.reload(false);
}
function deleteOptOut() {
localStorage.removeItem('opt-out');
window.location.reload(false);
}
</script>

2. Anpassen des Pixel-Codes

<script data-pixel="fb">
var optOutWish = function() {
var doNotTrack = navigator.doNotTrack === '1';
var hasOptedOut = localStorage.getItem('fb-pixel-status') === 'opt-out';
return doNotTrack || hasOptedOut;
}
if (optOutWish()) {
console.info('User prohibits tracking. Not embedding Facebook’s script.')
} else {
console.log('Embedding Facebook’s script.');
!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('init', '1944570812537922');
fbq('track', 'PageView');
}
</script>

3. Variable erstellen

Zuerst muss eine benutzerdefinierte Variable vom Typ „Benutzerdefiniertes JavaScript“ angelegt werden, die den Wert des Opt-out-Buttons wiedergibt.

google tag manager pixel

4. Trigger erstellen

Die gerade erstellte Variable wird im Trigger verwendet, um die Aktivierung des Facebook-Pixels zu verwalten.

google tag manager pixel

Wenn der Opt-out nicht aktiviert wurde (als Wert nicht „true“ wiedergibt), löst der Trigger aus und aktiviert damit das Facebook-Pixel.

google tag manager pixel

Falls dir der Einbau des Pixels bzw. von Analytics zu technisch ist, dann gibt es natürlich auch Plugins für WordPress-Nutzer.

Häufig empfohlen wird das aus Deutschland stammende Plugin „DSGVO Pixelmate“ von Soulsites*, das in Zusammenarbeit mit der Rechtsanwaltskanzlei lawlikes entwickelt wurde.

Damit kannst du auch weitere externe Quellen wie YouTube, Vimeo, Google Fonts und Google Maps rechtskonform einbinden.

Auch die Möglichkeit, Skripte erst nach der Zustimmung (Opt-in) zu laden, wird unterstützt.

Das Plugin ist eine All-in-one-Lösung für viele Probleme, die mit dem Einbinden von Tracking-Tools und Medieninhalten entstehen.

Die Funktionen im Überblick:

  • Facebook-Pixel-Einbinden mit Opt-in und Opt-out in der Cookie-Meldung (kein extra Code notwendig, einfach Pixel-ID eingeben)
  • Google-Analytics-Anonymisierung & Opt-out oder Opt-in in der Cookie-Meldung (kein extra Code notwendig, einfach Tracking-ID eingeben) und automatische Anonymisierung der IP-Adresse
  • Neu: die Möglichkeit, per Opt-in alle externen Quellen zu unterbinden (YouTube, Google Maps, Google Fonts etc.), bis der Nutzer zugestimmt hat
  • Cookie-Meldung: Cookie-Hinweis mit editierbarem Link zur Datenschutzerklärung (und natürlich ist das Design anpassbar)

Das Plugin kannst du hier* zum einmaligen Preis von nur 39 EUR erwerben.
 

Fazit:

Das Facebook-Pixel ist wahrscheinlich das beliebteste Retargeting-Instrument und zugleich datenschutzrechtlich hochbrisant.

Das sollte dich aber nicht von dem Einsatz abschrecken.

Wenn du die datenschutzrechtlichen Vorgaben erfüllst, kannst du den Facebook-Pixel für deine Marketingziele sehr erfolgreich einsetzen.

Nutzt du bereits den Pixel? Wie lauten deine Erfahrungen? Schreibe doch einen Kommentar!

5 Kommentare zu „Facebook Pixel Opt-Out Script für WordPress ohne Plugin (DSVGO)“

  1. Hallo Holger,

    guter Artikel, den du geschrieben hast, allerdings ist mir die Einbindung des Facebook Pixels mit dem Tag Manager schleierhaft.

    Punkt 1: Opt-Out Link einbauen – Was ist damit gemeint? Da ist ja kein Link sondern ein Skript Code. Wo muss der hin? Auf meine Website oder in den Tag Manager?

    Wie sieht der Code für den Link auf meiner Datenschutzseite aus, auf den der Besucher klickt um den Opt Out Cookie zu setzen?

    Wenn ich es recht sehe, fehlt auch das javascript für fbOptout.

    Würde mich freuen, wenn du den Teil so umschreiben kannst, dass es auch tatsächlich anwendbar ist.

    Vielen Dank

    1. Hallo Akwasi,

      Der Tag Manager ist ein umfangreiches Tool von Google.
      Die Einbindung ist daher für Anwender, die sich bereits mit dem Tag Manager auskennen. Eine komplette Anleitung zum Tag Manager hätte den Artikel gesprengt.

      Einbindung OHNE Tag Manager

      Ich gehe davon aus du nutzt bereits GA. Ersetze deinen Code mit dem unter Punkt 1 ganz am Anfang – füge deine Analytics ID ein!

      In die Datenschutzerklärung kommt der Opt-Out Link rein (Punkt 2).

      Dann musst du noch die Besucher darauf hinweisen. Eine Möglichkeit findest du unter Punkt 3

      Analog verfährst du mit Facebook.

      Beachte das der “Opt-Out Code” den bisherigen Tracking Code (GA,FB) ersetzt.

      Der “Opt-Out Link” kommt in die Datenschutzerklärung oder auch eine extra Seite dafür. ist eben auch etwas HTML + Javascript Code 🙂

      Ich hoffe es ist jetzt verständlicher.

      Gruß Holger

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.
Nach oben scrollen