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. Dafür gibt es mehrere Möglichkeiten, z. B. eine Nonce oder einen Hash. 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 Nonce- oder Hash-Ansätze nicht möglich sind, können Sie das Tag Manager-Inline-Script aktivieren, indem Sie die 'unsafe-inline'
-Richtlinie dem Abschnitt script-src
der CSP hinzufügen.
Für diesen Ansatz sind die folgenden Anweisungen in der CSP erforderlich:
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 'unsafe-eval'
-Richtlinie ist im Abschnitt script-src
des CSP angegeben.
script-src 'unsafe-eval'
Vorschaumodus
Damit der Vorschaumodus von Google Tag Manager verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:
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 https://fonts.gstatic.com data:
Google Analytics 4 (Google Analytics)
Damit das Google Analytics 4-Tag (Google Analytics) verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:
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:
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
Google Ads-Conversions
Damit ein Google Ads-Conversion-Tag verwendet werden kann, muss die CSP folgende Anweisungen enthalten:
Für sichere Verbindungen:
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
img-src https://googleads.g.doubleclick.net https://www.google.com https://google.com https://pagead2.googlesyndication.com
frame-src https://www.googletagmanager.com https://td.doubleclick.net
connect-src https://pagead2.googlesyndication.com
Für nicht sichere Verbindungen:
script-src www.googleadservices.com www.google.com www.googletagmanager.com
img-src googleads.g.doubleclick.net www.google.com google.com pagead2.googlesyndication.com
connect-src pagead2.googlesyndication.com
Google Ads-Remarketing
Damit ein Google Ads-Remarketing-Tag verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten.
Für sichere Verbindungen:
script-src https://www.googleadservices.com https://googleads.g.doubleclick.net https://www.google.com
img-src https://www.google.com https://google.com
frame-src https://td.doubleclick.net
Für nicht sichere Verbindungen:
script-src www.googleadservices.com googleads.g.doubleclick.net www.google.com
img-src www.google.com google.com
frame-src td.doubleclick.net
Beacon für Google Ads-Nutzerdaten
Damit Google Ads-Beacons für Nutzerdaten im sicheren Kontext verwendet werden können, muss die CSP folgende Anweisungen enthalten:
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.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 durch eine bestimmte Floodlight-Werbetreibenden-ID oder *
, um jede beliebige Werbetreibenden-ID zuzulassen:
Für alle Nutzer:
img-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
frame-src https://td.doubleclick.net
Für Beacons vom Typ „Benutzerdefinierte Scripts“ in Tag Manager:
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
Für Bild-Tags:
img-src https://ad.doubleclick.net
Für den Einwilligungsmodus:
img-src https://ade.googlesyndication.com