Dokumentationsmenü

Fehlerbehebung

Probleme mit CookieHug lösen: Banner erscheint nicht, Skripte werden nicht blockiert, GTM, Debug Mode und zu späte Einwilligungssignale.

FAQ / Fehlerbehebung

Das Banner erscheint nicht

  • Prüfen Sie, ob der Lizenzschlüssel in der Skript-URL korrekt ist (oder das Attribut data-ecid, falls Sie die ältere Loader-Form verwenden)
  • Stellen Sie sicher, dass das Script-Tag im <head> steht
  • Sehen Sie in der Browserkonsole nach Fehlern
  • Prüfen Sie, ob die Domain zur Lizenzkonfiguration passt

Skripte werden nicht blockiert

  • Prüfen Sie, ob data-cookiehug-blockingmode auf "auto" steht (oder gar nicht gesetzt ist)
  • Das Skript steht möglicherweise auf der Whitelist (gängige Bibliotheken wie jQuery werden nicht blockiert)
  • Für die manuelle Steuerung verwenden Sie data-cookiehug-consent-Attribute

Google Tag Manager erhält keine Einwilligungssignale

  • Prüfen Sie, dass data-cookiehug-consentmode nicht auf "disabled" steht
  • Prüfen Sie, ob gtag bzw. dataLayer auf der Seite verfügbar ist
  • Prüfen Sie in der Browserkonsole: dataLayer sollte Consent-Ereignisse enthalten

Die Einwilligung bleibt zwischen Seitenaufrufen nicht erhalten

  • Prüfen Sie, ob localStorage verfügbar und nicht blockiert ist
  • Prüfen Sie, ob Cookies nicht durch Browsereinstellungen gelöscht werden
  • Prüfen Sie, ob die Einwilligung nicht abgelaufen ist (Standard: 30 Tage)

Wie teste ich die Einwilligung, ohne jedes Mal Cookies zu löschen?

Rufen Sie CookieHug.withdraw() in der Browserkonsole auf, um den Einwilligungsstatus zurückzusetzen. Dabei werden alle Einwilligungsdaten gelöscht, Google Consent Mode auf denied zurückgesetzt und die Seite automatisch neu geladen, damit zuvor erlaubte Skripte wieder zuverlässig blockiert werden.

Wie prüfe ich den Einwilligungsstatus in der Browserkonsole?

// Vollständiger Einwilligungsstatus
console.log(window.CookieHug.consent);

// Hat der Nutzer entschieden?
console.log(window.CookieHug.hasResponse);

// Welche Regulierungen gelten?
console.log(window.CookieHug.regulations);

Debug Mode und Diagnose

CookieHug bringt einen eingebauten Debug Mode mit, der proaktiv prüft, ob Ihr Consent-Mode-Default-Befehl (und ein etwaiger TCF-Stub) geladen werden, bevor Ihre Google-Tags feuern. Er beeinflusst weder Banner noch Einwilligung — er beobachtet und meldet Fehlkonfigurationen.

Aktivieren lässt er sich auf drei Wegen:

  • ?cookiehug_debug=1 an die Seiten-URL anhängen,
  • localStorage.cookiehugDebug = '1' in der Browserkonsole setzen,
  • oder Debug Mode für 24 h im CookieHug-Dashboard einschalten (Domain-Details → Diagnose).

Sobald er aktiv ist, erscheint unten rechts ein Badge CookieHug debug (grün = OK, gelb = Warnungen, rot = Fehler). Ein Klick öffnet den vollständigen Bericht in der Konsole. Die Berichte fließen außerdem ins Dashboard und lösen proaktive E-Mail-Warnungen sowie ein Hinweisbanner im Panel aus.

Debug-Meldungen

  • CHUG_ORDER_OK — die Konfiguration stimmt: Der Default-Befehl lief vor Ihren Tags.
  • CHUG_GA_BEFORE_SDK / CHUG_ORDER_LATE — ein Google-Tag hat zu früh gefeuert. Siehe Was tun, wenn ein Tag zu spät kommt.
  • CHUG_NO_DEFAULT_CONSENT — kein Default-Befehl erkannt; Tags könnten ohne Einwilligung gelaufen sein.
  • CHUG_TCF_STUB_PRESENT — ein __tcfapi-TCF-Stub wurde erkannt; stellen Sie sicher, dass er vor Ihren Tags lädt.

Google Tag Gateway (GTG)

Google Tag Gateway (GTG) liefert Google-Tags (Google-Tag / GA4 / einen ganzen GTM-Container) von Ihrer eigenen Domain (First-Party) aus, statt direkt von googletagmanager.com. Die Anfragen laufen über ein schlankes Gateway in Ihrer Infrastruktur (CDN/Server), was die Messbarkeit in Browsern verbessert, die Drittanbieter-Skripte einschränken.

