Integration von Usercentrics in Google Tag Manager

Die Usercentrics Consent Management Platform (CMP) lässt sich schnell und unkompliziert in Ihrem Google Tag Manager (GTM) integrieren, damit Sie zukünftig Ihre Tags nur noch ausspielen, wenn dafür eine Einwilligung Ihrer User vorliegt.

In dieser Schritt-für-Schritt-Anleitung zeigen wir Ihnen, wie Sie:

  • Das Usercentrics Skript im Google Tag Manager als Tag implementieren
  • Bestehende Tags und Trigger anpassen
  • Tags nur nach Einwilligung ausspielen

Schritt 0: Voraussetzungen

Bevor wir mit der Anleitung beginnen gibt es ein paar Voraussetzungen, die Sie sicherstellen müssen.

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

  • Sie besitzen ein Google Tag Manager Konto
  • Sie haben einen Container für Ihre Website erstellt
  • Das Google Tag Manager Skript ist auf Ihrer Website eingebunden
  • Sie haben Ihr persönliches Userecentrics Skript erhalten und möchten dieses in Ihren Google Tag Manager integrieren
Beachten Sie: Möchten Sie inline-Skripte anpassen, die Sie z.B. direkt in den head-Bereich Ihrer Website integriert haben, lesen Sie bitte unseren Leitfaden zur Anpassung von inline-Skripten.

Schritt 1: Usercentrics Skript in GTM einbinden

Nachfolgend erklären wir Ihnen Schritt für Schritt, wie Sie die Usercentrics CMP in Google Tag Manager integrieren und Ihre bestehenden Tags entsprechend nach Einwilligungsstatus Ihrer User feuern oder nicht feuern.

Neues Tag für Usercentrics-Skript anlegen

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

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

Tag-Typ: Benutzerdefiniertes HTML

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

Hier fügen Sie nun das Skript ein, welches Sie in Ihrem Usercentrics Admin Interface unter dem Menüpunkt "General" im Bereich "CMP Skript Tag" finden können und welches ungefähr so aussieht:

<script type="application/javascript" src="https://app.usercentrics.eu/latest/main.js" id="XXXXXXXXX"></script>

Beachten Sie: Im obigen Beispiel sollten Sie "XXXXXXXXX" mit Ihrer Settings-ID austauschen. Diese finden Sie ebenfalls in Ihrem Usercentrics Admin Interface.

Setzen Sie noch einen Haken bei "document.write unterstützen" bevor Sie sich den Triggern widmen.

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 Ihre anderen Tags korrekt abgerufen werden kann.

Dazu wählen Sie als Trigger "Seitenaufruf", Ausnahmen gibt es beim Usercentrics-Tag keine.

Um sicherstellen zu können, dass Usercentrics vor allen anderen Tags gefeuert wird, müssen die anderen Tags fortan auf "Fenster geladen" geändert werden. Dazu aber weiter unten mehr im Abschnitt "Schritt 3: Tags und Trigger anpassen".

Tag speichern

Ihr neu angelegtes Tag für das Usercentrics-Skript können Sie jetzt speichern.

Beachten Sie: Stellen Sie sicher, dass im Usercentrics Admin Interface die korrekte Domain hinterlegt ist, sonst wird das Usercentrics-Skript auf Ihrer Website nicht ausgespielt.

Google Tag Manager: Tag für Usercentrics-Skript

Schritt 2: Datenschichtvariablen einrichten

Um den Einwilligungsstatus Ihrer User für Ihre Tags herauszufinden und entsprechend steuern zu können, müssen zuerst Datenschichtvariablen definiert und darauf aufbauend Trigger konfiguriert werden.

Mit Hilfe der Datenschichtvariablen verknüpfen Sie das Usercentrics Skript mit Ihrem GTM, sodass beide Technologien miteinander kommunizieren können. Für jeden Service, den Sie in Ihrem Usercentrics Admin Interface hinterlegt haben, müssen Sie eine Datenschichtvariable definieren, welche der GTM beachten soll.

Im nachfolgenden Beispiel verwenden wir zur Veranschaulichung den Service "Google Analytics".

