Integration von Usercentrics in Google Tag Manager

Die Usercentrics Consent Management Platform (CMP) lässt sich schnell und unkompliziert in Deinem Google Tag Manager (GTM) integrieren, damit Du zukünftig deine Tags nur noch ausspielst, wenn Dir dafür eine Einwilligung Deines Besuchers vorliegt.

In dieser Schritt-für-Schritt-Anleitung zeigen wir Dir, wie Du:

  • Das Usercentrics Skript im Google Tag Manager implementierst
  • Tags nur nach Einwilligung ausspielst

Schritt 0: Voraussetzungen

Bevor wir mit der Anleitung beginnen, gibt es ein paar Voraussetzungen die Du sicherstellen musst.

Für diese Anleitung gehen wir davon aus, dass du bereits die folgenden Voraussetzungen erfüllst:

  • Du besitzt ein Google Tag Manager Konto
  • Du hast einen Container für deine Website erstellt
  • Das Google Tag Manager Skript ist auf deiner Website eingebunden
  • Du möchtest die Usercentrics CMP in Deinen Google Tag Manager integrieren

Beachte: Möchtest Du inline-Skripte anpassen, die Du z.B. direkt in den head-Bereich Deiner Website integriert hast, lies bitte unsere Leitfaden zur Anpassung von inline-Skripten.

Schritt 1: Usercentrics Skript in GTM einbinden

Nachfolgend erklären wir Dir Schritt für Schritt, wie Du die Usercentrics CMP in Google Tag Manager integrierst und Deine Tags entsprechend nach Einwilligungsstatus Deiner Besucher feuerst oder nicht feuerst.

Neues Tag für Usercentrics-Skript anlegen

Als erstes erstellst Du ein neues Tag, in welchem der Code für das Usercentrics-Skript hinterlegt wird.

Klicke dazu unter dem Menüpunkt “Tags” auf den Button “Neu”.

Tag-Typ: Benutzerdefiniertes HTML

Anschließend vergibst Du einen Namen (in unserem Beispiel "Usercentrics CMP") und wählst als Tag-Typ "Benutzerdefiniertes HTML" aus.

Hier fügst Du nun das Skript ein, welches Du in Deinem Usercentrics Settings-Dashboard unter dem Menüpunkt "Allgemein" -> "Skript" finden kannst und das so aussieht:

<script type="application/javascript" src="https://app.usercentrics.eu/uat/main.js" id="XXXXXXXXX" data-lazyload="true"></script>

Beachte: Im obigen Beispiel solltest Du "XXXXXXXXX" mit Deiner Settings-ID austauschen. Diese findest Du ebenfalls in Deinem Settings-Backend.

Setze noch einen Haken bei "document.write unterstützen" bevor Du Dich den Triggern widmest.

Trigger: Alle Seiten

Es ist sehr wichtig, dass das Usercentrics-Skript auf jeder Unterseite beim Seitenaufruf gefeuert wird. Nur so kann sichergestellt werden, dass der Einwilligungsstatus für Deine anderen Tags korrekt abgerufen werden kann.

Deshalb wählst Du als Trigger "Seitenaufruf", Ausnahmen gibt es beim Usercentrics-Tag keine.

Tag speichern

Dein neu angelegtes Tag für das Usercentrics-Skript kannst Du jetzt speichern.

Beachte: Stelle sicher, dass in Deinem Settings-Backend die korrekte Domain hinterlegt ist, sonst wird das Usercentrics-Skript auf Deiner Website nicht ausgespielt.

Google Tag Manager: Tag für Usercentrics-Skript

Schritt 2: DataLayer-Variablen einrichten

Um den Einwilligungsstatus Deiner Besucher für Deine Tags herauszufinden und entsprechend steuern zu können, müssen zuerst DataLayer-Variablen definiert und darauf aufbauend Trigger konfiguriert werden.

