Daniel Marx — SEO Consulting – Ihr Experte in Wien

Google Tag Manager abhängig von Zustimmung für Google Analytics laden

Während für Google Analytics & Co klar ist, dass aus DSGVO-Gründen jedenfalls die Einwilligung des Nutzers notwendig ist, ist das für den Google Tag Manager eine noch etwas grauere Grauzone. Denn der GTM setzt „leer“ zwar keinerlei Cookies, sehr wohl stellt er aber eine Verbindung zu Google Servern her und übermittelt so mit der User IP ein personenbezogenes Datum. Daher sollte wohl auch der GTM nur mit Einverständnis des Users geladen werden.

Wird aber nicht nur Google Analytics über den Tag Manager eingebunden, sondern vielleicht auch andere einwilligungspflichtige Dienste, kann es kompliziert werden. Denn damit der oder die abhängigen Dienste nach dem OK des Users auch funktionieren, muss ja zunächst jedenfalls der GTM geladen werden. Und zwar sobald die Einwilligung zu nur einem der dependenten „Cookies“ gegeben wird.

Für das Einholen der Einwilligung des Users nutze ich gerne Borlabs. Wie man damit Google Analytics via GTM einbindet findet man in der offiziellen Dokumentation. Außerdem habe ich auch schon einige Artikel in diesem Blog veröffentlicht.

Zum Glück lässt uns Borlabs sowohl Skripte nach Einwilligung „feuern“, als auch Skripte bis zur Einwilligung blockieren. Und genau das tun wir hier:

Schritt 1: GTM Container einbinden

Der Container Code für den Google Tag Manager Code wird je nach dem entweder über ein im Theme vorgesehenes Feld, die header.php bzw. die functions.php in den <head> der Seite ausgespielt oder alternativ auch als „Essentielles Cookie“ in Borlabs angelegt.

Schritt 2: GTM Container blockieren

Nun legen wir in Borlabs einen Skript Blocker an: Hierzu scannen wir die Seite und suchen als Blockierphrase ganz einfach nach der GTM ID (GTM-XXXXXXX).

→ Man bekommt einen Entspeer-Code:

<script>window.BorlabsCookie.unblockScriptBlockerId('googletagmanager-block');</script>

Schritt 3: Skript-Blocker entsperren

Diesen Ensperrcode können wir nun nutzen, um bei allen „Cookies“ & Trackingdienste die darauf aufbauen – also etwa Google Analytics – vor dem triggernden DataLayer Event :

<script>
window.BorlabsCookie.unblockScriptBlockerId('googletagmanager-block');
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'borlabsOptInGoogleAnalytics',
});
</script>

Somit wird der Google Tag Manager ebenfalls geladen, sobald die Zustimmung zu zumindest einem dependeten „Cookie“ gegeben wird.