Um eine neue Variable anzulegen, navigieren Sie zum Menüpunkt "Variablen". Dort finden Sie unter dem Abschnitt "Benutzerdefinierte Variablen" den Button "Neu", über den Sie eine neue Variable anlegen können.

Als Variablentyp wählen Sie "Datenschichtvariable".

Der Name der Variable ist exakt der gleiche, wie auch in Ihrem Usercentrics Admin Interface der entsprechende Name des Datenverarbeitungs-Services.

Möchten Sie also z.B. Ihr "Google Analytics" Tag anpassen, müssen Sie dafür zuerst den entsprechenden Datenverarbeitungs-Service im Usercentrics Admin Interface hinterlegen und anschließend den Servicenamen als Datenschichtvariable im GTM anlegen.

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

Der Standardwert wird auf false gestellt.

Variable in Google Tag Manager anlegen

Das Anlegen der Datenschichtvariablen wiederholen Sie für jedes Tag, das erst nach einer aktiven Einwilligung Ihrer User gefeuert werden soll.

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

Falls Sie hierzu Fragen haben sollten, wenden Sie sich an Ihr Implementation-Team.

Variablen Übersicht Usercentrics Google Tag Manager

Schritt 3: Tags und Trigger anpassen

Über die Datenschichtvariablen haben Sie die Kommunikation des Usercentrics Skripts mit Ihrem GTM ermöglicht. Zum Abschluss müssen Sie noch Ihre bestehenden Tags und Trigger anpassen, damit diese zukünftig nur noch in Abhängigkeit des Einwilligungsstatus Ihres Users ausgeführt werden.

Bitte beachten Sie: Es gibt zwei verschiedene Szenarien, die Sie abdecken müssen:

  • Szenario 1: Der User ändert seine Privatsphäre-Einstellungen während seines Besuchs
  • Szenario 2: Der User besucht Ihre Webseite mit vorhandenen Privatsphäre-Einstellungen

Beide Szenarien müssen separat voneinander betrachtet werden und stellen unterschiedliche Trigger dar. Lassen Sie uns nachfolgend die Tags und Trigger für beide Szenarien anpassen.

Szenario 1: User ändert seine Privatsphäre-Einstellungen während seines Besuchs

In den meisten Fällen tritt dieses Szenario beim allerersten Seitenaufruf eines Users auf, wenn von diesem (noch) keine Einwilligung für Ihre Services vorliegt. Akzeptiert der User Ihre Services beispielsweise über den Privacy Banner (durch Klick auf "Akzeptieren"), sollen Ihre Tags anschließend direkt nachgeladen werden.

Navigieren Sie dazu zum Menüpunkt "Trigger" und legen über den Button "Neu" die neuen Trigger an.

Als Triggertyp wählen Sie "Benutzerdefinierte Ereignis" und als Ereignisname das Usercentrics Event consent_changed [Name], wobei [Name] dem Namen des Services entspricht, auf welches Sie hören möchten und welcher sich analog zum Namen der Datenschichtvariable verhält.

In unserem Beispiel wollen wir den Service "Google Analytics" konfigurieren, weshalb das Event dementsprechend consent_changed Google Analytics heißt (auch hier gilt: Groß- / Kleinschreibung und Leerzeichen beachten!).

Diesen Trigger lösen wir nur bei "einigen benutzerdefinierten Ereignissen" aus und zwar wenn die Datenschichtvariable für unseren Service dem Wert true entspricht. Als Datenschichtvariable wählen Sie die im Schritt 2 angelegte Variable für diesen Service aus.

Abschließend fügen Sie den neu erstellten Trigger Ihrem Tag als auslösenden Trigger hinzu.

Opt-In Trigger Google Analytics anlegen in Google Tag Manager

Diesen Schritt wiederholen Sie anschließend für jedes Ihrer hinterlegten Services. Haben Sie beispielsweise zusätzlich noch die zwei Services "Criteo" und "Google Ads" auf Ihrer Webseite integriert, legen sie zwei weitere Trigger an. Der erste wird beim Ereignisnamen consent_changed Criteo und der zweite bei consent_changed Google Ads ausgeführt.

Wenn ein User zukünftig während seines Besuchs die Privatsphäre-Einstellungen ändert und einem Service zustimmt, wird das entsprechende Tag direkt gefeuert.

