Checklist de la résolution d'erreur :
1. Tout d'abord, effacez le cache et les cookies de votre navigateur. Dans beaucoup de cas, l'origine du problème peut être reliée à ces derniers. Avant de poursuivre, vérifiez si le problème se résout de lui-même après réinitialisation des données du cache et des cookies.
2. Assurez-vous que la page web finisse de charger avant de prendre la capture dans Données de zones.
3. Vérifiez la période choisie dans le Contexte d'analyse :
- Le tag Contentsquare était-il actif à ce moment-là ?
-
La page a-t-elle subi des changements entre la date de création du zoning et la période sélectionnée ? (par exemple, votre page a été mise à jour le 8 janvier et vous avez créé le zoning le 19 janvier : vous pouvez choisir une période qui commence après le 8 janvier pour votre analyse).
4. Réglez le zoom de votre navigateur à 100% et rafraîchissez la page. Le zoom du navigateur peut être la cause du problème d'affichage du zoning. Après avoir interagi avec la page, la disposition de la couche sera recalculée et devrait s'afficher correctement.
Comment Données de zones et Session Replay collectent-ils les "ressources statiques" nécessaires pour recréer mon site automatiquement ?
Consultez cet article pour en apprendre plus sur la manière dont Contentsquare collecte les ressources statiques de votre site à l'aide des CS Scrapers.
Comment Données de zones et Session Replay utilisent-ils les "ressources live" lorsque les ressources statiques ne sont pas disponibles ?
Si les CS Scrapers ne sont pas en mesure de télécharger et de stocker toutes les ressources statiques, les ressources live utilisent les URL live des ressources d'une page (CSS, images, polices) afin de rendre la page dans les modules Données de zones et Session Replay de Contentsquare.
- Dans Données de zones, si les ressources statiques ne sont pas disponibles, Contentsquare extrait le contenu de votre site afin que vous puissiez l'analyser.
- Dans Session Replay, si les ressources statiques ne sont pas disponibles, vous pouvez sélectionner l'option "Utiliser les ressources live" de manière temporaire dans le lecteur de Session Replay pour pouvoir analyser les données de votre site en ligne.
Pourquoi mes zonings/replays ne s'affichent-ils pas correctement ?
Il peut y avoir plusieurs raisons pour lesquelles Contentsquare n'est pas en mesure de télécharger les ressources statiques de votre site :
Authentification | la ressource est authentifiée (généralement par un cookie) |
Restrictions géographiques | la ressource n'est disponible que pour certaines zones géographiques (généralement par pays) |
VPN | la ressource est derrière un réseau privé et n'est pas disponible sur Internet |
En-têtes / cookies spéciaux
|
la ressource requiert un en-tête ou un cookie spécifique
|
Adresse IP prohibée
|
l'adresse IP de la passerelle-proxy est bloquée par le serveur client cible
|
Comment faire en sorte que les zonings et les replays fonctionnent sur mon site ?
Ci-dessous, vous trouverez les différentes méthodes possibles pour configurer votre site pour qu'il fonctionne avec Contentsquare.
Pour résoudre le problème d'affichage de vos zonings / replays, vous devrez peut-être contacter :
- votre Customer Success Manager
- votre fournisseur de Content Delivery Network (CDN)
Créer un en-tête personnalisé (Méthode préconisée)
La création d'un en-tête personnalisé “X-CONTENTSQUARE-SIGNATURE” pour valider nos requêtes se fait généralement durant votre implémentation de Contentsquare. Si vous n'avez pas déjà implémenté les en-têtes personnalisés et souhaitez le faire, contactez votre CSM pour bénéficier d'une assistance complémentaire.
Raisons pour lesquelles l'en-tête personnalisé est préconisé :
- Cette méthode est à l'épreuve du temps : c'est-à-dire que si nos adresses IP changent, cela n'affectera en rien les fonctionnalités de Données de zones ou de Session Replay, puisque vous n'utiliserez pas de méthode de liste blanche d'adresses IP.
- Il permet de filtrer et surveiller chaque requête entrante du proxy en filtrant uniquement à l'aide de notre en-tête personnalisé.
- Un en-tête personnalisé est plus sûr qu'un en-tête personnalisé statique.
Comment ça marche :
Lorsque vous créez votre projet Contentsquare, une signature unique est générée. Contentsquare utilise cette signature unique dans l'en-tête de chacune de nos requêtes HTTP. Pour permettre aux requêtes de venir du côté du serveur, vous devrez autoriser la valeur d'en-tête "X-CONTENTSQUARE-SIGNATURE".
Voici les trois (3) éléments qui génèrent votre signature unique :
1. Un timestamp
2. Le domaine de la ressource (par exemple : https://www.cstore.com/other/microsoftteams-image-219_23938923.png)
3. Le secret de votre projet (chaque projet Contentsquare se voit généré un "secret", que Contentsquare stocke, lors de sa création) :
Voici un exemple du processus de génération :
Contentsquare génère un timestamp avec
Date.now()
, dièse le secret du projet obtenu à partir de la configuration du proxy (cf. point 3 ci-dessus). Nous utilisons ensuite le domaine de la ressource (cf. point 2) avec le timestamp et mettons à jour le dièse grâce à ces informations, puis, nous construisons une nouvelle chaîne contenant le timestamp et concaténons le condensé en “base64” à cette dernière. Résultat : "timestamp-dièse"
Exemple de requête d'en-tête :
Comment décoder la signature :
- Analysez la chaîne pour en extraire le timestamp (1674119100708 dans l'exemple ci-dessus).
- Utilisez la ressource du domaine.
- Contentsquare a votre signature secrète (secretSignature). Vous devez maintenant la demander à votre CSM.
Une fois que vous êtes en possession des trois piliers utilisés pour générer la signature, vérifiez les avec ceux de Contentsquare et validez-les.
Comment valider la signature :
- Prenez le secret et utilisez la fonction cryptographique "sha256" dessus.
- Ensuite, mettez le dièse à jour à l'aide du timestamp et du domaine.
- Composez une chaîne avec le timestamp et le condensé crypté en base64 : "{timestamp}-{digestBase64/hash}".
- Selon votre backend, vous devrez mettre au point un processus pour générer dynamiquement la signature et valider les requêtes avec la signature X-CONTENTSQUARE-SIGNATURE.
Pour plus de sécurité, il est possible de vérifier que le timestamp se situe dans une certaine fourchette par rapport au moment où vous le vérifier. Dans l'exemple de code suivant, nous vérifions qu'il ne date pas de plus de 5 minutes : s'il est plus ancien, le code rejette la signature.
Implémentation avec code exemple
Nœud JS :
const crypto = require('crypto');
const secret = 'secretKey'; // Donné par un employé de Contentsquare
receivedHeaderExample = '1617243555555-D9gh1234G56789HijklMnopQrstuvWxYz=';
// Extraction du timestamp et du condensé de l'en-tête reçu
const [timestamp, receivedDigest] = receivedHeaderExample.split('-');
// Exemple de l'étape de sécurité additionnellepour vous assurer que le timestamp
n'est pas trop ancien
const currentTimestamp = Date.now();
si (currentTimestamp - timestamp > 5 * 60 * 1000) {
alors nouvelle erreur ("Validation failed. Timestamp signature is
}
// Recréation de la chaîne utilisée pour générer le condensé
const dataToSign = `${resourceDomain}-${timestamp}`;
// Création d'un nouveau condensé à l'aide des mêmes secret et algorithme
const hmac = crypto.createHmac('sha256', secret);
hmac.update(dataToSign);
const generatedDigest = hmac.digest ('base64')
Mettre les adresses IP de Contentsquare sur liste blanche
Si les adresses IP et domaines de Contentsquare sont bloqués par un pare-feu ou mises sur liste noire côté client, veuillez inclure nos adresses IP et domaines sur liste blanche.
Note : Nos adresses IP seront mises à jour en avril 2023. Il est donc important que vous laissiez les "adresses IP actuelles" en place tout en ajoutant les nouvelles à votre liste blanche.
AWS US
Adresse IP actuelle : 52.18.162.157 (APP & DT scrapper)
Nouvelle adresse IP : 100.24.76.90 (microproxy-production.us-east-1.csq)
Nouvelle adresse IP : 34.192.98.148 (fallback microproxy-production.us-east-1.csq)
AWS EU
Adresse IP actuelle : 52.18.162.157 (App & DT Scrapper)
Nouvelle adresse IP : 54.247.44.196 ( microproxy-production.eu-west-1)
Nouvelle adresse IP : 52.51.9.12 (fallback microproxy-production.eu-west-1)
Azure US
Adresse IP actuelle : 20.75.90.236 (Azure East US Scrapper)
Nouvelle adresse IP : 100.24.76.90 (microproxy-production.us-east-1.csq)
Nouvelle adresse IP : 34.192.98.148 (fallback microproxy-production.us-east-1.csq)
Azure EU
Adresse IP actuelle : 20.67.250.109 (Azure North Europe Scrapper)
Nouvelle adresse IP : 54.247.44.196 (microproxy-production.eu-west-1) .
Nouvelle adresse IP : 52.51.9.12 (fallback microproxy-production.eu-west-1)
Domaines à mettre sur liste blanche :
*.contentsquare.net
*.contentsquare.com
Utiliser un proxy
Contentsquare peut vous aider à outrepasser les restrictions géographiques en utilisant un proxy d'une autre localisation. Les proxys possèdent leurs propres adresses IP et peuvent agir dans une région spécifique du monde.