Cookie OptIn / Consent für TYPO3

Der Europäische Gerichtshof (EuGH) hat entschieden, dass Cookie-Banner, welche nicht ausdrücklich die Zustimmung des Webseitenbesuchers verlangen, nach der DSGVO nicht rechtmäßig sind. Um TYPO3-Entwicklern das Umsetzen dieser neuen Forderung zu erleichtern, haben wir sgalinski Cookie OptIn entwickelt, ein einfach integrierbares Modul, das eine Einbettung für Cookies und Tracking-Skripte ermöglicht, die mit DSGVO (GDPR) und ePrivacy konform ist. Weiterführende Informationen hierzu finden Sie auch im Blog-Artikel von Herrn Dr. Schwenke.

Kompatibilität

TYPO3 Versionen 6.2.X | 7.6.X | 8.7.X | 9.5.X
PHP Versionen 5.5.X | 7.0.X | 7.1.X | 7.2.X | 7.3.X
Getestete Browser Internet Explorer 11 und Evergreen Browser

Highlights

TYPO3-Erweiterung für ePrivacy & DSGVO

Cookies dürfen aufgrund der DSGVO (GDPR) und der ePrivacy-Verordnung nur noch geladen werden, wenn der jeweilige Seitenbesucher dem ausdrücklich zustimmt (Cookie Consent). Dadurch entfallen auch Opt-Out Lösungen, bei denen der User aktiv widersprechen muss, um keine Cookies mehr zu erhalten. Deshalb werden mit sgalinski Cookie OptIn standardmäßig nur Cookies eingebettet, die Sie als essenziell festlegen.

Cookies gruppieren & Cookie-Gruppen verwalten

Nicht-essenzielle Cookies werden im mitgelieferten Backend-Modul in eine beliebige Anzahl von Gruppen einsortiert. Den Besuchern Ihrer Seite werden diese Cookies transparent und übersichtlich mit Informationen wie Herkunft, Beschreibung und Laufzeit aufgelistet. Der Nutzer kann dann entscheiden, welche Cookie-Gruppen er akzeptieren möchte.

Sofort einsatzbereit

Die Extension installieren Sie per Composer oder das TER und binden es mit wenigen Zeilen TypoScript in Ihrer Instanz ein. Dank des übersichtlichen Backend-Moduls und einer intelligenten Vorkonfiguration ist Ihr Cookie Opt-In Banner mit ein paar Klicks in kürzester Zeit einsatzbereit. Auch beliebige Tracking-Skripte lassen sich in Windeseile hinzufügen, werden aber erst geladen, wenn der Nutzer dem zugestimmt hat.

Kompatibel mit Ihrem Design

Im Backend-Modul der Extension lässt sich die farbliche Gestaltung des Cookie Pop-Ups so konfigurieren, dass sich das Banner nahtlos in das Frontend Ihrer Webseite eingliedert. So haben Sie die volle Kontrolle über das Aussehen des Cookie-Hinweises.

Konfigurierbar für mehrere Sprachen

Das Cookie-Banner der Erweiterung lässt sich komplett in beliebig viele verschiedene Sprachen übersetzen und wird auf jeder Sprache Ihrer Webseite entsprechend ausgespielt.

Zusätzlich können für unterschiedliche Sprachversionen Ihrer Webseite verschiedene Cookie-Gruppen konfiguriert werden. So ist transparenter, flexibler Datenschutz für all Ihre User gesichert.

Google Tag Manager und andere Tracking-Services

Sie können beliebige Skripte in den Einstellungen von sgalinski Cookie OptIn einfügen, welche geladen werden, sobald der jeweilige Benutzer dem zugestimmt hat. Dabei haben wir besonders darauf geachtet, dass durch das OptIn-Banner keine Tracking-Informationen verloren gehen.

Preise

sgalinski Cookie OptIn für TYPO3

Sgalinski Cookie OptIn für TYPO3 ist die einfachste Lösung, sowohl Tracking-Skripte und -Tags als auch Cookies datenschutzrechtlich einwandfrei auszuspielen.