Szenario 2: User besucht Ihre Webseite mit vorhandenen Privatsphäre-Einstellungen

Um sicherzustellen, dass Ihre Tags zukünftig standardmäßig nicht mehr ohne Abgleich des Einwilligungsstatus des User gefeuert werden, müssen Sie Ihre Trigger anpassen.

Inwiefern Sie diese anpassen müssen, hängt von Ihrem persönlichen GTM-Setup ab. Da es eine Vielzahl an Trigger-Kombinationen gibt, können wir leider nicht alle in diesem Leitfaden abdecken. Wir haben uns allerdings drei gängige Triggertypen vorgenommen und erklären Ihnen anhand dieser die Anpassungen, die Sie vornehmen müssen.

Sie haben bei den meisten Triggertypen zwei Optionen, wie Sie diese Trigger anpassen können. Sie können eine zusätzliche Bedingung in den auslösenden Trigger mit aufnehmen oder einen Ausnahme-Trigger definieren. Welche Option für Sie in Frage kommt, hängt erneut von Ihrem individuellen GTM-Setup ab.

Triggertyp 1: Seitenaufruf

Tags mit dem Triggertyp "Seitenaufruf" müssen Sie zukünftig auf den Triggertyp "Fenster geladen" wechseln. Das ist wichtig, da wir in Schritt 1 das Usercentrics Skript auf "Seitenaufruf" feuern lassen und das Skript erst den Einwilligungsstatus des Users abrufen muss, um diesen rechtzeitig an den GTM weitergeben zu können. Erst nachdem der Einwilligungsstatus geladen ist, können die anderen Tags via GTM gesteuert werden.

Das Usercentrics Skript sollte das einzige Tag sein, das beim Event "Seitenaufruf" gefeuert wird.

Falls Sie deshalb in eine Race Condition mit Ihren Tags kommen, lesen Sie sich bitte den Abschnitt Alternative Triggerlogik über das Event consents_initialized durch.

Option 1: Bedingung im auslösenden Trigger

Möchten Sie eine zusätzliche Bedingung im auslösenden Trigger hinterlegen, sollten Sie für jedes Ihrer Tags einen separaten auslösenden Trigger vom Typ "Fenster geladen" erstellen.

Bearbeiten Sie den Trigger und wählen die Option "Einige Ereignisse, die beim Laden eines Fensters ausgelöst werden" aus. Hier wählen Sie jetzt Ihre zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - true".

Opt-In Trigger Fenster geladen für Google Analytics anpassen im Google Tag Manager

Dieser Trigger wird zukünftig nur noch ausgeführt, wenn die entsprechende Datenschichtvariable für den Service den Wert true enthält und somit ein Opt-in seitens des Users vorliegt.

Sie brauchen für jedes Ihrer Tags einen separaten Trigger, da jedes Tag einer anderen Datenschichtvariable zugehörig ist. Das Tag für "Google Analytics" ist abhängig von der Datenschichtvariable "Google Analytics", das Tag für "Criteo" muss allerdings eine Abhängigkeit von der Variable "Criteo" aufweisen.

Option 2: Ausnahme-Trigger anlegen

Möchten Sie bei Ihren Tags lieber einen Ausnahme-Trigger hinterlegen, so benötigen Sie für jedes Tag einen separaten Ausnahme-Trigger vom Typ "Fenster geladen".

Beachten Sie: Die Änderung des auslösenden Triggers vom Typ "Seitenaufruf" auf den Typ "Fenster geladen" bleibt hiervon unberührt! Ihre auslösenden Trigger müssen weiterhin auf den Typ "Fenster geladen" geändert werden. In diesem Fall können Sie allerdings einen generischen auslösenden Trigger vom Typ "Fenster geladen" für mehrere Tags verwenden.

Legen Sie für jedes Tag einen neuen Trigger vom Typ "Fenster geladen" an und wählen die Option "Einige Ereignisse, die beim Laden eines Fensters ausgelöst werden" aus. Hier wählen Sie jetzt Ihre entsprechende und zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - false".

Opt-out Trigger Fenster geladen für Google Analytics anlegen im Google Tag Manager

