Pour savoir quelles données Kameleoon stocke sur ses serveurs backend — principalement à des fins d’analyse et de reporting — lisez l’article collecte de données back-end.
Introduction
Comme toute solution d’analytique web, Kameleoon collecte des données telles que les URL visitées, la version du navigateur et le temps passé sur votre site web. En tant que plateforme d’expérimentation et de personnalisation, Kameleoon nécessite également un accès persistant en temps réel à ces données pour déclencher des expériences et des campagnes de personnalisation avec une latence minimale.
Étant donné que l’environnement d’exécution JavaScript se réinitialise à chaque changement de page, stocker uniquement ces données en mémoire n’est pas possible. Au lieu de cela, Kameleoon lit et écrit les données sur différentes pages web (URL).
Récupérer les données depuis un serveur backend au début de chaque chargement de page est une alternative, mais cette approche présente deux inconvénients :
- Coût de performance : Chaque chargement de page entraîne un appel serveur supplémentaire.
- Coût d’évolutivité : Des requêtes serveur fréquentes dégradent les performances à grande échelle.
Le local storage est une approche plus efficace. Il permet à Kameleoon de stocker des données directement dans le navigateur.
Le local storage comme mécanisme de stockage de données
Kameleoon n’utilise pas de cookies pour stocker des données pour deux raisons :
- Les cookies ne sont pas conçus pour stocker de grandes quantités de données.
- Le navigateur envoie les cookies avec chaque requête HTTP, y compris les requêtes pour des ressources statiques telles que des images, ce qui augmente l’utilisation de la bande passante et réduit les performances.
À la place, Kameleoon utilise le Local Storage, une technologie web standard prise en charge par la plupart des navigateurs. Il fonctionne de manière similaire aux cookies mais prend en charge une capacité de stockage beaucoup plus grande (généralement quelques Mo, selon le navigateur).
Par rapport aux cookies, le Local Storage présente les propriétés suivantes :
- Seul JavaScript peut écrire dans le Local Storage — les serveurs ne le peuvent pas.
- Seul JavaScript peut lire les données du Local Storage.
- Le navigateur n’envoie jamais les données du Local Storage à des serveurs HTTP distants, ce qui le rend plus sécurisé.
Cependant, le Local Storage a une limitation importante : il est limité à un sous-domaine exact unique.
Limitations du local storage pour les données de session unifiées
Contrairement aux cookies — où un script sur http://www.example.com peut créer un cookie accessible depuis buy.example.com — le Local Storage est partitionné par sous-domaine et protocole.
Par exemple, si votre site e-commerce est hébergé sur https://www.randomshop.com mais que votre tunnel de conversion s’exécute sur https://transaction.randomshop.com, le Local Storage ne peut pas partager les données entre ces deux sous-domaines. Cela peut produire des variations d’expérience incohérentes sur le parcours client, affectant à la fois l’expérience utilisateur et la validité de l’expérience.
Kameleoon fournit un mécanisme pour unifier les données de session entre les sous-domaines. Pour plus de détails, consultez Unifier les données de session entre sous-domaines.
Liste des données collectées
Cette page couvre deux catégories de données :
- Données collectées et stockées pour tous les visiteurs (à l’exclusion des visiteurs ayant opté pour le retrait).
- Données collectées à usage interne lorsque les utilisateurs Kameleoon créent des expériences sur la plateforme.
À des fins de confidentialité des données, concentrez-vous sur la première catégorie. La seconde catégorie ne s’applique qu’à un petit nombre d’employés internes.
Kameleoon stocke toujours les données dans un contexte first-party, associé à votre domaine. Kameleoon ne stocke jamais de données tierces sur des domaines appartenant à Kameleoon.
Données stockées pour tous les visiteurs
Données stockées dans le Local Storage
Le Local Storage ne dispose pas de mécanisme d’expiration intégré. Pour contourner ce problème, Kameleoon émule l’expiration de durée de vie en stockant les données avec deux champs :
"value" : L’information stockée.
"expirationDate" : Un horodatage qui définit quand Kameleoon cesse d’utiliser les données.
Exemple :kameleoonLegalConsent: {"value": {"AB_TESTING": true, "PERSONALIZATION": true},"expirationDate":1545297630228}
| Clé | Description | Durée de vie |
|---|
kameleoonVisitorCode | Identifiant unique Kameleoon visitorCode. | 365 jours |
kameleoonData | Données visiteur et de session (par exemple, historique de navigation et informations de session). Kameleoon stocke ces données dans le Local Storage en utilisant un schéma d’encodage simple. La liste complète des données contenues dans cette clé apparaît ci-dessous. | 365 jours |
kameleoonExperiment-${experimentId} | Allocation de variation d’expérience et ID de variation assigné (soit « Reference », l’ID de variation, ou « none » si l’exclusion de trafic est configurée), et la date à laquelle Kameleoon a assigné la variation. | 30 jours (renouvelé à chaque nouvelle visite) |
kameleoonPersonalization-${personalizationId} | L’allocation de variation de personnalisation pour ce visiteur. | 30 jours (renouvelé à chaque nouvelle visite) |
kameleoonGlobalPersonalizationExposition | Le statut d’exposition global du visiteur pour toutes les personnalisations. Une valeur de "false" empêche ce visiteur de voir une personnalisation. Une valeur de "true" permet l’exposition lorsque le visiteur remplit les conditions de ciblage requises. Par défaut, aucune exclusion globale de trafic ne s’applique. Vous pouvez configurer cette valeur dans les paramètres de configuration du projet. | 365 jours |
kameleoonLegalConsent | Consentement légal à l’utilisation de Kameleoon. Le format de la valeur est, par exemple, {"AB_TESTING": true, "PERSONALIZATION": false} ou {"PERSONALIZATION": true}. | 365 jours |
kameleoonOpenTabs | ID des onglets ouverts sur le même site web. | 365 jours |
KameleoonProducts_device_id | Un ID d’appareil unique pour le visiteur. Kameleoon ne stocke cette clé que si vous disposez de l’add-on Product Recommendation. | 365 jours |
kameleoonRequestEvents | Requêtes échouées que Kameleoon ne peut pas envoyer lorsque la page se recharge immédiatement. Ce comportement est spécifique à Safari. | Supprimé une fois la page rechargée. |
La clé kameleoonData stocke les données suivantes pour chaque visite (sur cet appareil uniquement, ou toutes les visites si vous utilisez la réconciliation d’historique cross-device) :
- Custom data
- Type d’appareil (mobile, tablette ou ordinateur de bureau)
- Système d’exploitation
- Nom et version du navigateur
- Taille de l’écran
- Taille de la fenêtre
- Fuseau horaire du navigateur
- Langue du navigateur
- Référent d’origine (canal d’acquisition)
- Nombre de pages vues
- Titre et URL des pages visitées
- Temps passé sur le site web
- Heures de début et de fin de la visite
- Nombre d’onglets ouverts
- Si un ad blocker est actif
- Liste des conversions (clics, transactions et autres événements)
- Liste des personnalisations et A/B tests vus par le visiteur
- Conditions météorologiques actuelles (si la condition de ciblage est active) : température, vent, pluie et autres conditions
- Heure du coucher du soleil (si une condition de ciblage météo est active, car certains critères météo l’exigent)
- Prévisions météorologiques (si la condition de ciblage est active) : température, vent, pluie et autres conditions
- Géolocalisation (si une condition de ciblage de géolocalisation ou de météo est active)
- Adresse IP (si la condition de ciblage est active)
- Données de segmentation externes d’un DMP ou CRM tiers
- Produits vus (si l’add-on Product Targeting est activé)
| Clé | Description | Durée de vie |
|---|
kameleoonClientData | Une copie locale du fichier de configuration distant récupéré par le SDK. Il contient les détails de configuration des feature flags actifs. | Jusqu’à suppression manuelle ou par les paramètres du navigateur. |
kameleoonConsentData | Consentement légal pour les Feature Experiments obtenu du visiteur. | targetingDataCleanupInterval |
kameleoonDataInfo | Informations techniques pour le nettoyage des données et les sessions de visiteurs liées. Requis pour l’expérimentation cross-device. | Jusqu’à ce qu’une requête de tracking réussisse. |
kameleoonForcedExperimentVariation | Une variation d’expérience spécifique requise pour l’évaluation personnalisée d’un feature flag donné. | targetingDataCleanupInterval |
kameleoonForcedFeatureVariation | Variations de fonctionnalités spécifiques utilisées pour la simulation d’un feature flag donné. | Session |
kameleoonTargetingData | Données visiteur et de session, y compris l’historique de navigation et les détails de session, requises à des fins de ciblage. | targetingDataCleanupInterval |
kameleoonTrackingData | Tous les visitor codes présents sur ce navigateur pour les requêtes de tracking. | Jusqu’à ce qu’une requête de tracking réussisse. |
kameleoonVariationData | Variations assignées pour chaque feature flag, utilisées pour maintenir la cohérence du visiteur entre les sessions. | targetingDataCleanupInterval |
La clé kameleoonTargetingData stocke les données suivantes associées au visiteur :
- Custom data
- Conversion
- Vue de page
- Identifiant unique
- Données de géolocalisation
- User agent
- Navigateur
- Appareil
- Cookie
- Kameleoon conversion score (AI Predictive Targeting)
- Système d’exploitation
- Version de l’application
- Données de visites
- Personnalisation
Données stockées dans le Session Storage
| Clé | Description | Durée de vie |
|---|
kameleoonDisabledForVisit | Désactive Kameleoon pour la visite en cours. Kameleoon définit cette clé lorsque vous activez l’option de timeout Désactiver Kameleoon pour toute la visite. | Durée de la session |
kameleoonAnalyticsTrackingTimes | Optimise le nombre d’appels de tracking d’analytique tiers que Kameleoon effectue lorsque vous utilisez une intégration d’analytique web. | Durée de la session |
kameleoonTabId | Un identifiant unique à 8 chiffres qui distingue un onglet de navigateur et empêche le tracking redondant de la même URL de page entre plusieurs événements déclenchés. | Durée de la session |
kameleoonActiveScript | Kameleoon définit cette valeur lorsque le script confirme qu’il est installé sur la page. | Valeur du session storage |
Données stockées dans les cookies
Kameleoon n’utilise qu’un seul cookie pour stocker un identifiant de visiteur généré aléatoirement. Le CDN Kameleoon peut également définir un cookie optionnel lorsqu’il fournit le fichier d’application, sauf si vous auto-hébergez le fichier d’application.Si vous utilisez l’add-on Kameleoon Product Recommendation, Kameleoon stocke deux cookies supplémentaires. Vous pouvez contacter votre Customer Success Manager pour activer une option sans cookies qui stocke ces points de données dans le Local Storage à la place.| Clé | Description | Durée de vie |
|---|
KameleoonProducts_session_code | Un identifiant de session unique. | Durée de la session |
KameleoonProducts_session_last_act | L’horodatage de la dernière activité. | 1 heure |
| Clé | Description | Durée de vie |
|---|
_detectRootDomain | Cookie de test temporaire (valeur=testRootDomain) que Kameleoon utilise pour détecter le domaine principal du site. | Supprimé immédiatement après utilisation. |
kameleoonVisitorCode | L’identifiant unique Kameleoon visitorCode. | 365 jours |
kameleoonReferrer | Cookie temporaire pour les expériences de redirection d’URL. Kameleoon stocke la valeur document.referrer avant que la redirection ne se produise. | Supprimé immédiatement après utilisation. |
kameleoonSimulationFFData | Données requises pour simuler une variation spécifique d’un feature flag. | Session |
Données temporaires stockées uniquement pour un usage interne Kameleoon
Données stockées dans les cookies
| Clé | Description | Durée de vie |
|---|
kameleoonSimulationParameters | Le Mode Simulation Kameleoon utilise ce cookie pour activer la simulation entre les sous-domaines. Sans lui, la simulation ne fonctionne pas correctement si votre site comporte des sous-domaines. Tous les paramètres de requête de simulation doivent être inclus au format JSON encodé en URL à l’aide de JSON.stringify. Par exemple : | |
KEY - kameleoonSimulationParameters, VALUE - {"kameleoon-experiment-id":"266118","kameleoon-simulation":"true","kameleoon-language":"en"} | 1 heure, mais supprimé immédiatement lorsque la simulation est fermée. | |
Données stockées dans le Local Storage
| Clé | Description | Durée de vie |
|---|
kameleoonSimulation | Données requises à des fins de simulation. | 1 heure |
kameleoonSimulationShortURL | L’URL courte de la simulation. | 1 heure |
kameleoonSimulationVisitorData | Toutes les données virtuelles sur le visiteur et ses visites, utilisées à des fins de simulation. | 1 heure |
Données stockées dans le Session Storage
| Clé | Description | Durée de vie |
|---|
kameleoonFullApplicationCode | L’ensemble du codebase Kameleoon, requis pour la simulation. Le fichier d’application de production est optimisé en taille et n’inclut pas tout le code, donc Kameleoon stocke ici la version complète. | 1 heure |
kameleoonVariation-${variationId} | Code et données de variation à des fins de prévisualisation ou de simulation. | 1 heure |
kameleoonRedirectionURL | L’URL absolue de la page lorsque Kameleoon déclenche une expérience de redirection. Kameleoon stocke ceci pour empêcher les boucles de redirection infinies. | Supprimé lorsque le visiteur navigue vers une page différente. |