Cookie Consent Manager
Google Consent Mode & Tracking
Was das Plugin sendet
Ist Google Consent Mode V2 aktiv, schreibt das Plugin bereits im <head> — vor allen Tags — die Default-Signale und aktualisiert sie nach jeder Entscheidung. Die Cookie-Gruppen werden dabei so gemappt:
| Cookie-Gruppe | Google-Signale |
|---|---|
statistics |
analytics_storage |
marketing |
ad_storage, ad_user_data, ad_personalization |
comfort |
functionality_storage, personalization_storage |
| — | security_storage ist immer granted |
Die technischen Namen der Gruppen sind entscheidend. Legen Sie eine eigene Gruppe an, die Google-Signale steuern soll, verwenden Sie genau statistics, marketing oder comfort.
dataLayer-Events
Zusätzlich landen Events im dataLayer, auf die Sie im Google Tag Manager triggern können:
| Event | Wann |
|---|---|
prems_cookie_consent_accepted |
Alle akzeptieren |
prems_cookie_consent_rejected |
Nur Notwendige |
prems_cookie_consent_individual |
Individuelle Auswahl bestätigt |
prems_cookie_consent_updated |
Bestehende Auswahl geändert |
PremsCookieConsentUpdate |
Nach jedem Consent-Update, enthält consentGroups |
Jedes Event trägt unter premsCookieConsent die Details: action, groups, previousGroups, timestamp und consentId.
DOM-Events
Für eigenes JavaScript stehen Events auf document bereit:
| Event | Wann |
|---|---|
PremsCookieConsentInitialized |
Beim Seitenaufruf, wenn bereits eine gültige Einwilligung vorliegt |
PremsCookieConsentAccepted |
Nach Alle akzeptieren oder einer individuellen Auswahl |
PremsCookieConsentRejected |
Nach Nur Notwendige |
PremsCookieConsentUpdated |
Nach einer Änderung einer bestehenden Auswahl |
PremsCookieConsentGroupLoaded |
Sobald die Scripts einer Gruppe geladen wurden |
document.addEventListener('PremsCookieConsentAccepted', (event) => {
console.log(event.detail.groups);
});
GA4 und Google Ads einbinden
Es gibt drei Wege — wählen Sie genau einen, sonst tracken Sie doppelt:
- Über den Google Tag Manager (empfohlen). Tragen Sie die GTM-Container-ID als Cookie/Script in der Gruppe Statistik ein oder nutzen Sie den fertigen Container aus der GTM-Integration.
- Über das Plugin. Tragen Sie die GA4 Measurement ID ein und aktivieren Sie gtag.js direkt über das Plugin laden.
- Über ein Preset. Unter Cookies & Scripts → Preset hinzufügen Google Analytics 4 wählen und die ID eintragen.
Erweiterte Optionen (Premium)
Ads Data Redaction
Solange ad_storage auf denied steht, entfernt Google die Identifier aus der Anzeigen-Klick-URL und sendet Folge-Requests ohne Cookies. Sobald die Gruppe Marketing akzeptiert wird, schaltet sich die Option automatisch ab. Als Standard empfohlen.
URL Passthrough
Ohne Marketing-Einwilligung kann Google die Klick-ID (gclid) nicht speichern — der Weg von der Landingpage zur Kasse sieht dann aus wie eine neue Sitzung und die Conversion geht verloren. Mit URL Passthrough hängt gtag.js die Anzeigen-Parameter an interne Links und Formulare an.
Zu beachten: Die Parameter werden in der Adressleiste sichtbar und können in Server-Logs, Referrern oder geteilten Links landen.
Region-spezifische Defaults
JSON-Liste, die den Default-Status je Region festlegt:
[
{"region": ["DE", "AT", "CH"], "default": "denied"},
{"region": ["US", "CA"], "default": "granted"}
]
Debug-Modus
Loggt den Default-Status und jede spätere Änderung als [PremsCookieConsent] Consent Mode update: samt vollständigem Signal-Satz in die Browser-Console. Reines Entwickler-Werkzeug — auf Produktivsystemen abschalten, sonst sieht es jeder Besucher.
Facebook/Meta Consent API (Premium)
Aktiviert, ruft das Plugin im Head — noch vor der Pixel-Initialisierung — fbq('consent', 'revoke') auf und schaltet auf grant, sobald die Gruppe Marketing akzeptiert wurde. Der Pixel lädt also, verarbeitet bis dahin aber keine Daten.
Der Pixel selbst muss bereits eingebunden sein — über Theme, GTM oder als blockiertes Script der Gruppe Marketing. Das Plugin fügt ihn nicht hinzu.
Server-Side-Tracking (Premium)
Zwei Wege stellen den Consent-Status Backend-Systemen bereit:
- Jede Storefront-Response erhält den Header
X-Prems-Cookie-Consentmit den akzeptierten Gruppen, z. B.necessary,statistics. - Bei jeder Entscheidung sendet der Banner den Consent-Datensatz per JSON-POST an den konfigurierten Endpoint:
{consentId, version, configVersion, groups, timestamp, expires}.
Der Request kommt aus dem Browser der Besucher:innen. Ein fremder Host muss ihn per CORS erlauben, sonst schlägt der Aufruf stillschweigend fehl. Ein Pfad relativ zur Shop-Domain (z. B.
/consent-endpoint) vermeidet CORS vollständig. Der Endpoint ist öffentlich erreichbar — schreiben Sie keine Geheimnisse in die URL.