Mit dem übersichtlichen Opt-In-Banner schaffen Sie Vertrauen und Transparenz bei Ihren Nutzern.

Das Backend-Modul hilft Ihnen, in kürzester Zeit all Ihre Cookies, Tags und Skripte in Gruppen einzuteilen, welche die Nutzer frei akzeptieren können.

Dank unserem Lizenzmodell erhalten Sie alle Updates für sgalinski Cookie OptIn, sobald diese verfügbar sind.

  • Einfache Installation
  • Schnell konfiguriert
  • Übersichtlich
  • Transparent
  • Individuelle Gestaltung möglich
  • Kompatibel mit mehrsprachigen Instanzen
  • Simple Integration von Google Tag Manager und anderen Tracking-Diensten
  • Kostenfreie Updates für die gesamte Laufzeit Ihrer Lizenz

Preise:

  • Jahreslizenz1: 59,99 € pro Instanz
  • Lifetime-Lizenz1: 199,99 € pro Instanz
  • Volumenlizenz: Bei Bestellungen ab 20 Lizenzen werden 25 % Mengenrabatt gewährt und ab 50 Lizenzen werden 50% Rabatt vergeben.

Die Extension kann ohne Lizenz für 24h im Demomodus getestet werden.

sgalinski Website-Base inklusive OptIn Extension

Unsere auf TYPO3 basierende Website-Base ist ein umfangreiches Paket zum Erstellen und Verwalten von Webseiten aller Art. Das sgalinski Cookie Consent ist in der Website-Base inbegriffen. Dabei gibt es grundsätzlich die Möglichkeit eine Webseite zum Fixpreis erstellen zu lassen oder man entscheidet sich für ein Website as a Service Paket, mit dem keine weiteren Kosten für Hosting oder Sicherheits- und Funktionsupdates entstehen. Alle Informationen zu den verfügbaren Editionen der Website-Base finden Sie auf den unten verlinkten Seiten.

Installation & Konfiguration

Nach der erfolgreichen Installation & Konfiguration der sgalinski Cookie Consent Extension wird jeder neue Besucher Ihrer Webseite ein Fenster mit dem Cookie Consent angezeigt. Der User bestimmt welche Cookies er zulassen möchte und welche nicht. Folgende Cookie Gruppen sind zu sehen (essentielle Cookies werden immer akzeptiert, da sie für die Funktion einer Seite von Bedeutung sind):

  • Essentiell
  • Externe Inhalte
  • Weitere Cookie Gruppen, die Sie selbst definiert haben.

Die individuelle Auswahl kann der User speichern oder mit nur einem Klick nur essentielle Cookies oder alle Cookies akzeptieren. Schließt ein Seitenbesucher das Fenster ohne eine Auswahl getroffen zu haben, werden automatisch nur essentielle Cookies geladen.

Sie haben außerdem die Möglichkeit das Cookie Consent nach der Konfiguration in eine Seite zu integrieren, indem Sie das entsprechende Inhaltselement aus der Gruppe der besonderen Elemente einfügen.

Installation der Cookie OptIn/Consent Extension

Die Extension lässt sich einfach aus dem TER beziehen oder per Composer installieren.

Um die Extension per Composer zu installieren, muss einfachcomposer require sgalinski/sg-cookie-optin ausgeführt werden.

Im Anschluss muss in beiden Fällen die Extension noch über das Modul Template hinzugefügt und über das Modul Tracking / Cookies konfiguriert werden. Beide Schritte  werden im Folgenden beschrieben.

Cookie OptIn zur Instanz hinzufügen

Nach der Installation müssen Sie das statische TypoScript namens Cookie Optin zu Ihrer Instanz hinzufügen. Dafür gehen Sie wie folgt vor:

  • öffnen Sie das Modul Template in Ihrem Backend und wählen innerhalb des Seitenbaums die Seite mit dem Root Template
  • wählen Sie Info/Bearbeiten in der Auswahl obenhalb des Inhaltsbereiches
  • klicken Sie auf die Schaltfläche Vollständigen Template-Datensatz bearbeiten
  • wählen Sie die Registerkarte Enthält
  • wählen Sie die Vorlage Cookie Optin (sg_cookie_optin) auf der Mehrfachauswahlbox (rechts) mit dem Namen Statische Templates einschließen (aus Erweiterungen) 
  • nach einem Klick auf die Auswahl erscheint die Vorlage in der linken Box
  • sichern Sie Ihre Änderungen mit dem Speichern Button über dem Inhaltsbereich

