UnberĂŒhrt, Ablehnen, Akzeptieren: Warum echte DSGVO-Audits drei Cookie-ZustĂ€nde testen

Drei getrennte PrĂŒfkammern untersuchen dieselbe Website im unberĂŒhrten, abgelehnten und akzeptierten Consent-Zustand und sammeln die Spuren in einer Beweismappe.

Wenn ein Unternehmen ein Cookie-Banner auf seiner Website einrichtet, dauert der Funktionstest meistens zehn Sekunden. Jemand öffnet die Startseite im Inkognito-Fenster, sieht das Banner am unteren Bildschirmrand, klickt auf „Akzeptieren“ oder „Ablehnen“, beobachtet, wie das Fenster verschwindet, und hakt die Aufgabe als erledigt ab.

Selbst viele kommerzielle Compliance-Scanner tun kaum mehr, als die Seite einmal aufzurufen und die Cookies aufzulisten, die in der ersten Sekunde gesetzt werden. Genau diese Einmal-PrĂŒfung ĂŒbersieht jedoch die technischen Fehler, die zu Abmahnungen, Datenschutzbeschwerden und Datenverlusten im Marketing fĂŒhren.

Um zu wissen, was eine Website tatsĂ€chlich mit Besucherdaten macht, mĂŒssen drei getrennte Browser-ZustĂ€nde nacheinander geprĂŒft werden: was in den ersten acht Sekunden passiert, solange der Besucher nichts anklickt (UnberĂŒhrt), was direkt nach dem Klick auf Alle ablehnen geschieht und was nach dem Klick auf Alle akzeptieren feuert. Erst der Vergleich aller drei ZustĂ€nde in einem isolierten Browser deckt Tracker auf, die vor der Einwilligung starten, Ablehnen-Buttons, die nur das Fenster ausblenden, und fehlerhafte Tag-Regeln, die selbst nach einer Zustimmung keine Conversions messen.

Wichtigste Erkenntnisse


Ein einzelner Seitenaufruf erfasst lediglich eine statische Momentaufnahme der ersten Sekunde und bleibt blind fĂŒr zeitverzögerte Timer, fehlerhafte Ablehnen-Regeln und das Verhalten beim Wechsel auf eine Unterseite.

Wie wir bereits in unserem Leitfaden zum technischen DSGVO-Website-Audit gezeigt haben, verrĂ€t der Blick in die schriftliche DatenschutzerklĂ€rung niemals, welche Drittanbieter-Skripte tatsĂ€chlich im Browser ausgefĂŒhrt werden. Beim Cookie-Banner entscheiden Zeitpunkt und Nutzerinteraktion ĂŒber die RechtmĂ€ĂŸigkeit:

  1. Verzögerte Trigger vor der Einwilligung (setTimeout und Scroll-Events): Manche Tag-Manager verzögern das Feuern von Meta Pixel, LinkedIn Insight Tag oder Hotjar lediglich um drei Sekunden oder bis zu einer Scrolltiefe von 200 Pixeln, in der Hoffnung, dass der Besucher bis dahin auf „Akzeptieren“ geklickt hat. Ein Scanner, der die Seite nach einer Sekunde schließt, meldet null Tracker, wĂ€hrend ein echter Besucher beim Lesen der Überschrift ohne Einwilligung erfasst wird.
  2. Optisches Ausblenden ohne technische Sperre: Ein Klick auf „Alle ablehnen“ oder „Nur notwendige“ muss mehr bewirken als display: none auf dem Banner-Element. Er muss die Signale des Google Consent Mode v2 zuverlĂ€ssig auf denied halten und verhindern, dass Marketing-Tags beim Aufruf weiterer Unterseiten nachgeladen werden.
  3. Speicherung außerhalb klassischer HTTP-Cookies: Moderne Tracking-Skripte legen Besucher-IDs und Sitzungsmerkmale hĂ€ufig in window.localStorage, sessionStorage oder IndexedDB ab, sobald Cookies blockiert sind. Wer nur document.cookie prĂŒft, ĂŒbersieht diese Kennungen vollstĂ€ndig.
