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.
Setup rapide
Section titled Setup rapideVoici 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)
Directives et valeurs
Section titled Directives et valeursscript-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ééz 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 cotenant 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ées 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
Contentsquae utilise XMLHttpRequest pour envoyer les données vers ses serveurs. Les sous-domaines de tracking doivent être enregistrées 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
)
Requêtes
Section titled RequêtesVoici la liste de toutes les requêtes effectuées par le Tracking tag:
Requête | Endpoint | Déclencheur | Méthode | Protocole | Type | Détails |
---|---|---|---|---|---|---|
Pageview | https://c.contentsquare.net/pageview | Exécution du Tag et à l’appel de la commande trackPageview | GET | HTTP/2 | gif | Voir la section dédiée pour plus d’informations |
Événements | https://c.contentsquare.net/events | Voir la section dédiée pour plus d’informations | GET et POST | HTTP/2 | gif | Voir la section dédiée pour plus d’informations |
Quota |
| Pour les projets qui utilisent le recording pipeline avancé, lorsqu’une session est sélectionnée au hasard pour le Session Replay, une requête request au service de Quota sera envoyé au début de la session. Le but de cette requête est de demander au service de Quota s’il reste des crédits dans le projet pour collecter la session courante | POST | HTTP/2 | xhr | Il n’y a pas de paramètre dans la requête pour la requête de quota. |
Transaction | https://c.contentsquare.net/transaction | À l’exécuton de la commande ec:transaction:send | GET | HTTP/2 | gif | Voir la section dédiée pour plus d’informations |
Dynamic variable | https://c.contentsquare.net/dvar | A l’exécution de la commande trackDynamicVariable | GET | HTTP/2 | gif | Voir la section dédiée pour plus d’informations |
Page Event | https://c.contentsquare.net/pageEvent | À l’exécution de la commande trackPageEvent | GET | HTTP/2 | gif | Voir la section dédiée pour plus d’informations |
Session Replay Data Collection |
| Quand la collecte de la session est activée en accord avec le ratio défini dans les paramètres. | POST |
HTTP/2 |
xhr |
FIXME below
SYNC EN/FR |
E-Merchandising | https://c.contentsquare.net/display | Quand le tracking E-merchandising est activé pour le projet | POST | HTTP/2 | xhr | 1 requête par pageview |
Erreurs JavaScript | https://c.contentsquare.net/errors | À chaque pageview. Quand le tracking des erreurs JS est activé. | POST | HTTP/2 | xhr | 1 requête par erreur avec un maximum de 20 requêtes par pageview. |
Voici la liste de toutes les requêtes effectuées par le Tracking tag:
Requête | Endpoint | Déclencheur | Méthode | Protocole | Type | Détails |
---|---|---|---|---|---|---|
Log d’erreurs | https://l.contentsquare.net/log | Le tag log des erreurs sur 10% de ses exécutions. | GET | HTTP/2 | gif | Pour la même erreur, le tag ne loggera que jusqu’à 5 erreurs, quelque soit l’erreur. |