Über den DataLayer kommuniziert das Usercentrics-Skript mit GTM. Es müssen also noch die entsprechenden Variablen definiert werden, welche GTM beachten soll.

Wichtig: Im folgenden Beispiel wird mit negativen Einwilligungsstati und demnach mit Trigger-Ausnahmen gearbeitet. Im Prinzip bedeutet das für GTM: Feuere das Tag immer, es sei denn der Einwilligungsstatus dafür ist false (nicht eingewilligt).

Es hat mehrere Gründe, wieso wir diese Vorgehensweise empfehlen:

  • Einfachere Implementierung in ein bestehendes GTM, denn es müssen nur Ausnahmen hinzugefügt werden
  • Für den sehr unwahrscheinlichen Fall, dass unser System komplett ausfällt, werden deine hinterlegten Tags trotzdem gefeuert

DataLayer-Variablen für jedes Tag anlegen

Um eine neue Variable anzulegen, navigiere zum Menüpunkt "Variablen". Dort findest Du unter dem Abschnitt "Benutzerdefinierte Variablen" den Button "Neu", über den Du eine neue Variable anlegen kannst.

Variablentyp: Datenschichtvariable

Als Variablentyp wählst Du "Datenschichtvariable" aus.

Der Name der Variable ist exakt der gleiche, wie auch in Deinen Settings der entsprechende Consent.

Möchtest Du also z.B. Dein Google Analytics Tag anpassen, musst du dafür zuerst einen Consent in Deinen Settings hinterlegen und anschließend den "Consentslug" als Variable in GTM anlegen.

Im Settings-Dashboard findest Du in jedem Consent den Consentslug aufgeführt, wenn du den entsprechenden Consent aufklappst.

Im Beispiel unseres Google Analytics Tags wäre der Consentslug demnach "Google Analytics" (Groß- / Kleinschreibung und Leerzeichen beachten!).

Variable in Google Tag Manager anlegen

Das Anlegen der Datenschichtvariablen wiederholst Du für jedes Tag, das erst nach einer aktiven Einwilligung Deiner Besucher gefeuert werden soll.

Das können je nach Deinem Setup einige sein. Anbei ein Auszug aus unserem GTM mit allen benötigten Variablen.

Variablen Übersicht Usercentrics Google Tag Manager

Schritt 3: Trigger definieren

Nachdem die Variablen angelegt sind, braucht es noch die entsprechenden Trigger, die den Status abrufen und basierend darauf Deine Tags steuern. Ähnlich wie bei den Variablen benötigst Du auch für jedes Deiner Tags mindestens einen entsprechenden Trigger.

Zwei Trigger - Opt-In und Opt-Out Status abfragen

Wir empfehlen Dir zwei Trigger für jedes Tag zu definieren: Der erste Trigger prüft beim Seitenaufruf, ob eine entsprechende Einwilligung seitens Deines Besuchers vorliegt. Falls keine vorliegt wird das entsprechende Tag nicht ausgespielt. Dieser Trigger stellt eine Ausnahme bei den Tags dar.

Der zweite Trigger ist dafür zuständig, Änderungen der Einwilligung eines Besuchers während des Besuchs zu einem Tag zu erkennen und im Falle eines Opt-Ins (Besucher willigt einem Tag zu) Deine Tags nachzuladen. Dieser Usecase tritt z.B. beim allerersten Besuch der Webseite auf, wenn Deine Tags standardmäßig deaktiviert sind und sie direkt nach erfolgreicher Einwilligung durch den Banner (Besucher klickt auf "Akzeptieren") gefeuert werden sollen.

Im Menüpunkt "Trigger" kannst Du über den Button "Neu" neue Trigger anlegen.

Triggertyp 1: Fenster geladen

Als erstes solltest Du einen aussagekräftigen Namen für Deine Trigger verwenden, die intern in Deinem Unternehmen verstanden werden. In unserem Beispiel fangen alle Trigger mit dem Zusatz "Opt-out" an, da wir den Status der jeweiligen Datenschichtvariable abfragen und diese bei false einem Opt-out gleicht.

