Content security policy (CSP)

Votre site utilise peut-être une “Content Security Policy (CSP)” pour le sécuriser. Pour que le tag Contentsquare fonctionne sur un site qui en est équipé, il faut ajouter les sources utilisées par notre tag à la liste des sources autorisées.

Voici la configuration CSP minimale correspondante requise :

script-src 'unsafe-inline' t.contentsquare.net contentsquare.com; child-src blob:; worker-src blob:; img-src *.contentsquare.net; connect-src *.contentsquare.net; frame-src csxd.{crossdomain}
// with a {crossdomain} for any domain for which cross domain tracking is required (only where applicable)

script-src 'unsafe-inline' t.contentsquare.net

Le tracking tag provient du domaine t.contentsquare.net, vous devez donc l’autoriser. 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.

script-src app.contentsquare.com

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: et 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. Utilisez une wildcard pour anticiper l’ajout de nouveaux sous-domaines. Évitez de spécifier des sous domaines spécifiques.

connect-src *.contentsquare.net

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. Utilisez une wildcard pour anticiper l’ajout de nouveaux sous-domaines. Évitez de spécifier des sous domaines spécifiques.

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. (Exemple : frame-src csxd.domain1.com csxd.domain2.com)