DREI-ZUSTANDS-AUDIT IM BROWSER: UNBERÜHRT VS. ABLEHNEN VS. AKZEPTIEREN
Laufzeit-PrĂŒfung
01
Zustand 1: UnberĂŒhrt (0s bis 8s)
Frisches Browserprofil, 300 px scrollen, keine Interaktion mit dem Banner
Null Werbe-Requests erlaubt
02
Zustand 2: Alle ablehnen + Navigation
Klick auf Ablehnen/Nur notwendige, Reload und Wechsel auf eine zweite Unterseite
Sperre bleibt bestehen
03
Zustand 3: Alle akzeptieren + Tag-Check
Frisches Profil, Klick auf Akzeptieren, Abgleich aller aktiven Dienste mit der ErklÀrung
Abgleich DatenschutzerklÀrung

Das Drei-Zustands-PrĂŒfprotokoll mit Playwright im Detail

Ein automatisiertes Playwright-Audit startet isolierte Browser-Kontexte, um jeden ausgehenden HTTP-Request, jedes gesetzte Cookie und jeden Speichereintrag in allen drei InteraktionszustĂ€nden lĂŒckenlos aufzuzeichnen.

Statt uns auf manuelle Stichproben in den Browser-Entwicklertools zu verlassen, fĂŒhren wir ein deterministisches PrĂŒfskript aus, das jeden Zustand reproduzierbar durchlĂ€uft:

Zustand 1: Der unberĂŒhrte Zustand (Baseline vor Einwilligung)

Das Skript öffnet die Ziel-URL in einem neuen Chromium-Profil mit europÀischer IP-Adresse, wartet volle acht Sekunden und scrollt bis zur Seitenmitte, ohne das Cookie-Banner anzuklicken.

Zustand 2: Der Ablehnen-Zustand (Widerspruch & Persistenz beim Seitenwechsel)

Im zweiten Schritt sucht das Skript die Ablehnen-SchaltflĂ€che im Banner („Alle ablehnen“, „Nur essenzielle“, „Ablehnen“), klickt sie an, wartet fĂŒnf Sekunden und navigiert anschließend ĂŒber einen internen Link auf eine zweite Unterseite derselben Domain.

Zustand 3: Der Akzeptieren-Zustand (VollstĂ€ndigkeit & Conversion-PrĂŒfung)

Zuletzt startet das Skript eine frische Browsersitzung, klickt auf „Alle akzeptieren“ und protokolliert jede kontaktierte Drittanbieter-Domain, jede Cookie-Laufzeit und jeden SpeicherschlĂŒssel.


Der direkte Vergleich der Netzwerkprotokolle aus allen drei ZustĂ€nden zeigt sofort, ob ein Verstoß durch fest im HTML eingebaute Skripte, falsche GTM-Trigger oder fehlerhafte Cookie-Pfade entsteht.

FehlerbildZustand 1 (UnberĂŒhrt)Zustand 2 (Alle ablehnen)Zustand 3 (Alle akzeptieren)Technische Ursache im Code
1. Korrekte Umsetzung0 Tracking-Requests; 0 optionale Cookies0 Tracking-Requests; 1 Ablehnungs-CookieDeklarierte Analyse- & Werbe-Tags feuern sauberSkripte sauber an Einwilligungs-Callbacks gebunden; GTM-Trigger prĂŒfen Consent-Status.
2. Feuern vor Einwilligung (hĂ€ufigster Fehler)GA4, Meta Pixel oder YouTube laden sofortBereits geladene Tracker laufen im Speicher weiterTracker laufen weiterTracking-Code direkt im <head> außerhalb der CMP- oder GTM-Blockierung eingebaut.
3. Kosmetischer Ablehnen-Button0 Tracking-Requests beim ersten LadenAnalyse oder Session-Recording startet nach Klick auf AblehnenAlle Tags feuernGTM-Trigger reagiert auf das Klick-Event des Buttons ohne Filter auf consent === 'granted'.
4. GedĂ€chtnisverlust auf Seite 20 Tracking-Requests auf der Startseite0 auf der Startseite, aber Tracker starten nach Klick auf UnterseiteAlle Tags feuernAblehnungs-Cookie mit falschem path-Attribut gespeichert oder beim Seitenwechsel ĂŒberschrieben.
5. Kaputtes Tracking trotz Zustimmung0 Tracking-Requests0 Tracking-Requests0 Analyse-Requests (Blindflug im Marketing)Entwickler hat beim Reparieren einer DSGVO-Warnung das consent update-Event entfernt.

