Content security policy (CSP)
Si votre site implémente une Content Security Policy (CSP), assurez-vous que les sources de contenu utilisées par le Tag sont incluses dans la liste des sources autorisées.
Experience Analytics
Section titled Experience AnalyticsLa configuration CSP suivante permet au Tag de fonctionner sur la majorités des sites web :
Content-Security-Policy: script-src 'unsafe-inline' *.contentsquare.net app.contentsquare.com; child-src blob:; worker-src blob:; img-src *.contentsquare.net; connect-src *.contentsquare.net *.contentsquare.com; frame-src csxd.{crossdomain}script-src 'unsafe-inline' *.contentsquare.net app.contentsquare.com
Le tracking tag provient du domaine t.contentsquare.net, vous devez donc l'autoriser. Des modules optionnels sont chargés à partir de sous-domaines supplémentaires de contentsquare.net.
Le tracking tag est typiquement chargé par un court script inline, vous devez autoriser le chargement des scripts avec 'unsafe-inline'. Même si vous chargez le tag autrement, 'unsafe-inline' est requis pour le tracking cross-domaine : les iframe cross domaine Contentsquare utilisent des scripts inline.
app.contentsquare.com n'est pas utilisé par le tracking tag pour collecter des données. Cependant, lorsque vous créez un zoning dans l'application Contentsquare, un script est injecté dans une iframe pour faciliter l'analyse dans la page et la création du zoning.
child-src blob: / worker-src blob:
Contentsquare utilise les Web Workers, construit à partir d'une URL blob contenant le corps d'une fonction en tant que chaîne de caractères. Les origines du protocole blob: doivent donc être autorisées.
img-src *.contentsquare.net
Contentsquare utilise des appels vers de fausses images afin d'envoyer les données tracées vers nos serveurs. Les sous-domaines de tracking doivent être enregistrés comme des sources autorisées pour les images.
connect-src *.contentsquare.net *.contentsquare.com
Contentsquare utilise XMLHttpRequest pour envoyer les données vers ses serveurs. Les sous-domaines de tracking doivent être enregistrés comme des sources autorisées pour les APIs HTTP.
frame-src csxd.{crossdomain}
Si le tracking cross domain est actif, le Tag devra charger des iframes pour fonctionner. Le tag chargera une iframe pour chaque domaine sur lequel le tracking cross domain est actif. Vous devez les ajouter comme ceci : frame-src csxd.domain1.com csxd.domain2.com.
Voice of Customer
Section titled Voice of CustomerAjoutez la directive suivante pour VoC :
Content-Security-Policy: script-src 'unsafe-inline' *.contentsquare.net app.contentsquare.com; child-src blob:; worker-src blob:; img-src *.contentsquare.net; connect-src *.contentsquare.net *.contentsquare.com; frame-src csxd.{crossdomain}; style-src 'unsafe-inline'style-src: unsafe-inline
Les widgets Voice of Customer appliquent des styles en les injectant en ligne à l'exécution lors du rendu d'un sondage.
Product Analytics (Visual Labeler)
Section titled Product Analytics (Visual Labeler)Ajoutez les directives suivantes pour Product Analytics :
Content-Security-Policy: script-src 'unsafe-inline' 'unsafe-eval' *.contentsquare.net app.contentsquare.com https://cdn.heapanalytics.com https://heapanalytics.com; child-src blob:; worker-src blob:; img-src *.contentsquare.net https://heapanalytics.com; connect-src *.contentsquare.net *.contentsquare.com https://heapanalytics.com; frame-src csxd.{crossdomain}; style-src https://heapanalytics.com; font-src https://heapanalytics.comscript-src 'unsafe-inline' 'unsafe-eval' https://cdn.heapanalytics.com https://heapanalytics.com;
Charge le script du Visual Labeler
img-src https://heapanalytics.com;
Charge les ressources d'images du Visual Labeler
connect-src https://heapanalytics.com;
Utilisé par Visual Labeler pour récupérer les paramètres d'environnement
style-src https://heapanalytics.com;
Charge les feuilles de style du Visual Labeler
font-src https://heapanalytics.com;
Charge les polices personnalisées du Visual Labeler
Content-Security-Policy: script-src 'unsafe-inline' 'unsafe-eval' *.contentsquare.net app.contentsquare.com https://cdn.eu.heap-api.com https://cdn.us.heap-api.com https://heapanalytics.com https://eu.heapanalytics.com; child-src blob:; worker-src blob:; img-src *.contentsquare.net https://heapanalytics.com https://eu.heapanalytics.com; connect-src *.contentsquare.net *.contentsquare.com https://c.eu.heap-api.com https://heapanalytics.com https://eu.heapanalytics.com; frame-src csxd.{crossdomain}; style-src https://heapanalytics.com https://eu.heapanalytics.com; font-src https://heapanalytics.com https://eu.heapanalytics.comscript-src 'unsafe-inline' 'unsafe-eval' https://cdn.eu.heap-api.com https://cdn.us.heap-api.com https://heapanalytics.com https://eu.heapanalytics.com;
Charge le script du Visual Labeler
img-src https://heapanalytics.com https://eu.heapanalytics.com;
Charge les ressources d'images du Visual Labeler
connect-src https://c.eu.heap-api.com https://heapanalytics.com https://eu.heapanalytics.com;
Utilisé par Visual Labeler pour récupérer les paramètres d'environnement
style-src https://heapanalytics.com https://eu.heapanalytics.com;
Charge les feuilles de style du Visual Labeler
font-src https://heapanalytics.com https://eu.heapanalytics.com;
Charge les polices personnalisées du Visual Labeler