Content Security Policy (CSP) ist ein weit verbreitetes Sicherheitsstandard, der bestimmte Arten von Injection-basierten Angriffen verhindern soll da Entwickler die Kontrolle über die von ihren Anwendungen geladenen Ressourcen haben. In diesem Leitfaden erfahren Sie, wie Sie Google Tag Manager auf Websites bereitstellen, eine CSP nutzen.
Container-Tag aktivieren, um die CSP zu verwenden
Wenn Sie Google Tag Manager auf einer Seite mit einer CSP verwenden möchten, muss die CSP die
Ausführung Ihres Tag Manager-Containercodes. Dieser Code wird inline erstellt.
JavaScript-Code, der das Skript gtm.js
einfügt. Es gibt mehrere Möglichkeiten,
z. B. mit einer Nonce oder einem Hash. Die empfohlene Methode ist die Verwendung eines
nonce, der ein nicht zu erratender Zufallswert sein sollte, der vom Server generiert wird
für jede Antwort einzeln. Geben Sie den Nonce-Wert im Feld „Content-Security-
Richtlinie script-src
:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com
Verwenden Sie dann die nicht aufrufbare Version des Inline-Containercodes für Tag Manager. Legen Sie für das Nonce-Attribut im Inline-Skriptelement 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 leitet die Nonce dann an alle Skripts weiter, die auf der Seite.
Es gibt noch andere Ansätze, um die Ausführung eines Inline-Skripts zu ermöglichen: da sie den Hash des Inline-Skripts in der CSP angeben.
Wenn die empfohlenen Nonce- oder Hash-Methoden nicht praktikabel sind, können Sie
das Tag Manager-Inline-Skript aktivieren, indem Sie 'unsafe-inline'
hinzufügen
in den Abschnitt script-src
der CSP.
Die CSP benötigt die folgenden Anweisungen, um diesen Ansatz zu verwenden:
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 bei einer CSP als undefined
ausgewertet, es sei denn, 'unsafe-eval'
wird im Abschnitt script-src
der CSP angegeben.
script-src: 'unsafe-eval'
Vorschaumodus
Damit der Vorschaumodus von Google Tag Manager verwendet werden kann, muss die CSP Folgendes enthalten: folgenden Anweisungen:
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 Folgendes enthalten: folgenden Anweisungen:
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 Bereitstellungen von Google Analytics 4 (Google Analytics) mit Google-Signalen Die CSP muss 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
Universal Analytics (Google Analytics)
Damit das Universal Analytics-Tag (Google Analytics) verwendet werden kann, muss die CSP Folgendes enthalten: folgenden Anweisungen:
script-src: https://www.google-analytics.com https://ssl.google-analytics.com
img-src: https://www.google-analytics.com
connect-src: https://www.google-analytics.com
Google Ads-Conversions
Damit ein Google Ads-Conversion-Tag verwendet werden kann, muss die CSP Folgendes enthalten: Anweisungen:
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
frame-src: https://www.googletagmanager.com https://td.doubleclick.net
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
Google Ads-Remarketing
Damit ein Google Ads-Remarketing-Tag verwendet werden kann, muss die CSP Folgendes enthalten: Anweisungen.
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://bid.g.doubleclick.net 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: bid.g.doubleclick.net td.doubleclick.net
Beacon für Google Ads-Nutzerdaten
Um die Beacons für Google Ads-Nutzerdaten in sicheren Kontexten zu verwenden, muss die folgenden Anweisungen enthalten:
script-src: https://www.googletagmanager.com
frame-src: https://www.googletagmanager.com
Das Beacon für Google Ads-Nutzerdaten funktioniert nicht in unsicheren Kontexten. Konfiguration ist in diesen Fällen nicht anwendbar.
Floodlight
Floodlight-Nutzer können CSPs mit den folgenden Konfigurationen aktivieren. Ersetzen
<FLOODLIGHT-CONFIG-ID>
-Werte mit einem bestimmten
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 benutzerdefinierte Skripts Beacons in Tag Manager verwenden:
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