Konfiguration

Cookies identifizieren

Bevor Sie Ihre Cookie OptIn Extension im Backend konfigurieren, sollten Sie Ihre Webseite nach Cookies untersuchen. Nutzen Sie dafür folgendes Tool, was Sie am Besten in einem neuen Tab oder oder einem neuen Fenster öffnen.

Geben Sie, wie unten zu sehen ist, Ihre Homepage-Adresse ein und bestätigen Sie die Eingabe mit Scan Now.

Neben dem Tool haben Sie außerdem die Möglichkeit Ihre Seite manuell nach Cookies zu überprüfen. Folgen Sie dafür dieser Anleitung

Im Ergebnis erhalten Sie eine übersichtliche Tabelle, wie sie unten zu sehen ist. Aus dieser Tabelle entnehmen Sie die meisten Informationen, die für die Konfiguration der Extension notwendig sind. Im Abschnitt zu der Gruppe essentieller Skripte & Cookies ist beschrieben, welche Daten Sie wo eintragen eintragen müssen.

Beachten Sie, dass diese Liste nicht vollständig sein könnte. 

Es reicht außerdem nicht, nur die Homepage nach Cookies zu untersuchen. Es ist wichtig, dass die anderen Haupt- und Unterseiten ebenfalls gescannt werden.

Denn nur wenn alle Cookies und Tracking-Skripte ausschließlich über die Cookie OptIn Extension geladen werden, ist es möglich eine DSGVO-konforme Webseite zu kreieren. Wenn das der Fall ist, wird das Tool bei erneuter Untersuchung nach der vollständigen Konfiguration keine Ergebnisse mehr liefern können. Sie erhalten in dem Fall den Hinweis: No Cookies Found. Sie müssen so lange Cookies und Skripte in unser Cookie Consent einpflegen, bis das Tool auf keiner Seite mehr von Ihnen Cookies findet.

Eintrag anlegen

  • gehen Sie zu dem Modul Tracking / Cookies (vorletztes Modul in der Modulgruppe Web)
  • (falls notwendig) wählen Sie innerhalb des Seitenbaums die Seite mit dem Root Template oder wählen direkt die angezeigte Seite im Inhaltsbereich
  • sollte noch kein Eintrag zum Datenschutz/Cookies vorhanden sein
    • klicken Sie auf den Button unter dem Einleitungstext
    • füllen Sie alle notwendigen Felder aus, damit haben Sie den Eintrag erstellt
    • fahren mit dem nächsten Schritt fort
  • wenn bereits ein Eintrag vorhanden ist
    • klicken Sie einfach auf den Namen des Eintrags oder auf das Stiftsymbol rechts von dem Eintragsnamen, um den Eintrag zu bearbeiten

Eintrag bearbeiten

1. Tab: Allgemein

Sie sehen in der Abbildung, welche Felder an welchen Stellen im Frontend zu sehen sein werden. Füllen Sie die Felder Titel des Opt-In Fensters bis Link zur Anzeige von Informationen der Cookies einer Gruppe aus.

Im letzten Schritt verlinken Sie noch das Impressum und die Datenschutzerklärung.

  • klicken Sie auf das Ordersymbol rechts neben das Feld, wo die Links zu den beiden Seiten eingefügt werden sollen
  • der Seitenbaum erscheint, wo Sie entsprechende Seiten auswählen müssen
  • klicken Sie auf eine der beiden Seiten
  • Sie haben nun einen Link zu dieser Seite hinzugefügt und befinden sich wieder im Reiter Allgemein
  • wiederholen das Vorgehen für die andere Seite

