Content Security Policy (CSP) est un service Web standard de sécurité conçue pour empêcher certains types d'attaques par injection en permettant aux développeurs de contrôler les ressources chargées par leurs applications. Ce guide vous aidera à comprendre comment déployer Google Tag Manager sur les sites utiliser une CSP.
Activer la balise conteneur pour utiliser CSP
Pour utiliser Google Tag Manager sur une page avec une CSP, celle-ci doit autoriser
l'exécution du code de votre conteneur Tag Manager. Ce code est intégré
Code JavaScript qui injecte le script gtm.js
. Il existe plusieurs
façons de faire
comme l'utilisation d'un nonce ou d'un hachage. La méthode recommandée consiste à utiliser
nonce, qui doit être une valeur aléatoire impossible à deviner que le serveur génère
individuellement pour chaque réponse. Fournissez la valeur nonce dans le champ Content-Security-
Règle script-src
:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com
Utilisez ensuite la version non nonce du code du conteneur Tag Manager intégré. Définissez la même valeur pour l'attribut nonce de l'élément de script intégré:
<!-- 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 propage ensuite le nonce à tous les scripts qu'il ajoute la page.
Il existe d'autres approches pour permettre l'exécution d'un script intégré, telles que en fournissant le hachage du script intégré dans CSP.
Si les approches de hachage ou de nonce recommandées ne sont pas envisageables, vous pouvez
activer le script intégré Tag Manager en ajoutant 'unsafe-inline'
à la section script-src
du fournisseur de services cloud.
Les directives suivantes sont nécessaires dans CSP pour utiliser cette approche:
script-src: 'unsafe-inline' https://www.googletagmanager.com
img-src: www.googletagmanager.com
connect-src www.googletagmanager.com
Variables JavaScript personnalisées
Compte tenu de la façon dont les variables JavaScript personnalisées sont implémentées, elles
renvoie undefined
en présence d'une CSP, sauf si 'unsafe-eval'
est fournie dans la section script-src
de la CSP.
script-src: 'unsafe-eval'
Mode aperçu
Pour utiliser le mode Aperçu de Google Tag Manager, la CSP doit inclure le paramètre directives suivantes:
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)
Pour utiliser la balise Google Analytics 4 (Google Analytics), la CSP doit inclure le paramètre directives suivantes:
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
Pour les déploiements de Google Analytics 4 (Google Analytics) à l'aide de signaux Google, CSP doit inclure les directives suivantes:
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)
Pour utiliser la balise Universal Analytics (Google Analytics), la CSP doit inclure le paramètre directives suivantes:
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
Conversions Google Ads
Pour utiliser une balise de conversion Google Ads, la CSP doit inclure les éléments suivants : directives:
Pour des connexions sécurisées:
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
Pour les connexions non sécurisées:
script-src: www.googleadservices.com www.google.com www.googletagmanager.com
img-src: googleads.g.doubleclick.net www.google.com google.com
Remarketing Google Ads
Pour utiliser une balise de remarketing Google Ads, la CSP doit inclure les éléments suivants : .
Pour des connexions sécurisées:
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
Pour les connexions non sécurisées:
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
Balise de données utilisateur Google Ads
Pour utiliser les balises Google Ads pour les données utilisateur lors de l'exécution dans des contextes sécurisés, la CSP doit inclure les directives suivantes:
script-src: https://www.googletagmanager.com
frame-src: https://www.googletagmanager.com
La balise Google Ads pour les informations sur l'utilisateur ne s'exécute pas dans des contextes non sécurisés. CSP donc configuration dans ce cas n'est pas applicable.
Floodlight
Les utilisateurs Floodlight peuvent activer les CSP à l'aide des configurations suivantes. Remplacer
des valeurs <FLOODLIGHT-CONFIG-ID>
avec un
Référence annonceur Floodlight ou *
pour autoriser toutes les références annonceur:
Pour tous les utilisateurs:
img-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
frame-src: https://td.doubleclick.net
Pour les "scripts personnalisés" : dans Tag Manager:
frame-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
Pour les tags d'image:
img-src: https://ad.doubleclick.net
Pour le mode Consentement:
img-src: https://ade.googlesyndication.com