CCM19 Integrationsvarianten
Es gibt drei mögliche Varianten, wie Sie das CCM19 Cookie Consent Tool nutzen können. Prinzipiell dient das Tool dazu, die Ausführung bestimmter Skripte solange zu unterbinden, bis ein Consent / Zustimmung des Besuchers für die Ausführung vorliegt.
Diese Skripte können Cookies, Local-Storage-Elemente oder andere Objekte in den Browsern der Besucher speichern oder anderweitig Daten auslesen. Auf die rechtlichen Hintergründe werden wir an dieser Stelle nicht weiter eingehen, hier geht es ausschließlich um die technische Realisierung.
Jede der drei Möglichkeiten kann die Ausführung der Skripte zuverlässig blockieren. Die Möglichkeiten 2 und 3 verhindern auch effektiv, dass Skripte vorgeladen werden. Diese sind in der Umsetzung aber auch etwas aufwändiger.
Die Grundvoraussetzung ist jeweils, dass der CCM19-Code-Schnipsel in Ihre Seite integriert wurde – dieser Schritt wird hier erklärt.
Bitte wählen Sie immer nur EINE der drei Methoden zur Anwendung aus!
Möglichkeit 1 - Script-Blocking
Das ist die Standard-Möglichkeit, die auch beim Onboarding-Prozess genutzt wird. Der CCM19 Scanner untersucht Ihre Seite und liest aus, welche Skripte genutzt werden. Daraus wird dann der Inhalt Ihres Banners zusammengesetzt.
Hierbei muss nur der Script-/HTML-Schnipsel von CCM19 in Ihre Seite integriert werden, den Rest können Sie über die Benutzeroberfläche verwalten.
Technisch betrachtet wird dabei durch CCM19 die Ausführung der Skripte solange unterbunden, bis ein Consent für die Ausführung vorliegt. Sie können in den Einträgen unter "Einbindungen & Cookies" im Feld "Skripte blockieren, die folgenden Text enthalten" die Blockierstrings einsehen, die für eine Blockierung des jeweiligen Tools sorgen. Diese Liste kann beliebig angepasst werden, falls die Blockierung mit unseren Standard-Werten nicht funktioniert.
Skripte können unter Umständen, beispielsweise durch async-Attribute in den Script-Tags, trotzdem vom Browser geladen, aber nicht ausgeführt werden. Falls dieses Laden alleine schon Cookies setzt oder dadurch bereits Daten an externe Server übertragen werden, kann das zu datenschutzrechtlichen Problemen führen. Daher sollte im Anschluss auf jeden Fall kontrolliert werden, ob vor dem Consent nicht doch noch Cookies gesetzt werden, die nicht technisch notwendig sind.
Möglichkeit 2 - Tag Manager Funktionalität
Sie können CCM19 als Tag Manager nutzen, der die Skripte innerhalb von CCM19 verwaltet und diese auch erst nach Consent lädt und ausführt.
Dazu tragen Sie den HTML-Code, z.B. das Google Analytics Skript, im CCM19 bei der passenden Einbindung im Feld "Quellcode der Einbindung" ein und entfernen den Code dafür aus dem HTML Ihrer Seite. Wo und wie Sie das durchführen, hängt von Ihrem CMS bzw. Shop System ab. Meist können diese Skripte auch über die CMS Oberfläche deaktiviert werden.
CCM19 wird das hinterlegte Skript in den head der Seite integrieren, sobald Consent für die Einbindung vorliegt. Dadurch muss das Skript nicht mehr in der Seite selbst integriert werden und es wird sichergestellt, dass es niemals ohne Consent ausgeführt wird. Diese Methode hat zudem den Vorteil, dass sie sich positiv auf die Ladegeschwindigkeit der Seite auswirken kann, weil Skripte nur noch geladen werden müssen, wenn ein Consent vorliegt.
Bitte beachten Sie, dass es bei dieser Umsetzung zu Warnhinweisen und/oder Fehlermeldungen in verwendeten Tools kommen kann, die auf einen fehlenden Code in der Seite hinweisen. Diese Meldungen können ignoriert werden, weil der Code ja bewusst aus dem Quellcode der Seite entfernt wurde. Die meisten Tools erkennen leider nicht, dass der Code nach Consent hinzugefügt wird.
Möglichkeit 3 - HTML-Modifizierung
Alternativ besteht die Möglichkeit, Skripte direkt im Quelltext der Website zu blockieren und bei Zustimmung des Seitenbesuchers durch CCM19 freizugeben und auszuführen. Diese Variante ist sowohl für Inline-Skripte als auch für externe Skripte verfügbar. Grundsätzlich wird wie folgt vorgegangen:
- Das
type
-Attribut wird wie folgt ersetzt bzw. definiert:type="text/x-ccm-loader"
- Für externe Skripte wird das
src
-Attribut ersetzt:data-ccm-loader-src
Durch diese Anpassung erkennt ein Browser das entsprechende Skript nun nicht mehr als auszuführenden JavaScript-Code und lässt von der Verarbeitung dessen zunächst ab.
CCM19 erkennt Skripte, die nach diesem Schema definiert sind und behandelt diese wie jedes andere Skript. Es gelten alle Regeln, die in der CCM19-Konfiguration Ihrer Domain für Skripte hinterlegt sind.
Behandeln Sie jedes script
-Tag Ihrer Website, das entsprechend dieser Funktion blockiert bzw. freigegeben und nachgeladen werden soll. Exemplarisch könnte dies wie folgt aussehen:
Externes Skript:
Inline-Skript:
Gruppe für den Script-Loader
Falls Sie die HTML-Modifizierung zur Blockierung von Skripten auf Ihrer Website anwenden, können Sie die behandelten Skripte gruppieren und einheitlich über eine Einbindung freigeben.
Hierfür wird eine Gruppe definiert, den Gruppennamen wählen Sie dabei selbst – für die folgenden Beispiele wählen wir example-group
. Die Gruppe wird mithilfe des Attributs data-ccm-loader-group
angegeben.
Externes Skript:
<script data-ccm-loader-group="example-group"
data-ccm-loader-src="https://your.site/script.js"
type="text/x-ccm-loader"></script>
Inline-Skript:
Tragen Sie den Gruppennamen in der relevanten Einbindung unter dem Punkt "Gruppe für den Script-Loader" ein, um die Einbindung mit den markierten Skripten Ihrer Website zu verknüpfen.
Sobald ein Seitenbesucher eine solche Einbindung zulässt, werden die gruppierten Skripte nachgeladen.
Technisch gesehen verhindert CCM19 durch diese Art der Einbindung das Laden und die Ausführung der Skripte, bis die Zustimmung für die Ausführung vorliegt.
Diese Variante gibt dem Benutzer die größte Flexibilität, da so auch individuelle Skripte mit speziellen Funktionen, die z. B. nur auf einer Seite vorkommen, gesteuert werden können.
Hinweis: Bilder werden ebenfalls unterstützt, definieren Sie einfach die Attribute data-ccm-loader-src
und data-ccm-loader-group
für das img Tag. Das Attribut type="text/x-ccm-loader"
ist in diesem Fall nicht erforderlich.