Auswirkung auf die Einwilligung — bitte zuerst lesen. GTG wird häufig über eine CDN-Integration mit einem Klick aktiviert (zum Beispiel direkt bei Cloudflare). Diese Bequemlichkeit hat einen Preis: Das CDN bindet das Google-Tag für Sie ein und führt es aus, sodass der Kunde die Kontrolle über die Ladereihenfolge oft verliert. Das Gateway kann das Google-Tag ausführen, *bevor* der Default-Befehl Ihres CMP gelaufen ist — genau das erzeugt im Debug Mode von CookieHug ein „zu spätes“ Einwilligungssignal. GTG ändert, *wo und wann* das Tag lädt, das Tag liest aber weiterhin Consent Mode; die Herausforderung besteht darin, den Default-Befehl zuerst laufen zu lassen.

Offizielle Google-Dokumentation: Google tag gateway for advertisers · Get started guide · One-click CDN (Cloudflare) setup.

So prüfen Sie, ob ein Tag für GTG registriert ist

  • Öffnen Sie DevTools → Network und laden Sie die Seite neu.
  • Suchen Sie die Anfrage, die das Google-Tag lädt (z. B. gtag/js, gtm.js, collect).
  • Prüfen Sie die Domain der Anfrage: Lädt sie von Ihrer eigenen Domain / Subdomain (z. B. metrics.ihredomain.de) statt von googletagmanager.com / google-analytics.com, ist das Tag für GTG registriert.
  • Gegenprobe in den Einstellungen Google Ads / GA4 → Google tag gateway, wo die registrierten Domains aufgeführt sind.

Warum GTG fälschlich als „zu spät“ gemeldet wird

Der Debug Mode von CookieHug vergleicht den Startzeitpunkt der Google-Anfragen mit der Initialisierung des SDK. Mit GTG lädt das Tag von Ihrer eigenen Domain und oft früher bzw. schneller, sodass die Heuristik es als zu spät markieren kann, obwohl Consent Mode korrekt arbeitet. Prüfen Sie deshalb immer zuerst die GTG-Registrierung, bevor Sie eine Warnung als echtes Problem behandeln.

Spätes Signal bei einem GTG-Tag — empfohlene Abhilfe

Meldet der Debug Mode ein spätes Signal (`CHUG_ORDER_LATE`) und haben Sie bestätigt, dass das Tag für GTG registriert ist, wird die Ladereihenfolge in der Regel vom CDN bestimmt und nicht von Ihnen. Wählen Sie eine der folgenden Optionen, in dieser Reihenfolge:

  • Empfohlen — auf U+C (advanced Consent Mode) setzen. Für GTG-registrierte Tags ist U+C (advanced Consent Mode) der empfohlene Mechanismus, weil er mit manuellem GTG kompatibel ist: Das Tag lädt immer und passt sein Verhalten anhand des Einwilligungssignals selbst an, ist also nicht darauf angewiesen, ein Rennen um die Ladereihenfolge zu gewinnen. Aktivieren Sie anschließend im jeweiligen Google-Produkt Data Transmission Controls und Global Consent Defaults nach Bedarf, damit Schwärzung und Standard-Einwilligung auf Google-Seite durchgesetzt werden.
  • Oder alles in einen GTM-Container umziehen und GTM über GTG ausliefern. Verlagern Sie Ihre Google-Tags in einen einzigen GTM-Container und liefern Sie diesen über das Gateway aus. Die Einwilligung wird dann einmal in GTM verdrahtet (Consent Settings je Tag), und der Default-Befehl von CookieHug wird respektiert, bevor die Tags des Containers ausgewertet werden.
  • Oder GTG manuell einrichten (statt der CDN-Integration mit einem Klick), sodass Sie die Importreihenfolge der Skripte kontrollieren — laden Sie den Consent-Mode-Default-Befehl von CookieHug vor dem Gateway-Tag.

So arbeiten Sie mit GTG in CookieHug

  • Lassen Sie das CookieHug-Skript an erster Stelle im <head> — auch mit GTG muss der Default-Befehl vor der Initialisierung des Tags gesendet werden.
  • Prüfen Sie, ob der Default-Befehl respektiert wird: Öffnen Sie GA4 → Verwaltung → DebugView und kontrollieren Sie analytics_storage / ad_storage an den Ereignissen.
  • Prüfen Sie in der Konsole window.CookieHug.consent — der Wert sollte der Entscheidung des Nutzers entsprechen.
  • Wird die Einwilligung respektiert, behandeln Sie eine GTG-Spätwarnung als Fehlalarm durch First-Party-Timing.
  • Wird die Einwilligung nicht respektiert (das Tag sammelt trotz denied Daten), folgen Sie der Abhilfe oben.