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)

Voici la liste de toutes les requêtes effectuées par le Tracking tag:

FIXME below

RequêteEndpointDéclencheurMéthodeProtocoleTypeDétails
Pageviewhttps://c.contentsquare.net/pageviewExécution du Tag et à l’appel de la commande trackPageviewGETHTTP/2gifVoir la section dédiée pour plus d’informations
Événementshttps://c.contentsquare.net/eventsVoir la section dédiée pour plus d’informationsGET et POSTHTTP/2gifVoir la section dédiée pour plus d’informations
Quota

https://k-aeu1.contentsquare.net/quota (Europe)
https://q-aus1.contentsquare.net/quota (US)

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ée 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 courantePOSTHTTP/2xhrIl n’y a pas de paramètre dans la requête pour la requête de quota.
Transactionhttps://c.contentsquare.net/transactionÀ l’exécution de la commande ec:transaction:sendGETHTTP/2gifVoir la section dédiée pour plus d’informations
Dynamic variablehttps://c.contentsquare.net/dvarA l’exécution de la commande trackDynamicVariableGETHTTP/2gifVoir la section dédiée pour plus d’informations
Page Eventhttps://c.contentsquare.net/pageEventÀ l’exécution de la commande trackPageEventGETHTTP/2gifVoir la section dédiée pour plus d’informations
Session Replay Data Collection
  • Pipeline legacy:https://r.contentsquare.net/recording
  • Pipeline avancé: https://k-aeu1.contentsquare.net/v2/recording (Europe)
    https://k-aus1.contentsquare.net/v2/recording (US)
Quand la collecte de la session est activée en accord avec le ratio défini dans les paramètres. POST HTTP/2 xhrSYNC EN/FR
E-Merchandisinghttps://c.contentsquare.net/displayQuand le tracking E-merchandising est activé pour le projetPOSTHTTP/2xhr1 requête par pageview
Erreurs JavaScripthttps://c.contentsquare.net/errorsÀ chaque pageview. Quand le tracking des erreurs JS est activé.POSTHTTP/2xhr1 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êteEndpointDéclencheurMéthodeProtocoleTypeDétails
Log d’erreurshttps://l.contentsquare.net/logLe tag log des erreurs sur 10% de ses exécutions.GETHTTP/2gifPour la même erreur, le tag ne loggera que jusqu’à 5 erreurs, quelque soit l’erreur.