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 |
Google Ads
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 |
Google Ads-Nutzerdaten-Beacon
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 |