Skip to main content
Mit dem $wsConsent-Modul lesen Sie die Einwilligung des Kunden zu Cookies und Services und steuern damit, welche Inhalte und externen Skripte geladen werden. Damit können Sie beispielsweise einen Tracking- oder Marketing-Service erst dann einbinden, wenn der Kunde ihm zugestimmt hat. Auf dieser Seite geht es um das Lesen des Einwilligungsstatus. Das Setzen der Einwilligung (Zustimmen, Ablehnen, Auswahl speichern) erfolgt über Aktionen und ist separat unter Aktionen → Consent dokumentiert. Die zugehörigen Cookies selbst behandelt das Modul $wsCookies.

Grundkonzept

Die Einwilligung ist zweistufig organisiert: Gruppen (z. B. „Statistik“, „Marketing“) bündeln einzelne Services (z. B. „Google Analytics“). Der Kunde kann entweder allen zustimmen („Alle erlauben”) oder eine Auswahl pro Gruppe/Service treffen. Jeder Eintrag trägt ein „allowed“-Flag, das die Entscheidung widerspiegelt. $wsConsent stellt diesen Status auf folgenden Wegen bereit:
  • GesamtstatusalreadySet (hat der Kunde überhaupt schon entschieden?) und allAllowed (hat er allem zugestimmt?). Damit steuern Sie, ob der Consent-Layer überhaupt angezeigt werden muss.
  • Strukturierte Listegroups mit ihren services, um einen Consent-Layer aufzubauen.
  • Gezielte PrüfungcheckAllowed(serviceName), um vor dem Laden eines bestimmten Skripts die Zustimmung zu prüfen. Das ist der empfohlene Weg zum Einbinden externer Skripte.

Einwilligung entscheidet, ob das Skript überhaupt geladen wird

Template-Code läuft beim Seitenaufbau. Wenn Sie ein Skript mit {{ if $wsConsent.checkAllowed(...) }} umschließen, wird das Skript bei fehlender Zustimmung gar nicht erst in die Seite geschrieben, nicht nur ausgeblendet. So stellen Sie sicher, dass ein abgelehnter Service auch wirklich nicht lädt.

Modulübersicht

Beispiel / Ausschnitt über $wsConsent
JSON-Ausgabe
Anmerkung: "ƒ()" kennzeichnet eine Funktion. Variablen in der Übersicht Eigenschaften eines Eintrags (gilt für groups[] wie für services[]) Methoden in der Übersicht

Templates

Der Consent-Layer kann global aufgerufen werden und wird aus dem Template consent.htm geladen.

Variablen

$wsConsent.alreadySet

Gibt aus, ob der Kunde bereits eine Cookie-/Service-Einwilligung gesetzt hat. Nutzen Sie es beispielsweise, um den Consent-Layer nur dann anzuzeigen, wenn noch keine Entscheidung vorliegt.

$wsConsent.allAllowed

Gibt aus, ob der Kunde allen Services zugestimmt hat (Schaltfläche „Alle erlauben”).

$wsConsent.groups

Gibt die konfigurierten Gruppen aus. Jede Gruppe trägt die Eigenschaften eines Eintrags und enthält unter services die zugeordneten Services. Nutzen Sie die Gruppen, um einen strukturierten Consent-Layer aufzubauen.

$wsConsent.services

Gibt alle konfigurierten Services als Liste aus, unabhängig von der Gruppenzuordnung. Die Einträge tragen die Eigenschaften eines Eintrags.

Methoden

$wsConsent.checkAllowed()

Prüft, ob ein bestimmter Service vom Kunden akzeptiert wurde. Dies ist der empfohlene Weg, um vor dem Laden eines externen Skripts die Zustimmung zu prüfen, da das Skript bei fehlender Zustimmung gar nicht erst gerendert wird. Signatur
$wsConsent.checkAllowed(serviceName)
Rückgabe
booltrue, wenn der Service akzeptiert wurde, sonst false.

Aktionen

Aktionen zu diesem Modul (Einwilligung setzen, ändern, speichern) sind separat dokumentiert: Aktionen → Consent.

Beispiele

Externes Skript einwilligungsabhängig laden

Bindet ein Skript nur ein, wenn der zugehörige Service akzeptiert wurde. Bei fehlender Zustimmung wird das Skript nicht in die Seite geschrieben.
Ergebnis
Das Tracking-Skript erscheint nur im Quelltext, wenn der Kunde „Google Analytics” akzeptiert hat.
Durchläuft die Gruppen und je Gruppe ihre Services, was die typische Struktur eines Consent-Layers widerspiegelt.
Ergebnis
Pro Gruppe ein Block mit den enthaltenen Services; bereits akzeptierte Services sind angehakt.

Inhalt nur bei Zustimmung anzeigen

Zeigt einen einwilligungspflichtigen Inhalt (z. B. ein eingebettetes Video) nur an, wenn der Service akzeptiert wurde, ansonsten einen Hinweis.
Ergebnis
Bei Zustimmung erscheint der Inhalt, sonst der Hinweis.

  • Aktionen → Consent – die Einwilligung setzen und speichern (dieses Modul liest sie nur).
  • $wsCookies – die durch die Einwilligung gesteuerten Cookies.