Optische SichtprĂŒfung vs. Einzel-Scanner vs. Drei-Zustands-Laufzeitaudit

Ob ein Cookie-Banner auf dem Bildschirm erscheint, sagt nichts ĂŒber die Einhaltung der DSGVO aus; erst der Vergleich des Netzwerkverhaltens in allen drei ZustĂ€nden liefert belastbare Gewissheit.

PRÜFTIEFE: EINFACHER COOKIE-SCANNER VS. 3-ZUSTANDS-LAUFZEITPRÜFUNG
PrĂŒfmethodik

Einfacher Cookie-Scanner

Einzelaufnahme

LĂ€dt die URL ein einziges Mal ohne Klick auf das Banner und ohne PrĂŒfung von Unterseiten.

  • PrĂŒft nicht, ob „Alle ablehnen“ wirklich blockiert
  • Übersieht scroll- und zeitgesteuerte Skripte
  • Ignoriert Kennungen in localStorage und sessionStorage

3-Zustands-Audit in Playwright

Volle Interaktion

PrĂŒft UnberĂŒhrt, Ablehnen und Akzeptieren in isolierten Browsern inkl. Netzwerk- und Speicherabgleich.

  • Belegt null Tracking vor Einwilligung und nach Ablehnung
  • PrĂŒft die Speicherung der Ablehnung ĂŒber Unterseiten hinweg
  • BestĂ€tigt funktionierendes Conversion-Tracking nach Zustimmung

HĂ€ufig gestellte Fragen (FAQ)

Kann unser Ablehnen-Zustand trotz zertifizierter CMP (Cookiebot, Usercentrics, OneTrust) fehlerhaft sein?

Ja. Eine Consent Management Platform (CMP) zeigt lediglich das Auswahlfenster an und ĂŒbermittelt das Einwilligungssignal. Wenn ein Entwickler oder eine Agentur zuvor ein LinkedIn-Pixel, ein Hotjar-Skript, ein Calendly-Widget oder Google Fonts direkt in den <head>-Bereich des Templates eingebaut hat, ohne das Skript an die Blockierungsattribute der CMP zu binden, feuert dieses Skript sowohl im Zustand UnberĂŒhrt als auch nach dem Klick auf Alle ablehnen.

Im Basic Consent Mode dĂŒrfen bis zur ausdrĂŒcklichen Einwilligung keinerlei Netzwerkanfragen an Google-Server gesendet werden. Im Advanced Consent Mode werden hingegen bereits vor der Einwilligung cookielose Pings (gcs=G100) an Google ĂŒbertragen. Nach der strengen Auslegung deutscher und europĂ€ischer Aufsichtsbehörden ist das vollstĂ€ndige Blockieren sĂ€mtlicher Analyse-Requests bis zum aktiven Opt-in (Basic Mode) die technisch und rechtlich sicherste Einstellung.

Wie oft sollte eine Website ein Drei-Zustands-Audit durchlaufen?

Ein automatisierter Drei-Zustands-Test sollte nach jeder Veröffentlichung im Google Tag Manager, nach dem Einbetten externer Video- oder Buchungs-Widgets sowie nach Template-Updates laufen. Selbst ein einziges neu eingebundenes YouTube-Video auf einer Landingpage kann Vorab-Tracking-Cookies auf einer zuvor sauberen Website auslösen.


PrĂŒfen Sie das echte Verhalten Ihrer Website in allen drei ZustĂ€nden

Verlassen Sie sich nicht darauf, dass Ihr Cookie-Banner beim Anklicken optisch verschwindet. Schicken Sie uns Ihre Website-URL. Wir fĂŒhren ein automatisiertes Drei-Zustands-Audit im Browser durch und liefern Ihnen einen klaren technischen PrĂŒfbericht mit allen Netzwerkaufrufen, Cookies und SpeichereintrĂ€gen fĂŒr die ZustĂ€nde UnberĂŒhrt, Ablehnen und Akzeptieren.

Informieren Sie sich ĂŒber unsere Leistungen fĂŒr Web-Engineering und technische Compliance oder fordern Sie direkt ein technisches Website-Audit an.