DSGVO

Social Media Embeds & DSGVO: Facebook, Instagram, YouTube richtig einbinden

Warum Standard-Embeds von YouTube, Facebook und Instagram die DSGVO verletzen und wie du sie mit Two-Click-Lösungen, Facades und Shariff datenschutzkonform einbindest.

Compliso Team
7 Min. Lesezeit

Fast jede Website bindet Social-Media-Inhalte ein: YouTube-Videos, Instagram-Posts, Facebook-Beiträge, Twitter/X-Tweets. Was viele nicht wissen: Bereits beim Laden der Seite werden durch Standard-Embeds personenbezogene Daten an die Plattform-Server übertragen — noch bevor der Nutzer den Inhalt anklickt oder überhaupt sieht. Dieser Artikel erklärt das Problem und zeigt konkrete, DSGVO-konforme Lösungen mit Code-Beispielen.

Warum Standard-Embeds problematisch sind

Wenn du ein YouTube-Video per <iframe> einbettest, passiert beim Seitenaufruf Folgendes:

  1. Der Browser des Besuchers sendet eine HTTP-Anfrage an youtube.com (bzw. den jeweiligen Drittanbieter)
  2. YouTube erhält die IP-Adresse des Besuchers
  3. YouTube erhält den Referrer (die URL deiner Seite)
  4. YouTube setzt Cookies im Browser des Besuchers (auch wenn dieser nicht eingeloggt ist)
  5. YouTube erhält den User-Agent und weitere Browser-Informationen

Das geschieht automatisch und sofort — ohne Einwilligung des Nutzers. Und es betrifft nicht nur YouTube, sondern alle Social-Media-Embeds.

Datenflüsse bei Standard-Embeds

PlattformEmbed-DomainGesetzte CookiesDatenempfängerServer-Standort
YouTubeyoutube.comVISITOR_INFO1_LIVE, YSC, GPSGoogle LLCUSA
YouTube (nocookie)youtube-nocookie.comCONSENT, YSC (reduziert)Google LLCUSA
Facebookfacebook.comdatr, sb, frMeta PlatformsUSA
Instagraminstagram.comig_did, csrftoken, midMeta PlatformsUSA
Twitter/Xplatform.twitter.comguest_id, personalization_idX Corp.USA
TikToktiktok.comtt_webid, ttwidByteDanceUSA/Singapur
Vimeoplayer.vimeo.comvuid, playerVimeo Inc.USA

Rechtliche Bewertung: Ohne vorherige Einwilligung des Nutzers verstößt das Laden dieser Embeds gegen:

  • Art. 6 Abs. 1 DSGVO: Keine Rechtsgrundlage für die Datenübertragung
  • Paragraph 25 TDDDG: Zugriff auf Endgerät-Informationen (Cookies) ohne Einwilligung
  • Art. 44 ff. DSGVO: Drittlandtransfer in die USA ohne ausreichende Garantien (je nach DPF-Status)

YouTube DSGVO-konform einbinden

YouTube bietet den sogenannten “erweiterten Datenschutzmodus” an. Dieser reduziert die Datenerhebung, löst das Problem aber nicht vollständig.

Option 1: youtube-nocookie.com (Basisschutz)

<!-- Standard-Embed (NICHT DSGVO-konform): -->
<iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe>

<!-- Erweiterter Datenschutzmodus (besser, aber nicht ausreichend): -->
<iframe
  src="https://www.youtube-nocookie.com/embed/VIDEO_ID"
  title="Videotitel"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope"
  allowfullscreen
  loading="lazy"
></iframe>

Achtung: Auch youtube-nocookie.com überträgt die IP-Adresse an Google-Server. Cookies werden erst beim Abspielen gesetzt, aber der Seitenaufruf allein sendet bereits Daten. Das reicht für volle DSGVO-Konformität nicht aus.

Option 2: Lite YouTube Embed (empfohlen)

Die beste technische Lösung ist ein Facade-Element (Platzhalter), das erst nach Nutzerinteraktion den eigentlichen Player lädt. Das Open-Source-Projekt lite-youtube-embed von Paul Irish macht genau das:

<!-- Lite YouTube Embed (DSGVO-konform) -->
<link rel="stylesheet" href="/css/lite-yt-embed.css" />
<script src="/js/lite-yt-embed.js" defer></script>

<lite-youtube
  videoid="VIDEO_ID"
  playlabel="Video abspielen"
  style="background-image: url('/images/video-placeholder.jpg');"
>
  <p class="yt-consent-notice">
    Mit dem Abspielen wird eine Verbindung zu YouTube hergestellt.
    <a href="/datenschutz">Mehr erfahren</a>
  </p>
  <button type="button" class="lty-playbtn">
    <span class="lyt-visually-hidden">Video abspielen</span>
  </button>