WICHTIG In der Datenschutzerklärung sollten Sie außerdem noch einen Button/Link zu den Cookie-Einstellungen einbauen oder das Cookie Consent Inhaltselement einfügen. Damit sich bei Klick auf den Button erneut die Einstellungen zu den Cookies öffnen. Dafür legen Sie einen externen Link mit der URL Ihrer Datenschutzerklärung zusätzlich mit dem Parameter ?showOptIn=1 an. Der Link sieht bei unserer Seite beispielsweise so aus: sgalinski.de/datenschutz/?showOptIn=1.

Sollte ein Nutzer bereits entschieden haben, welche Cookies er laden möchte und gelangt zu einem späteren Zeitpunkt auf eine Seite mit eben genannten Parameter, werden die von ihm vorher gewählten Checkboxen, wieder angezeigt.

 2. Tab: Externe Inhalte

Zum Aktivieren des Cookie Consent für Iframes brauchen Sie einfach in der Registrierkarte Externe Inhalte ein Häkchen zu setzen und die übrigen Felder wie Titel oder Beschreibung auszufüllen. Welche Felder, wo im Frontend erscheinen, können Sie mit den unteren Bildern nachvollziehen.

Wenn ein User externe Inhalte nicht akzeptiert, werden Iframes nicht geladen und als Box dargestellt. Der Besucher hat nun bei jedem Iframe die Option nur das eine Iframe zu laden. Beim Klick auf den Button Einstellungen öffnen erscheint ein kleines Cookie Consent Fenster (siehe Screenshot unten), dort können alle externen Inhalte oder nur das eine Iframe akzeptiert werden.

Im Backend der Cookie OptIn Extension passen Sie den Text der beiden Buttons in der Box in der Spalte Text an. Sie entsprechen den Feldern: Button 'Externen Inhalt laden' und Link 'Einstellungen öffnen'.

Direkt darunter können Sie in der Spalte Farben die Box und die Buttons farblich anpassen.

Zusätzlich ist es möglich ausgewählte Iframes immer anzeigen zu lassen. Solange der externe Inhalt keine Cookies mit sich bringt, ist das DSGVO-konform. Sie können außerdem eine Beschreibung des externen Inhaltes einfügen. Dafür müssen Sie in den HTML-Code des Iframes entsprechende Attribute einsetzen.

  • Beschreibung: data-consent-description
  • Immer öffnen: data-iframe-allow-always

Das Iframe können Sie z. B. in einem HTML-Inhaltselement erstellen. Das Iframe-Tag könnte dann beispielsweise so aussehen.

<iframe 
width="560" height="315" 
src="https://www.youtube-nocookie.com/XYZ" allowfullscreen 
data-consent-description="Ein wenig Zusatzbeschreibung" 
data-iframe-allow-always="1">
</iframe>

3. Tab: Gruppe essentieller Skripte & Cookies

Unter diesem Reiter werden die Informationen eingetragen, die im Frontend zu sehen sind, wenn ein Nutzer (in unserem Beispiel) auf Weitere Informationen klickt und danach bei Essentiell Cookie-Informationen wählt.

Gruppentitel und Beschreibung Ihrer essentiellen Cookies sind bereits sichtbar, sobald ein User auf Weitere Informationen klickt. Die einzelnen Cookies, die darunter ausgelistet werden sollen, müssen unter Cookies mit Neu anlegen erstellt werden.

Die notwendigen Informationen zu den Cookies finden Sie in der Auflistung des Tools aus dem ersten Schritt. Die Namen der Cookies befinden sich in der Spalte Cookies. Unter Description finden Sie den Zweck sowie zumeist auch den Anbieter/Provider der Cookies. Die Lebenszeit entspricht der Spalte Duration. Und schließlich verrät Ihnen die letzte Spalte, wie Sie Ihre Cookies gruppieren können. 

Wenn ein Cookie als Necessary (notwendig) kategorisiert wird, so gehört dieses Cookie zu den Essentiellen, es ist also für die Funktionalität der Webseite unabdingbar Sie müssen es hier hinzufügen.

4. Tab: Weitere Skript- und Cookiegruppen

