Content Security Policy (CSP) ist ein weit verbreiteter Web Sicherheitsstandard, der bestimmte Arten von Injection-basierten Angriffen verhindern soll . Dazu gibt sie Entwicklern die Möglichkeit, die von ihren Anwendungen geladenen Ressourcen zu kontrollieren. 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-Container-Codes zulassen. Dieser Code ist als Inline-JavaScript-Code aufgebaut, der das gtm.js-Skript einfügt. Dafür gibt es mehrere Möglichkeiten, z. B. die Verwendung einer Nonce oder eines Hashwerts. Die empfohlene Methode ist die Verwendung einer
Nonce. Das ist ein nicht erratbarer Zufallswert, der vom Server
für jede Antwort einzeln generiert wird. Geben Sie den Nonce-Wert in der script-src-Anweisung der Content Security Policy 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-fähige Version des Inline-Container-Codes von Tag Manager. Legen Sie das Nonce-Attribut für das Inline-Skript-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 gibt die Nonce dann an alle Skripts weiter, die er der Seite hinzufügt.
Es gibt auch andere Möglichkeiten, die Ausführung eines Inline-Skripts zu aktivieren, z. B. indem Sie den Hashwert des Inline-Skripts in der CSP angeben.
Wenn die empfohlenen Nonce- oder Hashwert-Methoden nicht möglich sind, können Sie das Inline-Skript von Tag Manager aktivieren, indem Sie die 'unsafe-inline'
Anweisung zum script-src Abschnitt der CSP hinzufügen.
Die folgenden Anweisungen sind in der CSP erforderlich, um diese Methode zu verwenden:
| 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 benutzerdefinierter JavaScript-Variablen wird für sie
bei Vorhandensein einer CSP der Wert undefined festgelegt, es sei denn, die
'unsafe-eval' Anweisung ist im script-src Abschnitt der CSP angegeben.
| Anweisung | Inhalt |
|---|---|
| script-src | 'unsafe-eval' |
Vorschaumodus
Damit Sie den Vorschaumodus von Google Tag Manager verwenden können, muss die CSP die folgenden Anweisungen enthalten:
| Anweisung | Inhalt |
|---|---|
| script-src | 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 4
Damit Sie das Google Analytics 4-Tag verwenden können, muss die CSP die folgenden Anweisungen enthalten. Die mit 1 gekennzeichneten Endpunkte sind speziell für Werbe funktionen. Wir empfehlen jedoch, sie bei der ersten Einrichtung einzufügen, damit die 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 Werbeendpunkte: Diese Domains sind nur für GA4-Implementierungen erforderlich, die mit Google Ads verknüpft sind oder Werbefunktionen nutzen.
Google Ads
Damit Sie ein Google Ads-Conversion-, Remarketing- oder Conversion-Verknüpfungs-Tag verwenden können, 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
Damit Sie die Google Ads-Nutzerdaten-Beacons in sicheren Kontexten verwenden 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 |
Der Google Ads-Nutzerdaten-Beacon wird nicht in unsicheren Kontexten ausgeführt. Daher ist die CSP-Konfiguration in diesen Fällen nicht relevant.
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 mit benutzerdefinierten Skripts:
| Anweisung | Inhalt |
|---|---|
| frame-src | https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net |
Für Bild-Tags:
| Anweisung | Inhalt |
|---|---|
| img-src | https://ad.doubleclick.net https://ade.googlesyndication.com |
Merchant Center
Damit Daten an das Merchant Center gesendet werden können, muss die CSP die folgenden Anweisungen enthalten:
| Anweisung | Inhalt |
|---|---|
| script-src | https://*.googletagmanager.com |
| img-src | https://*.merchant-center-analytics.goog |
| connect-src | https://*.merchant-center-analytics.goog |
Service Worker
Damit Sie den Service Worker für erweiterte Übereinstimmungen, Nutzerdaten-Beacons und Google Ads-Conversions verwenden können, muss die CSP die folgenden Anweisungen enthalten:
| Anweisung | Inhalt |
|---|---|
| frame-src | https://www.googletagmanager.com |
Mit dem Tag Assistant Fehler beheben
Verwenden Sie den Tag Assistant, um Probleme mit der Content Security Policy (CSP) zu beheben. Im Tag Assistant wird eine Liste der Ressourcen angezeigt, 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 eine Ressource durch die Content Security Policy auf Ihrer Seite blockiert wird, wird im Bereich Seitenprobleme des Tag Assistant 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.