</lite-youtube>

Vorteile:

  • Kein Datentransfer an Google beim Seitenaufruf
  • Thumbnail wird lokal gehostet (oder selbst vom Server geladen)
  • Video lädt erst nach explizitem Klick
  • Deutlich bessere Performance (kein iframe beim Seitenaufruf)

Option 3: Eigene Two-Click-Lösung

Für maximale Kontrolle kannst du eine eigene Two-Click-Lösung implementieren:

<div class="video-embed-placeholder" data-video-id="VIDEO_ID">
  <div class="video-consent-overlay">
    <img src="/images/video-thumbnail.jpg" alt="Video-Vorschau" loading="lazy" />
    <div class="consent-text">
      <p>Dieses Video wird von YouTube bereitgestellt. Beim Abspielen werden
         Daten an YouTube (Google LLC, USA) übertragen.</p>
      <button class="btn-load-video" onclick="loadYouTubeVideo(this)">
        Video laden und abspielen
      </button>
      <a href="/datenschutz" class="privacy-link">Datenschutzerklärung</a>
    </div>
  </div>
</div>

<script>
function loadYouTubeVideo(button) {
  const container = button.closest('.video-embed-placeholder');
  const videoId = container.dataset.videoId;
  const iframe = document.createElement('iframe');
  iframe.src = `https://www.youtube-nocookie.com/embed/${videoId}?autoplay=1`;
  iframe.title = 'YouTube-Video';
  iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope';
  iframe.allowFullscreen = true;
  iframe.loading = 'lazy';
  container.innerHTML = '';
  container.appendChild(iframe);
}
</script>

Facebook und Instagram Embeds

Facebook und Instagram bieten keinen “Datenschutzmodus” an. Jedes oEmbed überträgt sofort umfangreiche Daten an Meta.

Standard-Embed (problematisch)

<!-- Facebook-Post (NICHT DSGVO-konform): -->
<iframe
  src="https://www.facebook.com/plugins/post.php?href=..."
  width="500" height="600"
></iframe>

<!-- Instagram-Post (NICHT DSGVO-konform): -->
<blockquote class="instagram-media" data-instgrm-permalink="...">
</blockquote>
<script async src="//www.instagram.com/embed.js"></script>

DSGVO-konforme Lösung: Two-Click mit Vorschau

Da Facebook und Instagram keine datenschutzfreundliche Embed-Variante bieten, ist die Two-Click-Lösung der einzige DSGVO-konforme Weg. Das Prinzip ist identisch zur YouTube-Lösung oben:

  1. Statt des iframes einen Platzhalter mit Hinweistext anzeigen
  2. Button “Inhalt laden” mit Hinweis auf Datentransfer an Meta (USA)
  3. Erst nach Klick das eigentliche Embed-Script nachladen
  4. Optional: “Auswahl merken”-Checkbox, die einen First-Party-Cookie setzt

Twitter/X Embeds

Twitter/X-Embeds laden standardmäßig das Script platform.twitter.com/widgets.js, das Cookies setzt und Daten an X Corp. überträgt.

Empfohlene Lösungen

Option 1: Screenshot + Link. Die einfachste DSGVO-konforme Lösung: Erstelle einen Screenshot des Tweets und verlinke auf das Original. Ein <figure> mit <img> und <figcaption>-Link reicht aus. Kein JavaScript, kein Datentransfer, kein Cookie.

Option 2: Two-Click-Lösung. Wenn du das interaktive Widget brauchst, nutze eine Two-Click-Lösung nach dem gleichen Muster wie bei YouTube und Instagram.

Share-Buttons: Die Shariff-Lösung

Neben Embeds gibt es das Problem der Social-Media-Share-Buttons. Standard-Share-Buttons von Facebook, Twitter und LinkedIn laden beim Seitenaufruf Scripts, die Nutzerdaten übertragen — auch wenn der Button nie angeklickt wird.

Das Problem

<!-- Standard Facebook-Like-Button (NICHT DSGVO-konform): -->
<div class="fb-like" data-href="..." data-layout="button_count"></div>
<script async src="https://connect.facebook.net/de_DE/sdk.js"></script>

Dieses Script überträgt bei jedem Seitenaufruf Daten an Facebook — unabhängig davon, ob der Nutzer den Button nutzt.

Die Shariff-Lösung

Das Heise-Projekt “Shariff” bietet datenschutzkonforme Share-Buttons. Die Buttons sind reine HTML-Links, die erst bei Klick eine Verbindung zur Plattform herstellen:

