Tag Manager mit einer Content Security Policy verwenden

Die Content Security Policy (CSP) ist ein weithin unterstützter Websicherheitsstandard, der bestimmte Arten von injection-basierten Angriffen verhindern soll, indem Entwickler die Kontrolle über die von ihren Anwendungen geladenen Ressourcen haben. In diesem Leitfaden erfahren Sie, wie Sie Google Tag Manager auf Websites bereitstellen, die einen Content-Sicherheitsanbieter verwenden.

Aktivieren Sie das Container-Tag, um CSP zu verwenden.

Wenn Sie Google Tag Manager auf einer Seite mit einem CSP verwenden möchten, muss der CSP die Ausführung Ihres Tag Manager-Container-Codes zulassen. Dieser Code wird als Inline-JavaScript-Code erstellt, der das gtm.js-Script einschleust. Es gibt mehrere Möglichkeiten, dies zu tun, z. B. die Verwendung eines Nonces oder eines Hashwerts. Wir empfehlen, einen Nonce zu verwenden. Das ist ein nicht zu erratender Zufallswert, der vom Server individuell für jede Antwort generiert wird. Geben Sie den Nonce-Wert in der Anweisung „script-src“ der Content-Security-Policy an:

Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com

Verwenden Sie dann die nonce-sensitive Version des Inline-Tag Manager-Containercodes. Legen Sie das Attribut „nonce“ für das Inline-Script-Element auf denselben Wert fest:

<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(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=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

Tag Manager überträgt den Nonce dann an alle Scripts, die der Seite hinzugefügt werden.

Es gibt auch andere Möglichkeiten, die Ausführung eines Inline-Scripts zu ermöglichen, z. B. durch Angabe des Hashes des Inline-Scripts im CSP.

Wenn die empfohlenen Verfahren für Nonce oder Hash nicht möglich sind, können Sie das Tag Manager-Inline-Script aktivieren, indem Sie die 'unsafe-inline'-Richtlinie dem Bereich script-src der CSP hinzufügen.

Für diesen Ansatz sind die folgenden Anweisungen in der CSP erforderlich:

Anweisung Inhalt
script-src „unsafe-inline“ https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com

Benutzerdefinierte JavaScript-Variablen

Aufgrund der Implementierung von benutzerdefinierten JavaScript-Variablen wird im Falle eines CSP der Wert undefined zurückgegeben, es sei denn, die Richtlinie 'unsafe-eval' ist im Abschnitt script-src des CSP angegeben.

Anweisung Inhalt
script-src 'unsafe-eval'

Vorschaumodus

Damit der Vorschaumodus von Google Tag Manager verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
script-src https://googletagmanager.com https://tagmanager.google.com
style-src https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src Daten von https://fonts.gstatic.com:

Google Analytics 4 (Google Analytics)

Damit das Google Analytics 4-Tag (Google Analytics) verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com https://*.googletagmanager.com
connect-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com

Bei Google Analytics 4-Implementierungen (Google Analytics), bei denen Google-Signale verwendet werden, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
connect-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
frame-src https://td.doubleclick.net https://www.googletagmanager.com

Damit ein Google Ads-Conversion-, Remarketing- oder Conversion-Verknüpfungs-Tag verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net
img-src https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com
https://pagead2.googlesyndication.com https://www.googleadservices.com
https://google.com https://www.google.com.<TLD>
frame-src https://www.googletagmanager.com https://td.doubleclick.net
connect-src https://pagead2.googlesyndication.com https://www.googleadservices.com
https://www.google.com https://google.com

Damit die Google Ads-Beacons für Nutzerdaten in sicheren Kontexten verwendet werden können, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

Das Google Ads-Nutzerdaten-Beacon wird nicht in unsicheren Kontexten ausgeführt. Daher ist in diesen Fällen keine CSP-Konfiguration erforderlich.

Floodlight

Floodlight-Nutzer können CSPs mit den folgenden Konfigurationen aktivieren. Ersetzen Sie <FLOODLIGHT-CONFIG-ID>-Werte entweder durch eine bestimmte Floodlight-Werbetreibenden-ID oder durch *, um jede Werbetreibenden-ID zuzulassen:

Für alle Nutzer:

Anweisung Inhalt
img-src https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
https://www.googletagmanager.com
frame-src https://td.doubleclick.net https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com

Für Beacons vom Typ „Benutzerdefinierte Scripts“ gilt Folgendes:

Anweisung Inhalt
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net

Für Bild-Tags gilt:

Anweisung Inhalt
img-src https://ad.doubleclick.net https://ade.googlesyndication.com

Service Worker

Damit der Dienst-Worker für die erweiterte Abgleichsfunktion, Beacons für Nutzerdaten und Google Ads-Conversions verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:

Anweisung Inhalt
frame-src https://www.googletagmanager.com