Traiement des données personnelles
Données personnelles et HTML (Session Replay)
Section titled Données personnelles et HTML (Session Replay)Une session sera enregistrée pour le Session Replay si :
- La fonctionnalité
Session Replay
est activée pour votre compte. - Le seuil défini par le paramètre
Session Replay Recording Rate
n’est pas dépassé.
Pour que le contenu HTML soit envoyé, toutes les conditions suivantes doivent être vérifiées :
- L’utilisateur n’a pas opt-out.
- La session est trackée.
- Le navigateur est compatible.
- La session est marquée comme “Enregistrée par le Session Replay”, via l’utilisation du cookie
_cs_s
- voir la liste complète des cookies.
Options d’enregistrement du Session Replay
Section titled Options d’enregistrement du Session ReplayLorsque le Session Replay est activé et que la session utilisateur est enregistrée, le contenu HTML de la page est envoyé après chaque pageview (naturelle ou artificielle) et chaque mise à jour du DOM (seuls les éléments mis à jour sont envoyés).
L’automasking est désactivé
Section titled L’automasking est désactivé- La valeur des éléments
<input>
de typetext
,email
,password
,search
,tel
,url
et les éléments<input>
sans attributtype
sont remplacés par des points avant l’envoi du HTML, - Tous les chiffres des éléments
<input>
avec un typetypenumber
sont remplacés par 0, - Le contenu des éléments
<textarea>
est remplacé par des points avant l’envoi du HTML, - Le contenu des éléments
<script>
est supprimé, - À part les exceptions ci-dessus, tout le contenu HTML est envoyé, l’élément
<head>
compris, - Le contenu de tous les éléments marqués avec le data attribute
data-cs-mask
est supprimé (voir l’exemple ci-après).
L’automasking est activé
Section titled L’automasking est activé- La valeur des éléments
<input>
de typetext
,email
,password
,search
,tel
,url
et les éléments<input>
sans attributtype
sont remplacés par des points avant l’envoi du HTML, - Tous les chiffres des éléments
<input>
avec un typetypenumber
sont remplacés par 0, - Le contenu des éléments
<textarea>
est remplacé par des points avant l’envoi du HTML, - Le contenu de tous les éléments marqués avec l’attribut de données (data attribute)
data-cs-mask
est supprimé (voir l’exemple ci-après). - Le contenu de tous les éléments marqués avec l’attribut de données (data attribute)
data-cs-capture
est collecté et affiché sauf s’il s’agit d’un élément<input>
ou<textarea>
. - Tous les caractères textuels des éléments qui sont envoyés sont remplacés par “A”.
- Les attributs qui ne sont pas liés au layout sont supprimés - seuls
id
,class
,style
,src
,srcset
,href
,rel
ettype
sont conservés.
Masquer le contenu des pages d’après leur URL
Section titled Masquer le contenu des pages d’après leur URLLorsque votre site affiche des données personnelles sur un ensemble de pages défini, vous pouvez décider d’appliquer l’auto-masking sur ces pages seulement, pour ne pas avoir à masquer ces données sur l’ensemble du site.
Nous proposons deux options :
- Anonymiser toutes les pages sauf… : Toutes les pages sont masquées à l’exception de celles validant une expression régulière.
- Désanonymiser toutes les pages sauf… : Tout le contenu des pages collectées sera supprimé à l’exception des pages validant une expression régulière.
Ces options doivent être activées par votre Implementation Manager.
Bloquer l’enregistrement de certaines pages (Session Replay)
Section titled Bloquer l’enregistrement de certaines pages (Session Replay)Utilisez la commande excludeURLforReplay
pour bloquer l’enregistrement de certaines pages d’après leur URL.
Cette commande est utile dans plusieurs cas :
- Certains enregistrements pour le Session Replay causent des problèmes de performance (lorsque la page contient un nombre important d’images ou de vidéos, par exemple) — vous pouvez bloquer leur enregistrement jusqu’à la résolution du problème,
- Des données personnelles (PII) ont été exposées,
- Vous souhaitez bloquer l’enregistrement de parties complètes de votre site.
window._uxa = window._uxa || [];window._uxa.push(['excludeURLforReplay', <URL_REGEX>]);
Cette commande ne bloque pas les page views, simplement les enregistrements.
Supprimer du contenu ou des données personnelles du HTML enregistré
Section titled Supprimer du contenu ou des données personnelles du HTML enregistréDeux approches sont possibles :
- Utiliser le Contentsquare Personal Data Selector
- Tagger les éléments du DOM
Personal Data Selector
Section titled Personal Data SelectorChaque élément du DOM à masquer doit être identifié par un sélecteur CSS. Ces sélecteurs sont envoyés à l’API Contentsquare sous la forme d’un objet JavaScript. Le contenu de ces éléments sera donc supprimé de l’enregistrement.
L’objet contenant les sélecteurs CSS pour le texte et les attributs doit être envoyé à l’API Contentsquare comme dans cet exemple, avant le chargement du Tag principal :
window._uxa = window._uxa || [];window._uxa.push(['setPIISelectors', {PII Object}]);
La structure du PII Object
est la suivante :
-
PIISelectors
: Liste des sélecteurs CSS separés par des virgules, qui permet aux élements correspondants du DOM d’être masqués par le tag. -
Attributes
: Cette clé permet de supprimer les attributs sur les éléments du DOM qui correspondent aux sélecteurs CSS. Vous pouvez utiliser un tableau pour le noms des attributs comme dans l’exemple ci-dessus.
L’utilisation des deux clés PII Selectors
et Attributes
n’est pas obligatoire : vous pouvez utiliser des sélecteurs d’éléments complets, des sélecteurs d’attributs spécifiques, ou bien les deux, au sein du même objet :
{ PIISelectors: [".css-selector, #css-selector"], // Éléments du DOM à masquer Attributes: [ { selector: "select#month option, select#year option", // Sélecteurs CSS attrName: 'id' // Nom de l'attribut à masquer }, { selector: ".link-page-7", // Sélecteurs CSS attrName: ['href','name'] // Noms des attributs à masquer en tableau } ]};
Tagger les éléments du DOM
Section titled Tagger les éléments du DOMPour exclure du contenu HTML de la page à enregistrer, ajoutez l’attribut data-cs-mask
sur l’élément/les éléments HTML concerné(s): leur contenu sera supprimé du navigateur avant d’être envoyé vers Contentsquare.
HTML de la page |
|
---|---|
HTML enregistré |
|
Vous pouvez également ajouter l’attribut data-cs-mask
avec du JavaScript à condition de le faire avant l’envoi d’une pageview.
Les événements sur des éléments HTML supprimés — Les événements (click, hover, etc.) seront toujours collectés et envoyés vers les serveurs Contentsquare même si les éléments visés ont été supprimés. Ils seront visibles dans l’application en utilisant Live Resources.
Afficher du contenu dans une page HTML intégralement masquée
Section titled Afficher du contenu dans une page HTML intégralement masquéeDeux méthodes sont à votre disposition :
- Utiliser le Contentsquare Personal Data Selector
- Tagger les éléments du DOM
Personal Data Selector
Section titled Personal Data SelectorChaque élément du DOM à afficher est identifié par un sélecteur CSS. Ces sélecteurs sont envoyés à l’API Contentsquare sous la forme d’un objet JavaScript. Le contenu de ces éléments sera donc affiché dans l’enregistrement.
La chaîne de caractères qui contient les sélecteurs CSS séparés par des virgules, pour le texte et les attributs doit être envoyée à l’API Contentsquare, avant le chargement du Tag principal comme dans cet exemple :
window._uxa = window._uxa || [];window._uxa.push(['setCapturedElementsSelector', "#capture-me, .show-me"]);
Tagger les éléments du DOM
Section titled Tagger les éléments du DOMPour afficher un élément HTML dans une page intégralement masquée, ajoutez l’attribut data-cs-capture
sur l’élément HTML concerné.
HTML de la page |
|
---|---|
HTML enregistré |
|
Vous pouvez également ajouter cet attribut avec du JavaScript à condition de le faire avant l’envoi d’une pageview.
Tester le Session Replay
Section titled Tester le Session ReplayPrerequisites
Section titled Prerequisites- Avoir installé Google Chrome.
- Téléchargez l’extension Chrome Contentsquare Tracking Setup Assistant
- Ajoutez l’attribut
data-cs-mask
pour exclure des éléments du tracking. Les données dans les champs de formulaire ne sont pas capturées par défaut, à l’exception des listes déroulantes, qui doivent être masquées. - Activez le masking de la session, aucune expression régulière ne doit être configurée.
- Si vous nous avez déjà fourni une liste de vos adresses IP internes/de bureau pour que nous les ajoutions à notre liste d’exclusion et que vous prévoyez d’effectuer des tests de Session Replay, informez votre Implementation Manager ou Success Manager Contentsquare afin que nous puissions mettre temporairement en pause cette liste d’exclusion. Si vous ne le faites pas et que vous exécutez des tests de Session Replay à partir d’une IP qui figure sur notre liste d’exclusion, votre session de test ne sera pas collectée dans Contentsquare.
Durant les tests
Section titled Durant les tests-
Démarrez un parcours sur votre site web, par exemple un tunnel d’achat.
-
Dans l’extension Contentsquare Tracking Setup Assistant extension, sélectionnez
Turn off anonymisation
afin que le masking ‘AAA’ ne s’applique pas à votre session locale. -
Sélectionnez
Recorded for Session Replay
pour activer l’enregistrement du Session Replay pour votre session. -
Sélectionnez
Trigger testing dvar
pour créer la variable dynamiqueSR Testing
qui identifie votre session.L’enregistrement débute et vous pouvez poursuivre votre parcours.
-
Saisissez des informations personnelles fictives tout au long du parcours.
Ces informations sont souvent affichées sur une page de confirmation — c’est à cette étape que vous devez vérifier qu’elles sont masquées. -
Lorsque vous avez terminé le parcours, fermez l’onglet de session ou supprimez vos cookies.
-
Après 30 minutes, connectez-vous à la plateforme Contentsquare et trouvez le Session Replay contenant la variable dynamique
SR testing
. -
Regardez l’enregistrement en portant attention aux données personnelles :
- ❌ Si des données personnelles apparaissent, recommencez la procédure de test.
- ✅ Si aucune donnée personelle n’est présente, partagez vos résultats avec votre Implemenatation Manager qui pourra désactiver le masking ‘AAA’ après vérification.
Suivre les requêtes Session Replay
Section titled Suivre les requêtes Session ReplayLe contenu HTML est envoyé via une requête à l’un des endpoints ci-dessous, selon la region où vos données sont stockeés :
https://k.aeu1.contentsquare.net/{apiVersion}/recording
https://k.aus1.contentsquare.net/{apiVersion}/recording
https://k.eu1.az.contentsquare.net/{apiVersion}/recording
https://k.us1.az.contentsquare.net/{apiVersion}/recording
https://k.ba.contentsquare.net/{apiVersion}/recording
https://k.bf.contentsquare.net/{apiVersion}/recording
https://k.aa.contentsquare.net/{apiVersion}/recording
https://k.af.contentsquare.net/{apiVersion}/recording
La requête est envoyée avec le cookie _cs_s
dont la valeur se termine par .3
.
Cette requête contient l’intégralité du DOM.
Bloquer des données personnelles dans les URLs
Section titled Bloquer des données personnelles dans les URLsDes données personnelles ne sont pas seulement susceptible d’appaître dans le contenu HTML.
Pour une page donnée, vous devez également masquer les données personnelles qui peuvent se trouver dans :
Des données non masquées peuvent également être exposées dans le module Error Analysis.
Supprimer des données personnelles dans l’URL de la page courante
Section titled Supprimer des données personnelles dans l’URL de la page courantePour supprimer des données personnelles dans l’URL de la page courante, vous devez réécrire l’URL du pageview, et la masquer, avant que le Tag ne la collecte, en utilisant la commande setPath
.
La commande setPath
prend en paramètre le nouveau chemin à collecter en tant qu’URL, par le Tag.
window._uxa = window._uxa || [];window._uxa.push([ 'setPath', '<NOUVEAU_PATH_A_COLLECTER>']);
Cette commande doit être déclenchée sur toutes les pages où l’URL contient des informations personnelles, avant le chargement du Tag. Seul le chemin (path) doit être configuré, pas l’URL complète.
window._uxa = window._uxa || [];window._uxa.push([ 'setPath', '/users/<CS_ANONYMIZED_USER_ID>']);
URL avant masking | URL après masking |
---|---|
https://www.contentsquare.com/users/jon.snow | https://www.contentsquare.com/users/CS_ANONYMIZED_USER_ID |
https://www.contentsquare.com/cartpage/users/jon.snow | https://www.contentsquare.com/users/CS_ANONYMIZED_USER_ID |
Supprimer des données personnelles dans les paramètres d’URL
Section titled Supprimer des données personnelles dans les paramètres d’URLLorsque des données personnes apparaissent les paramètres de requête, utilisez la commande setQuery
pour remplacer la query string dans l’URL par une version masquée.
window._uxa = window._uxa || [];window._uxa.push([ 'setQuery', '<QUERY_STRING_ANONYMISEE>']);
La commande setQuery
prend en paramètre la nouvelle query string à afficher dans l’URL. Cette commande spécifie au Tag de masquer tout ce qui suit le caractère ?
dans l’URL.
Cette commande doit être déclenchée sur toutes les pages où l’URL contient des informations personnelles, avant le chargement du Tag. Seule la query string doit être configurée, pas l’URL complète.
Exemple
Section titled Exemplewindow._uxa = window._uxa || [];window._uxa.push([ 'setQuery', '?user_id=<CS_ANONYMIZED_USER_NAME>&address=<CS_ANONYMIZED_ADDRESS>']);
URL avant masking | URL après masking |
---|---|
https://www.mysite.com/us/makeup/valentines-day/?user_id=jon.snow&address=castle.black | https://www.mysite.com/us/makeup/valentines-day/?user_id=CS_ANONYMIZED_USER_NAME&address=CS_ANONYMIZED_ADDRESS |
https://www.mysite.com/us/makeup/valentines-day/?campaign=valentinesday_feb_2021&user_id=jon.snow&address=castle.black | https://www.mysite.com/us/makeup/valentines-day/?user_id=CS_ANONYMIZED_USER_NAME&address=CS_ANONYMIZED_ADDRESS |
Personnalisez le masking selon le type de paramètre à remplacer, afin que le résultat soit plus explicite :
CS_ANONYMIZED_USER_ID
CS_ANONYMIZED_EMAIL
CS_ANONYMIZED_ADDRESS
…et ainsi de suite.
Masquer les données personnelles dans le referrer
Section titled Masquer les données personnelles dans le referrerMême lorsqu’elles sont masquées dans les URLs et les paramètres de requête, les données personnelles se propagent dans la page suivante du parcours utilisateur via le referrer
du navigateur web. Pour ce cas d’usage, utilisez les commandes préfixées referrer:
ci-dessous afin de les masquer.
Dans l’URL
Section titled Dans l’URLPrenons l’exemple de ce parcours:
- L’utilisateur navigue de
https://www.example.com/users/123456/products/ABCDEF
vershttps://www.example.com/
. - Un pageview est envoyé sur
https://www.example.com/
. - La valeur du referrer dans le navigateur et la requête pageview est
https://www.example.com/users/123456/products/ABCDEF
.
Pour masquer les données personelles dans l’URL du referrer, utilisez la commande referrer:maskUrl
:
var referrers = [ 'https://www.example.com/users/:USER_ID/products/:PRODUCT_ID', 'https://www.example.com/account/cancelOrder/:ORDER_ID', 'https://www.example.com/order/:ORDER_ID/merge/:ORDER_ID'];window._uxa = window._uxa || [];for (var i = 0; i < referrers.length; i++) { window._uxa.push([ 'referrer:maskUrl', referrers[i] ]);}
La valeur des referrer dans les requêtes pageview seront :
https://www.example.com/users/CS_ANONYMIZED_USER_ID/products/CS_ANONYMIZED_PRODUCT_ID
https://www.example.com/account/cancelOrder/CS_ANONYMIZED_ORDER_ID
https://www.example.com/order/CS_ANONYMIZED_ORDER_ID/merge/CS_ANONYMIZED_ORDER_ID
Dans les paramètres de la requête
Section titled Dans les paramètres de la requêtePrenons l’exemple de ce parcours:
- L’utilisateur navigue de
https://www.example.com/confirmation?firstname=jon&lastname=snow
vershttps://www.example.com/
. - Un pageview est envoyé sur
https://www.example.com/
. - La valeur du referrer dans le navigateur et la requête pageview est
https://www.example.com/confirmation?firstname=jon&lastname=snow
.
Pour masquer les données personelles dans les paramètres de la requête du referrer, utilisez la commande referrer:removeQueryString
:
window._uxa = window._uxa || [];window._uxa.push([ 'referrer:removeQueryString']);
La valeur du referrer dans la requête pageview pour la page https://www.example.com/
sera :
https://www.example.com/?
Supprimer des données personnelles dans les erreurs d’API
Section titled Supprimer des données personnelles dans les erreurs d’APIVous devez réécrire l’URL avant que le Tag ne collecte les erreurs d’API et l’URL de la requête, via la commande api-errors:maskUrl
.
La commande api-errors:maskUrl
prend en paramètre l’URL complète exacte à afficher en remplacement de celle contenant les données personelles - pas le chemin, ni la query string. Elle communique au Tag de remplacer l’URL initiale de la requête par celle masquée et de la collecter.
window._uxa = window._uxa || [];window._uxa.push([ 'api-errors:maskUrl', <ANONYMIZED_URL_FOR_API_ERRORS>]);
Cette commande doit être déclenchée sur toutes les pages contenant des données personnelles et qui appellent l’API Contentsquare, avant le chargement du Tag.
Remplacez simplement une partie du chemin - entre deux slashs (/
) - contenant des données personnes, par une variable :
:user_id
devientCS_ANONYMIZED_USER_ID
:address
devientCS_ANONYMIZED_ADDRESS
- sur le même modèle
:email
devientCS_ANONYMIZED_EMAIL
Exemple
Section titled Exemplevar urls = [ 'https://api.net/order/:order_id/merge/:order_id', 'https://api.net/order/:order_id/item', 'https://www.api.nl/nl/ajax/nfs/account/cancelOrder/:order_id'];window._uxa = window._uxa || [];for (var i = 0; i < urls.length; i++) { window._uxa.push([ 'api-errors:maskUrl', urls[i] ]);}
URL avant masking | URL après masking |
---|---|
https://api.net/order/:order_id/merge/:order_id | https://api.net/order/CS_ANONYMIZED_ORDER_ID/merge/CS_ANONYMIZED_ORDER_ID |
https://api.net/order/:order_id/item | https://api.net/order/CS_ANONYMIZED_ORDER_ID/item |
https://www.api.nl/nl/ajax/nfs/account/cancelOrder/:order_id | https://www.api.nl/nl/ajax/nfs/account/cancelOrder/CS_ANONYMIZED_ORDER_ID |
Controlled Exposure
Section titled Controlled ExposureLe tag Contentsquare ne recueille pas le texte saisi dans les champs de type input
ou textarea
.
Si vous avez besoin d’afficher les données personnelles d’un utilisateur, telles que les adresses d’expédition/de livraison, les noms, les numéros de téléphone, les adresses électroniques, le texte dans un champ de formulaire…, vous pouvez utiliser notre mode de collecte et de chifrrement.
Le mode “collecte et chifrrement” permet de collecter, de stocker et d’afficher le texte d’un champ input
, d’un champ textarea
ou de tout autre élément d’une page qui est généralement masqué par le tag, avant d’être envoyé à nos serveurs.
Collecte et chiffrement des données personnelles du code HTML collecté
Section titled Collecte et chiffrement des données personnelles du code HTML collectéIl existe deux méthodes pour collecter et chiffrer les données personnelles à partir du code HTML collecté :
- Utiliser le “Encryption Selector” de Contentsquare
- Tagger les éléments du DOM contenant la donnée personnelle
Encryption Selector
Section titled Encryption SelectorChaque élément du DOM à collecter et à chiffrer est identifié par son sélecteur CSS. Ces sélecteurs sont transmis à l’API par l’intermédiaire d’un objet JavaScript. Le contenu de l’élément identifié est alors chiffré et collecté pour les Session Replays.
L’objet suivant, qui contient des sélecteurs CSS pour le texte et les attributs, doit être transmis à l’API comme suit, avant de déclencher le tag principal :
window._uxa = window._uxa || [];window._uxa.push(['setEncryptionSelectors', {PII Object}]);
Avec plusieurs sélecteurs :
window._uxa = window._uxa || [];window._uxa.push(['setEncryptionSelectors', "#cart, .total-items"]);
Tagging des éléments du DOM
Section titled Tagging des éléments du DOML’attribut data-cs-encrypt
peut être ajouté à un champ de saisie, à un champ textuel ou à tout autre élément.
Au lieu d’être masqué, le texte présent dans ce champ sera chiffré, stocké et mis à disposition pour être exposé dans des conditions spécifiques.
Le processus de chiffrement s’effectue sur la propriété innerText
de l’élément taggé. Il ne s’applique pas aux éléments imbriqués : le texte de l’élément imbriqué ne sera ni masqué ni chiffré. Veillez à ajouter l’attribut data-cs-encrypt
sur les éléments les plus granulaires qui doivent être collectés…
<h2 class="welcoming"> Welcome back <span class="user_name" data-cs-encrypt>John Doe</span></h2>
Vous pouvez également ajouter l’attribut data-cs-encrypt
avec JavaScript, à condition de le faire avant l’envoi d’une page.
Chiffrement des données
Section titled Chiffrement des donnéesPour utiliser Controlled Exposure, toutes les données à collecter doivent être chiffrées. Pour ce faire, vous devrez obtenir une combinaison de clés de chifrrement :
- Clé publique : utilisée par le tag pour chiffrer les données.
- Clé privée : utilisée par l’application Contentsquare pour le déchiffrement.
Comment générer la paire de clés
Section titled Comment générer la paire de clésOption 1: Avec un script Google Chrome
Section titled Option 1: Avec un script Google Chrome-
Copiez le script suivant
function arrayBufferToString(buffer) {const byteArray = new Uint8Array(buffer);let byteString = "";for (let i = 0; i < byteArray.byteLength; i += 1) {byteString += String.fromCodePoint(byteArray[i]);}return byteString;}crypto.subtle.generateKey({name: "RSA-OAEP",hash: "SHA-256",modulusLength: 4096,publicExponent: new Uint8Array([1,0,1])}, true, ["encrypt", "decrypt"]).then((keysObject) => {crypto.subtle.exportKey("pkcs8", keysObject.privateKey).then(result => {const privateKey = btoa(arrayBufferToString(result));console.log(`Private key: `, privateKey);});crypto.subtle.exportKey("spki", keysObject.publicKey).then(result => {const publicKey = btoa(arrayBufferToString(result));console.log(`Public key: `,publicKey);});}); -
Coller le script dans la console Chrome.
-
Appuyez sur Entrée sur votre clavier.
Option 2: Avec OpenSSL ou OpenSSH
Section titled Option 2: Avec OpenSSL ou OpenSSHSur Linux/Mac, vous pouvez ouvrir OpenSSL :
openssl genpkey -out mykey.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096openssl rsa -in mykey.pem -pubout > mykey.pub
Sur Windows vous devrez [installer WSL] (https://docs.microsoft.com/fr-fr/windows/wsl/install).
Comment ajouter une clé publique dans Contentsquare
Section titled Comment ajouter une clé publique dans Contentsquare- Allez dans la Console > Choisissez votre compte > Choisissez votre projet > Allez dans l’onglet “Encryption management”.
- Cliquez sur “Entrer une clé publique”.
- Collez votre clé publique.
- Cliquez sur “Sauvegarder votre clé publique”.
Dé-masquer le texte à l’écran dans Contentsquare
Section titled Dé-masquer le texte à l’écran dans Contentsquare- Sélectionnez l’icône “clé” et choisissez “Dé-masquer le texte à l’écran”.
- Saisissez la clé privée et sélectionnez déchiffrer (tous les Session Replays seront exposés).
User identifier
Section titled User identifierLa fonctionnalité User Identifier permet de rechercher des Session Replays appartenant à des utilisateurs spécifiques, grâce à un identifiant unique. Vous avez ainsi la posibilité de chercher et d’accéder à toutes les sessions associées à cet identifiant, par exemple john@gmail.com
sur la plage sélectionnée. Cette fonctionnalité est particulièrement utile en cas de commentaires ou de plaintes d’utilisateurs.
L’identifiant utilisateur peut être un nom d’utilisateur, un numéro de compte, une adresse e-mail, un numéro de téléphone, un ID client, ou l’ID d’un programme de fidélité. L’identifiant est immédiatelement haché avec une fonction à sens unique avant d’être envoyé à Contentsquare.
Lorsque vous filtrez les Sessions Replay avec un identifiant utilisateur dans Contentsquare, la même fonction de hashage est utilisée et les deux hashs sont comparés afin de trouver les replays qui correspondent à l’identifiant utilisateur.
Implémentation du User Identifier
Section titled Implémentation du User Identifier-
Choisir le bon User Identifier : Optez pour un identifiant unique tel que l’adresse électronique, le nom d’utilisateur ou le numéro de compte client qui est accessible sur le site.
-
Collecte des User Identifiers: Pour collecter le User Identifier,envoyez un événement de page via la fonction
trackPageEvent
avec le préfixe@user-identifier@
:window._uxa = window._uxa || [];window._uxa.push(['trackPageEvent', '@user-identifier@user_email']);Ou si vous tirez le User Identifier de votre data layer :
window._uxa = window._uxa || [];window._uxa.push(['trackPageEvent', '@user-identifier@' + dataLayer.Name]);La valeur du user identifier est limité à 100 caractères.