Bearbeiten Sie Ihr gewünschtes Tag und fügen den neu erstellten Trigger als Ausnahme hinzu.

Der Ausnahme-Trigger verhindert zukünftig das Feuern des Tags beim Event "Fenster geladen", sollte der Einwilligungsstatus für diesen Service den Wert false aufweisen, was einem Opt-out gleicht.

Triggertyp 2: Klick

Nachfolgend erfahren Sie wie sie Tags, wie z.B. ein Event in Google Analytics, die Sie mit Hilfe eines Klick-Triggers feuern lassen, anpassen können.

Das nachfolgende Vorgehen kann auf weitere Triggertypen adaptiert werden. So sind beispielsweise die Triggertypen der Kategorie "Nutzerinteraktion" (Elementsichtbarkeit, Formular senden, Scrolltiefe, YouTube Video) sehr ähnlich zu den hier gezeigten Anpassungen.

Option 1: Bedingung im auslösenden Trigger

Bearbeiten Sie Ihren auslösenden Trigger und wählen Sie die Option "Einige Klicks (auf Links)" aus. Hier wählen Sie jetzt Ihre zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - true".

Dieser Trigger wird zukünftig nur noch ausgeführt, wenn die entsprechende Datenschichtvariable für den Service den Wert true enthält und somit ein Opt-in seitens des Users vorliegt.

Opt-in Trigger Klick für Google Analytics anpassen im Google Tag Manager
Option 2: Ausnahme-Trigger anlegen

Möchten Sie lieber einen Ausnahme-Trigger hinterlegen, sollten Sie am besten eine Kopie Ihres auslösenden Triggers erstellen.

Öffnen Sie dazu den auslösenden Trigger und klicken oben rechts auf das Menü und wählen "Kopieren" aus. Vergeben Sie anschließend einen aussagekräftigen Namen (in unserem Beispiel benutzen wir das Präfix "Opt-out").

Unter dem Abschnitt "Diesen Trigger auslösen bei" wählen Sie die Option "Einige Klicks (auf Links)" aus. Hier wählen Sie jetzt Ihre zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - false".

Speichern Sie Ihren neu angelegten Trigger.

Bearbeiten Sie Ihr gewünschtes Tag und fügen den neu erstellten Trigger als Ausnahme hinzu.

Der Ausnahme-Trigger verhindert zukünftig das Feuern des Tags, sollte der Einwilligungsstatus für diesen Service den Wert false aufweisen, was einem Opt-out gleicht.

Opt-out Trigger Klick für Google Analytics anlegen im Google Tag Manager

Triggertyp 3: Benutzerdefiniertes Event

Sollten Sie Tags über benutzerdefinierte Events feuern, stellen Sie zuerst sicher, dass Ihr benutzerdefiniertes Event nach dem Usercentrics Event consents_initialized gefeuert wird.

Das ist wichtig, da der Einwilligungsstatus des Users erst beim Event consents_initialized für den GTM zur Verfügung steht.

Falls Sie deshalb in eine Race Condition mit Ihren Tags kommen, lesen Sie sich bitte den Abschnitt Alternative Triggerlogik über das Event consents_initialized durch.

Option 1: Bedingung im auslösenden Trigger

Bearbeiten Sie Ihren auslösenden Trigger und wählen Sie die Option "Einige benutzerdefinierte Ereignisse" aus. Hier wählen Sie jetzt Ihre zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - true".

Dieser Trigger wird zukünftig nur noch ausgeführt, wenn die entsprechende Datenschichtvariable für den Service den Wert true enthält und somit ein Opt-in seitens des Users vorliegt.

Opt-in Trigger benutzerdefiniertes Ereignis für Google Analytics anpassen im Google Tag Manager
Option 2: Ausnahme-Trigger anlegen

Möchten Sie lieber einen Ausnahme-Trigger hinterlegen, sollten Sie am besten eine Kopie Ihres auslösenden Triggers erstellen.

Öffnen Sie dazu den auslösenden Trigger und klicken oben rechts auf das Menü und wählen "Kopieren" aus. Vergeben Sie anschließend einen aussagekräftigen Namen (in unserem Beispiel benutzen wir das Präfix "Opt-out").

