Die Content Security Policy (CSP) ist ein weit verbreiteter Websicherheitsstandard, der bestimmte Arten von Injection-basierten Angriffen verhindern soll, indem Entwickler die Kontrolle über die von ihren Anwendungen geladenen Ressourcen erhalten. In diesem Leitfaden erfahren Sie, wie Sie Google Tag Manager auf Websites mit einer 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 wird als Inline-JavaScript-Code erstellt, der das gtm.js-Skript einfügt. Dazu gibt es mehrere Möglichkeiten, z. B. die Verwendung einer Nonce oder eines Hashs. Die empfohlene Methode ist die Verwendung einer Nonce. Dies sollte ein nicht erratbarer, zufälliger Wert sein, den der Server für jede Antwort einzeln generiert. Geben Sie den Nonce-Wert in der Content-Security-Policy-Anweisung script-src-elem als nonce-{SERVER-GENERATED-NONCE} an und verwenden Sie die Nonce-fähige Version des Inline-Tag Manager-Containercodes. Legen Sie das Attribut nonce für das Inline-Skriptelement 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 Scripts weiter, die der Seite hinzugefügt werden.
Es gibt auch andere Ansätze, um die Ausführung eines Inline-Skripts zu ermöglichen, z. B. die Angabe des Hash-Werts des Inline-Skripts in der CSP.
Wenn die empfohlenen Nonce- oder Hash-Ansätze nicht möglich sind, können Sie das Inline-Script von Tag Manager aktivieren, indem Sie die Anweisung 'unsafe-inline' dem Abschnitt script-src-elem der CSP hinzufügen.
Der CSP muss Folgendes zulassen, damit dieser Ansatz verwendet werden kann:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com 'unsafe-inline' |
img-src |
https://www.googletagmanager.com |
connect-src |
https://www.googletagmanager.com https://www.google.com |
Benutzerdefinierte JavaScript-Variablen
Aufgrund der Implementierung von benutzerdefinierten JavaScript-Variablen werden sie bei Vorhandensein einer CSP als undefined ausgewertet, es sei denn, die Anweisung 'unsafe-eval' ist im Abschnitt script-src der CSP angegeben.
| Anweisung | Inhalt |
|---|---|
script-src |
'unsafe-eval' |
Vorschaumodus
Damit Sie den Vorschaumodus von Google Tag Manager verwenden können, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com https://tagmanager.google.com |
style-src |
https://www.googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com |
img-src |
https://www.googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com |
font-src |
https://fonts.gstatic.com data: |
Google Analytics
Damit Sie Google Analytics verwenden können, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
img-src |
https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com https://*.google.<TLD> https://*.g.doubleclick.net |
connect-src |
https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com https://*.google.<TLD> https://*.g.doubleclick.net https://pagead2.googlesyndication.com |
frame-src |
https://www.googletagmanager.com |
Wenn Sie Google Analytics ohne Google Ads-Funktionen verwenden möchten, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
img-src |
https://www.googletagmanager.com https://*.google-analytics.com |
connect-src |
https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com |
Google Ads
Wenn Sie ein Google Ads-Conversion-, Remarketing- oder Conversion-Verknüpfungs-Tag verwenden möchten, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com https://www.googleadservices.com https://www.google.com |
img-src |
https://www.googletagmanager.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com https://www.google.com https://www.google.<TLD> |
connect-src |
https://www.googletagmanager.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com https://www.google.com https://www.google.<TLD> https://ad.doubleclick.net |
frame-src |
https://www.googletagmanager.com |
Google Ads-Nutzerdaten
Wenn Sie die Google Ads-Beacons für Nutzerdaten in sicheren Kontexten verwenden möchten, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
connect-src |
https://www.google.com |
frame-src |
https://www.googletagmanager.com |
Das Beacon für Google Ads-Nutzerdaten wird nicht in unsicheren Kontexten ausgeführt. Daher ist die CSP-Konfiguration in diesen Fällen nicht zutreffend.
Floodlight
Wenn Sie Floodlight verwenden möchten, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
img-src |
https://www.googletagmanager.com https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com |
connect-src |
https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com https://ad.doubleclick.net |
frame-src |
https://www.googletagmanager.com |
Wenn Sie benutzerdefinierte Floodlight-Skripts verwenden möchten, muss die CSP zusätzlich zu den oben genannten Punkten Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
frame-src |
https://*.fls.doubleclick.net |
Merchant Center
Damit Sie das Merchant Center verwenden können, muss die CSP Folgendes zulassen:
| Anweisung | Inhalt |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
img-src |
https://*.merchant-center-analytics.goog |
connect-src |
https://*.merchant-center-analytics.goog |
Google Tag Gateway für Werbetreibende
Wenn Sie das Google Tag Gateway für Werbetreibende verwenden, wird das Google-Tag von einem Messpfad auf Ihrer Website (z. B. https://www.example.com/metrics) geladen und sendet Daten an diesen Pfad. Einige Tags senden weiterhin Anfragen an Google-Domains. Behalten Sie daher die für jedes Produkt aufgeführten Anweisungen bei und lassen Sie außerdem Folgendes zu:
| Anweisung | Inhalt | Zweck |
|---|---|---|
script-src-elem |
'self' |
Google-Tag über den Messpfad laden |
img-src |
'self' |
Messanfragen |
connect-src |
'self' |
Messanfragen |
worker-src |
'self' |
Service Worker |
Achten Sie darauf, dass Ihr CDN oder Webserver den Content-Security-Policy-Header Ihrer Website nicht zu Antworten aus Ihrem Messpfad hinzufügt.
Andernfalls kann der Browser den Service Worker blockieren.
Serverseitiges Tagging
Wenn das Google-Tag Daten an einen Servercontainer sendet, muss die CSP auch Ihren Tagging-Server zulassen. Diese Anweisungen ersetzen nicht die für jedes Produkt aufgeführten Anweisungen, z. B. https://www.googletagmanager.com.
Was Sie hinzufügen, hängt davon ab, wo Ihr Tagging-Server gehostet wird:
| Anweisung | Same-Origin-Einrichtung | Subdomain einrichten | Zweck |
|---|---|---|---|
img-src |
'self' |
https://TAGGING_SERVER_DOMAIN |
Messanfragen |
connect-src |
'self' |
https://TAGGING_SERVER_DOMAIN |
Messanfragen |
frame-src |
'self' |
https://TAGGING_SERVER_DOMAIN |
Service Worker |
worker-src |
'self' |
Nicht erforderlich | Service Worker |
script-src-elem |
'self' |
https://TAGGING_SERVER_DOMAIN |
Nur wenn Sie das Google-Tag von Ihrem Tagging-Server laden |
Bei einer Same-Origin-Einrichtung wird der Tagging-Server über einen Pfad auf Ihrer Website bereitgestellt (z. B. https://www.example.com/metrics). Bei einer Subdomain-Einrichtung ersetzen Sie TAGGING_SERVER_DOMAIN durch Ihre Tagging-Server-Domain (z. B. sgtm.example.com).
Achten Sie bei einer Same-Origin-Konfiguration darauf, dass Ihr CDN oder Webserver den Content-Security-Policy-Header Ihrer Website nicht zu Antworten aus dem Tagging-Pfad hinzufügt.
Andernfalls kann der Browser den Service Worker blockieren.
Service Worker
Das Google-Tag verwendet einen Service Worker nur, wenn Sie das Google Tag Gateway für Werbetreibende oder serverseitiges Tagging verwenden. Die für die jeweilige Einrichtung erforderlichen Anweisungen finden Sie unter Google Tag Gateway für Werbetreibende und Serverseitiges Tagging. Wenn Sie beide verwenden, muss die CSP beide zulassen.
Fehlerbehebung mit dem Tag Assistant
Verwenden Sie den Tag Assistant, um Probleme mit der Content Security Policy (CSP) zu beheben. Im Tag Assistant wird die Liste der Ressourcen angezeigt, die durch Ihre 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 auf Ihrer Seite eine Ressource blockiert, wird im Tag Assistant im Bereich Seitenprobleme ein CSP-Problem angezeigt.

Wählen Sie neben dem CSP-Problem Problem ansehen aus, um die Liste aller blockierten Ressourcen auf Ihrer Seite aufzurufen.

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