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:

  1. Ü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.
  2. Über das Plugin. Tragen Sie die GA4 Measurement ID ein und aktivieren Sie gtag.js direkt über das Plugin laden.
  3. Ü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.

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-Consent mit 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.