Unter dem Abschnitt "Diesen Trigger auslösen bei" wählen Sie die Option "Einige benutzerdefinierte Ereignisse" aus. Hier wählen Sie jetzt Ihre zuvor angelegte Datenschichtvariable aus und stellen die Bedingung auf "ist gleich - false".

Speichern Sie Ihren neu angelegten Trigger.

Bearbeiten Sie Ihr gewünschtes Tag und fügen den neu erstellten Trigger als Ausnahme hinzu.

Der Ausnahme-Trigger verhindert zukünftig das Feuern des Tags, sollte der Einwilligungsstatus für diesen Service den Wert false aufweisen, was einem Opt-out gleicht.

Opt-out Trigger benutzerdefiniertes Ereignis für Google Analytics anlegen im Google Tag Manager

Alternative Triggerlogik über das Event "consents_initialized"

Sollten Ihre Tags in eine Race Condition kommen und deshalb Timing-Probleme auftreten da der Consentstatus aus dem Usercentrics Skript nicht rechtzeitig zur Verfügung steht, gibt es eine alternative Methode Ihre Tags und Trigger anzupassen.

Hierfür hinterlegen Sie einen zusätzlichen auslösenden Trigger in Ihren Tags, der auf das benutzerdefinierte Event consents_initialized hört. Nachfolgend eine Erklärung dazu:

Das Usercentrics Skript fügt dem DataLayer bis zu zwei mal das Event consents_initialized hinzu. Welches dieser Events in den DataLayer hinzugefügt wird, können Sie im Usercentrics Admin Interface unter "Service Settings" in der Sektion "Advanced Data Processing Settings" unter "Google Tag Manager / Data layer" einstellen.

consents_initialized aus dem localStorage - consents_initialized_storage

Dieses Event wird gefeuert, sobald unser Skript initialisiert wurde und den localStorage des Users ausgelesen hat. Da unser Skript dafür nicht vollständig ausgeführt werden muss, steht dieses Event bereits sehr früh im DataLayer zur Verfügung, noch weit vor dem Event "Seitenaufruf".

Beachten Sie: Wenn ein User noch keine Privatsphäre-Einstellungen vorgenommen hat und in seinem localStorage noch keine Einwilligungsdaten hinterlegt sind, wird dieses Event nicht gefeuert.

consents_initialized vom Usercentrics Server - consents_initialized_settings

Dieses Event wird gefeuert, sobald unser Skript vollständig ausgeführt wurde und alle Daten vom Server angerufen wurden. Dieses Event steht nach dem consents_initialized_storage Event zur Verfügung.

Beide Events haben den gleichen Namen consents_initialized im DataLayer, weshalb Sie darauf achten müssen, dass Ihre Tags nicht zu oft gefeuert werden.

Öffnen Sie dazu das gewünschte Tag und gehen auf "Erweiterte Einstellungen" -> "Optionen für Tag-Auslösung" und wählen dort Ihre gewünschte Einstellung. In den meisten Fällen dürfte "Einmal pro Seite" ausreichend sein, es hängt allerdings erneut von Ihrem individuellen Tagmanager-Setup ab.

Abschluss: Testing über Vorschaufunktion

Ihre Tags und Trigger sollten nun angepasst sein und werden zukünftig nur noch bei einer vorliegenden Einwilligung Ihrer User gefeuert. Bevor Sie die Anpassungen in Google Tag Manager live nehmen, sollten Sie sie allerdings ausgiebig testen.

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

Anschließend rufen Sie Ihre Webseite auf und überprüfen, ob die jeweiligen Tags ohne Ihre Einwilligung gefeuert werden. Das können Sie z.B. im Browser über die DevTools und den "Netzwerk"-Reiter nachvollziehen.

Ihr Implementation-Team unterstützt Sie gerne beim Testen Ihres Setups!

Usercentrics Newsletter
Legal Update
Immer up-to-date: Mit unserem Legal Update halten wir Sie auf dem Laufenden über aktuelle Trends rund ums Thema Datenschutz.
Usercentrics Whitepaper Cover
Neues Whitepaper
Checklisten und praktische Hinweise zum korrekten Umgang mit Cookies und User-Identifiern nach DSGVO.