Die Content Security Policy (CSP) ist ein weitgehend unterstützter Websicherheitsstandard, der bestimmte Arten von injektionsbasierten Angriffen verhindern soll. Dazu haben Entwickler die Möglichkeit, die von ihren Anwendungen geladenen Ressourcen zu steuern. In diesem Leitfaden erfahren Sie, wie Sie Google Tag Manager auf Websites mit CSP bereitstellen.
Container-Tag für die Verwendung von CSP aktivieren
Wenn Sie Google Tag Manager auf einer Seite mit einer CSP verwenden möchten, muss die CSP die Ausführung des Tag Manager-Containercodes zulassen. Dieser Code ist als Inline-JavaScript-Code aufgebaut, der das gtm.js-Script einfügt. Dafür gibt es verschiedene Möglichkeiten, z. B. die Verwendung eines Nonce oder eines Hash. Die empfohlene Methode ist die Verwendung einer Nonce. Das ist ein nicht erratbarer, zufälliger Wert, den der Server für jede Antwort individuell generiert. Geben Sie den Nonce-Wert in der Content-Security-Policy-Anweisung script-src an:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com
Verwenden Sie dann die Nonce-sensitive Version des Inline-Tag Manager-Containercodes. Legen Sie für das Inline-Script-Element das Attribut „nonce“ 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 gibt die Nonce dann an alle Skripts weiter, die auf 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 Hash des Inline-Scripts im CSP.
Wenn die empfohlenen Nonce- oder Hash-Ansätze nicht möglich sind, kann das Inline-Script von Tag Manager aktiviert werden, indem Sie die 'unsafe-inline'-Anweisung zum script-src-Abschnitt der CSP hinzufügen.
Für diesen Ansatz sind die folgenden Anweisungen im CSP erforderlich:
| Anweisung | Inhalt |
|---|---|
| script-src | 'unsafe-inline' https://www.googletagmanager.com |
| img-src | www.googletagmanager.com |
| connect-src | www.googletagmanager.com www.google.com |
Benutzerdefinierte JavaScript-Variablen
Aufgrund der Implementierung von benutzerdefinierten JavaScript-Variablen wird bei Vorhandensein einer CSP der Wert undefined zurückgegeben, sofern die 'unsafe-eval'-Anweisung nicht im script-src-Abschnitt der CSP angegeben ist.
| Anweisung | Inhalt |
|---|---|
| script-src | 'unsafe-eval' |
Vorschaumodus
Damit Sie den Vorschau-Modus von Google Tag Manager verwenden können, 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 | https://fonts.gstatic.com-Daten: |
Google Analytics 4
Damit das Google Analytics 4-Tag verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten. Endpunkte, die mit 1 gekennzeichnet sind, sind speziell für Werbefunktionen vorgesehen. Wir empfehlen jedoch, sie bei der Ersteinrichtung einzubeziehen, damit Ihre CSP nicht aktualisiert werden muss, wenn Sie Google Ads später verknüpfen.
| Anweisung | Inhalt |
|---|---|
| script-src | https://*.googletagmanager.com |
| img-src | https://*.google-analytics.com https://*.googletagmanager.com https://*.g.doubleclick.net 1 https://*.google.com 1 https://*.google.<TLD> 1 |
| connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net 1 https://*.google.com 1 https://*.google.<TLD> 1 https://pagead2.googlesyndication.com 1 |
| frame-src | https://www.googletagmanager.com 1 |
1 Werbe-Endpunkte: Diese Domains sind nur für GA4-Implementierungen erforderlich, die mit Google Ads verknüpft sind oder Werbefunktionen nutzen.
Google Ads
Wenn Sie ein Google Ads-Conversion-, Remarketing- oder Conversion-Verknüpfungs-Tag verwenden möchten, 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.<TLD> |
| frame-src | https://www.googletagmanager.com |
| connect-src | https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD> |
Google Ads-Nutzerdaten-Beacon
Wenn Sie die Google Ads-Beacons für Nutzerdaten in sicheren Kontexten verwenden möchten, muss die CSP die folgenden Direktiven 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-Beacon für Nutzerdaten wird nicht in unsicheren Kontexten ausgeführt. Daher ist die CSP-Konfiguration in diesen Fällen nicht anwendbar.
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 eine beliebige 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://www.googletagmanager.com |
| connect-src | https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com https://ad.doubleclick.net |
Für Beacons vom Typ „Benutzerdefinierte Scripts“:
| 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 Service Worker für erweiterten Abgleich, Nutzerdaten-Beacons und Google Ads-Conversions verwendet werden kann, muss die CSP die folgenden Anweisungen enthalten:
| Anweisung | Inhalt |
|---|---|
| frame-src | https://www.googletagmanager.com |
Fehlerbehebung mit dem Tag Assistant
Verwenden Sie Tag Assistant, um Probleme mit der Content Security Policy (CSP) zu beheben. Tag Assistant zeigt die Liste der Ressourcen an, die von Ihrer Content Security Policy blockiert werden.
Öffnen Sie den Tag Assistant und geben Sie die URL Ihrer Website ein. Ihre Website wird in einem neuen Tab geöffnet.
Wenn die Content Security Policy (CSP) auf Ihrer Seite eine Ressource blockiert, wird im Bereich Seitenprobleme von Tag Assistant ein CSP-Problem angezeigt.

Klicken Sie neben dem CSP-Problem auf Problem ansehen, um die Liste aller blockierten Ressourcen auf Ihrer Seite aufzurufen.

Fügen Sie alle blockierten Ressourcen Ihrer Content Security Policy hinzu.