Alle nicht essentiellen Cookie- und Skriptgruppen fügen Sie im Reiter Weitere Skript- und Cookiegruppen hinzu. Dafür legen Sie zunächt eine Gruppe an und gehen nach diesem Schritt genauso vor wie bei den essentiellen Cookies. Sie werden jedoch mit großer Wahrscheinlichkeit an dieser Stelle mehr Cookies anlegen müssen als zuvor.

Bei der Einteilung von Cookies in Gruppen können Sie sich an der Tabelle vom ersten Schritt der Konfiguration orientieren. 

Skripte hinzufügen und bearbeiten

Sie können Skripte als HTML-Code oder als Javascript implementieren. Die Skripte fügen Sie in Ihren angelegten Gruppen unter Skripte hinzu. Sie entscheiden, ob Sie das Skript als HTML oder als Javascript in die Cookie OptIn Extension einbauen. Je nachdem nutzen Sie einfach die dafür vorgesehene Box. 

Es müssen alle Cookie-bezogenen Skripte zur Konfiguration hinzugefügt werden und diese dürfen nirgendwo sonst geladen werden!

Hier ist ein Beispiel für den Google Tag Manager:

HTML

<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID">
</script>

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'GA_MEASUREMENT_ID');
</script>

JavaScript

var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('async', true);
script.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID');
document.body.appendChild(script);

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');

Das sieht in der Cookie OptIn Extension im Backend folgendermaßen aus:

5. Tab: Farben

Zum Schluss passen Sie das sgalinski Cookie OptIn/Consent Ihren Corporate Identity Farben an. Geben Sie dafür den Hex-Farbcode direkt in die entsprechenden Felder ein oder nutzen Sie das Farbauswahl-Feld. Letzteres erscheint automatisch sobald, Sie in das Feld klicken.

Vergessen Sie nicht Ihre Änderungen mit dem Speichern Button über dem Inhaltsbereich zu sichern!

 

6. Tab: Einstellungen

Damit wir wissen, welche Cookie-Gruppen der Nutzer akzeptiert hat, müssen auch wir ein wesentliches Cookie speichern.  Die Struktur unseres Cookies sieht wie folgt aus:

  • Name:
    cookie_optin
  • Beispieldaten:
    essential:1|analytics:0|performance:1
  • Das bedeutet: Der User hat die essentiellen und Performance-Gruppen akzeptiert, jedoch nicht die Analysegruppen.

Im Tab Einstellungen der Cookie OptIn Extension können Sie die Laufzeit unseres Cookies anpassen. Nach Ablauf dieser Zeit werden Nutzer erneut aufgefordert werden, das Cookie Consent auszufüllen. Standardmäßig sind 12 Monate eingestellt, hier können Sie diesen Zeitraum anpassen.

 

Cookie OptIn/Consent übersetzen

Um den Inhalt zu Übersetzen müssen Sie lediglich über dem Inhaltsbereich die Sprache auswählen, für die Sie eine Übersetzung anlegen möchten. Passen Sie einfach alle Inhalte an die entsprechende Sprache an und sichern Sie die Änderungen mit dem Speichern Button über dem Inhaltsbereich.


Google Tag Manager (GTM) – Integration

Wenn Sie den Google Tag Manager (GTM) nutzen, müssen Sie nach Einbindung & Konfiguration der Cookie Consent Extension Anpassungen im GTM vornehmen.

Voraussetzung dafür ist zunächst das Erstellen der entsprechenden Tracking-Gruppen in der Cookie OptIn Extension und das Hinzufügen der GTM Skriptes in allen relevanten Gruppen. Dies vermeidet doppeltes Laden.

Die folgenden Erläuterungen basieren auf den beispielhaften Skript- und Cookiegruppen Analytics und Marketing aus. Die dazugehörigen Gruppen-Keys, die Sie im Reiter Allgemein einer Gruppen eintragen, lauten in unserem Beispiel marketing und analytics.

Das Skript für den Google Tag Manager und den Tab Skripte sehen Sie in den unteren Abbildungen.

Nach der Konfiguration des Cookie Consents auf Ihrer Website müssen Sie nun für eine vollständige und erfolgreiche Integration mehrere Aktionen im GTM durchführen.