Als Triggertyp ist es wichtig die Option "Fenster geladen" zu wählen. Die Trigger sollen erst gefeuert werden, wenn das Usercentrics-Skript komplett ausgeführt wurde - das entsprechende Usercentrics-Tag wurde in Schritt 1 beim Seitenaufruf gefeuert. Das Event "Seitenaufruf" passiert in GTM zeitlich vor dem Event "Fenster geladen".

Trigger nur bei bestimmten Ereignissen auslösen

Direkt unter dem Triggertyp kannst Du auswählen, bei welchen Ereignissen der Trigger gefeuert wird. Hier wählst du die Option "Einige Ereignisse, die beim Laden eines Fensters ausgelöst werden".

Anschließend musst du noch die entsprechende Variable (in unserem Beispiel "consentGoogleAnalytics") auswählen und die Bedingung auf "ist gleich - false" setzen.

Trigger anlegen in Google Tag Manager

Triggertyp 2: Benutzerdefiniertes Ereignis

Für den zweiten Trigger verwenden wir intern den Präfix "Opt-In", da wir auf das Event consent_changed hören, das auftritt, sobald der Besucher eine Einwilligung erteilt oder entzieht.

Als Triggertyp kommt hier das "Benutzerdefinierte Ereignis" zum Einsatz und als Ereignisname das Usercentrics Event consent_changed.

Auch diesen Trigger lösen wir nur bei "einigen benutzerdefinierten Ereignissen" aus und zwar wenn die Datenschichtvariable für unseren Consent dem Wert true entspricht.

Beachte: Dieser Trigger wird wie eingangs erwähnt nur dann gefeuert, wenn beim Seitenaufruf keine Einwilligung des Besuchers für das Tag vorliegt und der Besucher seinen Einwilligungsstatus ändert. In diesem Fall sollen die entsprechenden Tags direkt nachgeladen werden und nicht erst beim nächsten Seitenaufruf des Besuchers.

In den meisten Fällen stellt das den allerersten Seitenbesuch des Besuchers da, bei welchem noch keine Einwilligungen für Tags erteilt wurden.

Opt-In Trigger Google Analytics anlegen in Google Tag Manager

Schritt 4: Alles zusammenführen: Deine Tags anpassen

Du hast jetzt erfolgreich Variablen für jede Deiner Einwilligungen angelegt und darauf aufbauend Deine Trigger konfiguriert. Was jetzt noch fehlt ist die Anpassung Deiner Tags, damit diese nur bei einer aktiven Zustimmung Deiner Besucher gefeuert werden.

Tags beim Event "Fenster geladen" feuern

Jedes Deiner Tags muss angepasst werden, sodass sie standardmäßig beim Event "Fenster geladen" gefeuert werden. Das Usercentrics-Skript sollte das einzige Tag sein, das beim "Seitenaufruf" gefeuert wird.

Das ist deshalb wichtig, damit unser Skript als erstes geladen wird um die Einwilligungsstati abfragen zu können, die für die Ausspielung Deiner anderen Tags verantwortlich ist.

Auslösende Trigger

Es gibt zwei auslösende Trigger für Deine Tags:

Trigger Ausnahmen

Dein zuvor angelegter Opt-Out Trigger (siehe Schritt 3 - "Triggertyp 1: Fenster geladen") stellt die Ausnahme für Deine Tags dar und sollte als Trigger-Ausnahme beim jeweiligen Tag hinterlegt werden.

Tag Anpassungen Google Analytics mit Ausnahmeregel in Google Tag Manager

Zusammenfassung

Da es durchaus etwas kompliziert sein kann, die Integration von Usercentrics in Google Tag Manager nachzuvollziehen, abschließend eine kurze Zusammenfassung der Logik hinter unserem Vorgehen.

Tags nur bei Einwilligung feuern