<!-- Shariff Share-Buttons (DSGVO-konform) -->
<div class="shariff"
  data-services="[&quot;facebook&quot;,&quot;twitter&quot;,&quot;linkedin&quot;,&quot;mail&quot;]"
  data-lang="de"
  data-theme="standard"
  data-orientation="horizontal"
></div>
<script src="/js/shariff.min.js"></script>

Wie Shariff funktioniert:

  1. Die Share-Buttons werden als einfache HTML-Elemente gerendert
  2. Kein Script der Social-Media-Plattformen wird geladen
  3. Erst beim Klick öffnet sich ein neues Fenster mit der Share-URL der Plattform
  4. Die Share-Zähler werden optional über ein serverseitiges Backend abgerufen (ohne Client-Cookies)

Noch einfacher als Shariff sind reine HTML-Links zu den Share-Endpoints der Plattformen (facebook.com/sharer/sharer.php?u=URL, twitter.com/intent/tweet?url=URL, etc.). Kein JavaScript, kein Cookie, kein Datentransfer beim Seitenaufruf. Der Nutzer entscheidet aktiv, ob er teilen möchte.

Zusammenfassung: Alle Embeds im Überblick

PlattformStandard-EmbedDSGVO-konform?Empfohlene Lösung
YouTube<iframe src="youtube.com/embed/...">NeinLite YouTube Embed oder Two-Click
YouTube (nocookie)<iframe src="youtube-nocookie.com/embed/...">TeilweiseTwo-Click zusätzlich empfohlen
Facebook Postfacebook.com/plugins/post.phpNeinTwo-Click-Platzhalter
Instagraminstagram.com/embed.jsNeinTwo-Click-Platzhalter
Twitter/Xplatform.twitter.com/widgets.jsNeinScreenshot + Link oder Two-Click
TikToktiktok.com/embed.jsNeinTwo-Click-Platzhalter
Vimeoplayer.vimeo.com/video/...NeinTwo-Click (Vimeo bietet dnt=1 Parameter)
Share-ButtonsPlattform-SDKsNeinShariff oder reine Share-Links

Die Two-Click-Lösung lässt sich elegant mit einem Cookie-Banner kombinieren. Wenn der Nutzer im Banner bereits die Kategorie “Marketing” akzeptiert hat, können Embeds direkt geladen werden — ohne zweiten Klick. Der Compliso Cookie-Banner bietet dafür eine JavaScript-API: window.ComplisoConsent.hasConsent('marketing') prüft den aktuellen Consent-Status, und das Event ComplisoConsentChanged reagiert auf Änderungen in Echtzeit.

Praxis-Checkliste: Social Media Embeds

  • Alle Standard-Embeds (YouTube, Facebook, Instagram, Twitter) identifiziert?
  • Two-Click-Lösung oder Facade-Element für jedes Embed implementiert?
  • YouTube-Videos mindestens auf youtube-nocookie.com umgestellt?
  • Social-Media-Share-Buttons durch Shariff oder reine Links ersetzt?
  • Consent-Integration: Embeds laden automatisch bei vorhandenem Consent?
  • Datenschutzerklärung aktualisiert (alle Embed-Plattformen mit Zweck, Cookies, Drittlandtransfer)?
  • Hinweistexte bei Platzhaltern verständlich formuliert?
  • Barrierefreiheit: Platzhalter per Tastatur bedienbar, Alt-Texte vorhanden?
  • Performance: Vorschaubilder lokal gehostet, lazy-loaded?
  • Regelmäßiger Scan auf neue oder unbekannte Embeds?

Problematische Embeds automatisch erkennen

Der Compliso Scanner erkennt automatisch alle Social-Media-Embeds und externen Verbindungen auf deiner Website. Er prüft dabei:

  • Welche Drittanbieter-Verbindungen beim Seitenaufruf aufgebaut werden
  • Welche Cookies durch Embeds gesetzt werden
  • Ob Embeds vor der Einwilligung geladen werden
  • Ob youtube-nocookie.com statt youtube.com verwendet wird

So findest du schnell heraus, welche Embeds auf deiner Seite problematisch sind — auch solche, die durch Plugins, Theme-Einstellungen oder Content-Editoren eingebettet wurden, ohne dass du es bemerkt hast.

Scanne deine Website jetzt kostenlos und finde alle problematischen Embeds auf einen Blick. Oder kombiniere den Scanner mit dem Compliso Cookie-Banner, der Embeds automatisch blockiert, bis der Nutzer einwilligt.

social-media dsgvo youtube facebook instagram embeds two-click

Deine Website DSGVO-konform machen?

Compliso prüft deine Website automatisch auf Cookies, Tracker, Dark Patterns und Accessibility-Probleme.