document.TagManagerLoaded = document.TagManagerLoaded || 0;
if (!document.TagManagerLoaded) {
  document.TagManagerLoaded = 1;
  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','YOUR GTM-CODE');
}

Variable angelegen

  1. Gehen Sie im GTM zu Variablen
  2. Wählen Sie dann Benutzerdefinierten Variablen.
  3. Klicken Sie auf den Button Neu.
  4. Benennen Sie die neue Variable mit 'Cookie Consent' oder Ähnlichem.
    (Den Namen der Variable sehen Sie links oben in der Ecke des Screenshots.)
  5. Klicken Sie auf Variable konfigurieren.
  6. Wählen Sie anschließend First-Party-Cookie.
  7. Tragen Sie Cookie-Namen 'cookie_optin' ein, so wie es im Screenshot zu sehen ist.

Trigger für Consent-Gruppen angelegen

  1. Gehen Sie im GTM zu Trigger.
  2. Wählen Sie den Typen Seitenaufruf.
  3. Wählen Sie die Einige Seitenaufrufe.
  4. Klicken Sie dann im ersten Feld unten die eben erstellte Variable an.
  5. Da es sich um eine OptIn-Lösung handelt wählen Sie im mittleren Feld enthält.
  6. Tragen Sie im dritten Feld Sie den Key einer Cookie- und Skriptgruppe aus der Cookie OptIn Extension mit dem Wert, bei dem Cookies zum Einsatz kommen dürfen, in diesem Fall ist es die 1. In das Feld tragen Sie dann entsprechend unserem Beispiel marketing:1 ein.
  7. Legen Sie für jede Cookie- und Skriptgruppe einen Trigger an.

Trigger in Tags nutzen

Nun müssen Sie die neuen Trigger in Ihren Google Analytics Tags einstellen. Je nachdem welcher Cookie-Gruppe Sie einen Tag zugeordnet haben, passen Sie den entsprechenenden Trigger im Tag an. Zum Umstellen des Triggers gehen Sie Wie folgt vor:

  1. Gehen Sie im GTM auf Tags.
  2. Klicken Sie auf den Namen des Tags
  3. Klicken Sie dann auf das Stiftsymbol zum Anpassen des Tags.
  4. Fügen Sie unter Auslösende Trigger den neuen Trigger hinzu.
  5. Entfernen Sie den alten Trigger, indem Sie neben dem Trigger auf Entfernen klicken. 

Komplexere Trigger mittels Trigger-Gruppen umsetzen

Komplexere Trigger werden nicht auf jeder Seite ausgeführt. Im GTM müssen diese als Trigger-Gruppe umgesetzt werden. Um eine Trigger-Gruppe anzulegen gehen Sie wie folgt vor:

  1. Gehen Sie im GTM zu Trigger.
  2. Klicken Sie auf Triggerkonfiguration und wählen Sie dort Trigger-Gruppe aus.
  3. Klicken Sie  auf Hinzufügen und wählen mindestens zwei Trigger für die Gruppe aus.
  4. Unter Triggers erscheinen Ihre gewählten Trigger.

Trigger-Gruppen fügen Sie auf die gleiche Art und Weise wie andere Trigger einem Tag bei. In unserem Beispiel sehen Sie, dass die erstellte Trigger-Gruppe Trigger Group Event im Tag UA - Event zu finden ist. Dieses Tag wird nur aktiviert, wenn beide Trigger der Gruppe erfüllt sind.

Sie sind nun mit der Installation & Konfiguration des sgalinski Cookie Consent fertig!

FAQ

Wo kann ich Fehler und Verbesserungsvorschläge melden?

Sie können sehr gerne jegliche Art von Verbesserungsvorschlägen und Feedback zu Fehlern in unserem Tracker in unserem internen Gitlab melden. Sie können dies ebenfalls über unsere Mail-Adresse support@sgalinski.de direkt an unseren Support schicken. 

Zum Tracker

[1] Es besteht keine Garantie für dauerhafte Verfügbarkeit oder Support der Software. Lizenzinhaber können die Software während der Lizenzlaufzeit verwenden, solange sie offiziell unterstützt wird und verfügbar ist.