Deine Tags sollen nur gefeuert werden, wenn Dir eine Einwilligung seitens des Besuchers vorliegt. Diese Einwilligung kann bereits beim Seitenaufruf vorliegen (wiederkehrender Besucher) oder erst während des Besuchs erteilt werden (Erstbesucher).

Fall 1: Erstbesucher

Kommt ein Besucher zum ersten mal auf Deine Website oder hast Du Usercentrics erst kürzlich konfiguriert, dann liegen uns noch keinerlei Informationen zum Einwilligungsstatus dieses Besuchers vor.

In einer restriktiven Einstellung werden nur Tags gefeuert, die für den Betrieb der Website essentiell sind und von Dir somit in den Settings der Kategorie "Wesentlich" zugeordnet wurden. Diese Tags werden unabhängig von der Einwilligung deines Besuchers gefeuert.

Ein Beispiel für ein solches Tag ist das Usercentrics-Skript. Wir müssen immer geladen werden, da wir es Dir ermöglichen, Deine Tags anhand der Präferenzen Deiner Besucher auszuspielen.

Ein Erstbesucher würde folglich beim Besuch Deiner Website den Opt-In-Banner angezeigt bekommen, durch welchen er Deinen Tags zustimmen kann.

Stimmt er Deinen Tags zu, sollen Deine Tags sofort nachgeladen werden. Würden sie nicht sofort nachgeladen werden, würden Dir z.B. wichtige Metriken wie die Einstiegsseite in Deinen Analysetools verzerrt werden.

Für diesen Fall gibt es den Trigger auf der "benutzerdefiniertes Ereignis"-Ebene, der auf das consent_changed Event aus dem Usercentrics-Skript hört und sobald eine Einwilligung abgegeben wurde (Einwilligungsstaus true), das entsprechende Tag nachlädt.

So werden Deine Tags auch beim allerersten Websitebesuch und direkt nach der Einwilligung des Besuchers gefeuert.

Fall 2: Wiederkehrender Besucher

Kommt ein Besucher zum wiederholten mal auf Deine Website, liegen uns (in den meisten Fällen) bereits Informationen zur Einwilligung vor. Diesen Einwilligungsstatus prüfen wir mit unserer Datenschichtvariable und dem Ausnahmetrigger in den jeweiligen Tags ab.

Besitzt der Einwilligungsstatus den Wert false, wird das entsprechende Tag nicht gefeuert, da in diesem Fall der Ausnahmetrigger greift. Beim Wert true des Einwilligungsstatus wird Dein Tag gefeuert, da in diesem Fall der Ausnahmetrigger nicht greift.

Feuere jedes Tag, außer es liegt keine Einwilligung vor

Zusammengefasst funktioniert die Triggerlogik in Google Tag Manager folgendermaßen:

Feuere jedes Tag (Trigger "Fenster geladen"), außer der Besucher hat seine Einwilligung dafür nicht erteilt (Ausnahmetrigger "Opt-Out" - Einwilligungsstatus false). Ändert der Besucher während seines Besuchs den Einwilligungsstatus und erteilt seine Einwilligung, feuere das entsprechende Tag sofort (Trigger "Opt-In" - Einwilligungsstatus true).

Abschluss: Testing über Vorschaufunktion

Deine Tags sollten nun angepasst sein und werden zukünftig nur noch bei einer vorliegenden Einwilligung Deiner Besucher gefeuert. Bevor Du die Anpassungen in Google Tag Manager live stellst, solltest Du sie allerdings ausgiebig testen.

Um die Änderungen in GTM testen zu können, aktivierst Du den Vorschaumodus. Diesen findest Du oben rechts als grauen Button mit der Aufschrift "In Vorschau ansehen".

Anschließend navigierst Du zu Deiner Website und überprüfst, ob die jeweiligen Tags ohne Deine Einwilligung gefeuert werden. Das kannst du z.B. im Browser über die DevTools und den "Netzwerk"-Reiter nachvollziehen.

Privacy made in Bavaria, Germany