Dokumentationsmenü
Fehlerbehebung
Probleme mit CookieHug lösen: Banner erscheint nicht, Skripte werden nicht blockiert, GTM, Debug Mode und zu späte Einwilligungssignale.
FAQ / Fehlerbehebung
Skripte werden nicht blockiert
- Prüfen Sie, ob
data-cookiehug-blockingmodeauf"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-consentmodenicht auf"disabled"steht - Prüfen Sie, ob
gtagbzw.dataLayerauf der Seite verfügbar ist - Prüfen Sie in der Browserkonsole:
dataLayersollte 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=1an 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.
Was tun, wenn ein Tag zu spät kommt
Der Debug Mode markiert ein Tag als zu spät (CHUG_GA_BEFORE_SDK / CHUG_ORDER_LATE), wenn ein Google-Skript (GA4, Google Ads, GTM) feuert, bevor CookieHug den Standard-Einwilligungsstatus setzt. Das Tag kann dann ohne Consent-Mode-Signal laufen.
Schritt 1 — prüfen Sie zuerst, ob das Tag Google Tag Gateway (GTG) nutzt. Das ist wichtig: Mit GTG wird das Google-Tag von Ihrer eigenen Domain ausgeliefert (First-Party), die Ladezeiten sehen also anders aus und das Tag kann fälschlich als „zu spät“ gemeldet werden.
So prüfen Sie, ob das Tag GTG nutzt
- Ö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 das Tag von Ihrer eigenen Domain (z. B.
metrics.ihredomain.de) statt vongoogletagmanager.com/google-analytics.com, nutzt es vermutlich GTG → lesen Sie Google Tag Gateway (GTG).
Nutzt das Tag KEIN GTG — Reihenfolge korrigieren
Lädt das Tag direkt von Google-Domains, ist „zu spät“ ein echtes Reihenfolgeproblem. Setzen Sie das CookieHug-Skript als erstes in den <head>, vor jedes gtag.js, gtm.js oder GA4-Tag, laden Sie dann mit ?cookiehug_debug=1 neu und prüfen Sie, ob CHUG_ORDER_OK erscheint.
<head>
<!-- 1) CookieHug zuerst -->
<script src="https://cookiehug.com/api/script/IHR-LIZENZSCHLÜSSEL.js"></script>
<!-- 2) danach Google -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXX"></script>
</head>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 vongoogletagmanager.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_storagean 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
deniedDaten), folgen Sie der Abhilfe oben.