> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer des données personnalisées

> Créez des données personnalisées pour cibler et segmenter les visiteurs en utilisant vos propres sources de données, telles que des attributs CRM, des variables de gestionnaire de balises ou JavaScript.

La création de données personnalisées vous permet de cibler les visiteurs en fonction de données déjà disponibles, comme les informations de compte utilisateur.

Toutes vos données personnalisées sont disponibles sur la page **Données personnalisées** dans le menu **Configurer** de l'application, où vous pouvez créer et [gérer les données personnalisées](./manage-custom-data).

## Créer une nouvelle donnée personnalisée

Pour créer une nouvelle donnée personnalisée :

1. Cliquez sur **Paramètres** > **Données personnalisées**
2. Cliquez sur **Nouvelle donnée personnalisée** en haut à droite de la page.

Vous devez remplir plusieurs champs pour configurer une donnée personnalisée.

### Structure de la fenêtre de création

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/custom-data/create-custom-data/custom-data-creation.png)
</Frame>

1. Nommez la nouvelle donnée personnalisée.
2. Sélectionnez un projet.
3. Indiquez à Kameleoon comment récupérer la donnée personnalisée.

### Nom de la donnée personnalisée

Donnez à votre donnée personnalisée un nom facilement identifiable.

Si plusieurs sites web sont sélectionnés, vous devez vous assurer que la donnée personnalisée est extraite de tous les sites.

Vous pouvez avoir un maximum de 255 données personnalisées actives.

### Récupération de la valeur

#### Méthode de récupération

Choisissez la méthode de récupération de la valeur de la donnée personnalisée dans le menu déroulant.

Les principaux outils de gestion de balises sont :

* couche de données GTM (`dataLayer`)
* couche de données Commanders Act (`tc_vars`)
* Tealium (`utag.data` et `utag_data`)

Pour ces gestionnaires de balises, vous devez indiquer le nom de la variable que vous souhaitez récupérer.

**Si vous choisissez d'utiliser GTM `dataLayer`**, procédez comme suit pour récupérer les valeurs :

* Si la clé se trouve au niveau 1 du `dataLayer`, saisissez `name` dans le champ **Nom de la variable**.
* Si la clé se trouve au niveau 2 du `dataLayer`, saisissez `properties.countryCode` dans le champ **Nom de la variable**.

**Si vous choisissez d'utiliser un code JavaScript personnalisé** pour récupérer la valeur dont vous avez besoin, vérifiez le code et faites attention si vous utilisez des scripts.

Lorsque vous configurez une donnée personnalisée, votre code doit renvoyer un objet avec deux clés : `value`, contenant la valeur que vous souhaitez fournir pour cette donnée personnalisée, et (facultativement) `override`, avec une valeur booléenne (faux par défaut). Kameleoon exécute le code à nouveau : toutes les 100 ms pendant les trois premières secondes après la première invocation, puis toutes les trois secondes.

Voici un exemple :

```javascript theme={null}
if (! window.myObject) return null; 
// custom data will not be set, but code will run later again

if (window.myObject) return {"value": window.myObject.x, "overwrite": true}; 
// returning a value and setting the custom data

if (window.someObject.value == 3) return {"value": null} 
// stopping the periodic execution of the code, without setting the custom data
```

**Si l'option Kameleoon Activation API est sélectionnée**, votre site web doit effectuer des appels réguliers à la [Kameleoon Activation API](../../../developer-docs/apis/activation-api-js/api-reference/api-reference#kameleoon-api-data).

**Si vous utilisez Kameleoon Feature Experimentation et l'un de nos SDK**, vous devez utiliser la [méthode du SDK Kameleoon](../../../developer-docs/sdks/web-sdks/js-sdk).

#### Type

Sélectionnez le format de la donnée à récupérer dans le menu déroulant.

Le type de donnée peut être :

* unique (exemple : `127`)

* liste (exemple : `126, 127, 128` ; `shoes, dress, coat`)

* liste de comptage (exemple : `shoes: 3, dress: 1, coat: 1`)

* chaîne de caractères (exemple : `woman dress`)

* booléen (exemple : `female = "true/false"`)

* nombre (exemple : `cart amount = "127"`)

#### Portée

Sélectionnez la portée de votre donnée personnalisée dans le menu déroulant :

* **Page :** pour chaque nouvelle page, Kameleoon réinitialise la valeur de la donnée. Par exemple, le montant du panier.
* **Visite :** la valeur de la donnée est réinitialisée à chaque nouvelle visite du visiteur. Par exemple, la géolocalisation.
* **Visiteur :** l'unité de donnée se rapporte au visiteur et non à la visite. Par exemple, female = true.

### Options

Cliquez sur **Suivant** pour accéder aux options disponibles pour votre donnée personnalisée.

#### Utiliser cette donnée uniquement localement à des fins de ciblage

Si votre donnée personnalisée est utilisée uniquement à des fins de ciblage, vous n'avez pas besoin de la stocker sur le serveur. Dans ce scénario, vous devez utiliser l'API `LocalData`, qui permet de préserver l'espace du serveur en ne comptant pas dans la limite des 255 données personnalisées actives. Cependant, veuillez noter que les données personnalisées gérées via l'API `LocalData` ne peuvent pas être utilisées pour le reporting sur la page Résultats.

Si vous choisissez de stocker des données personnalisées sur le serveur, veillez à ne pas enregistrer d'informations sensibles. Sachez également que la valeur de toute donnée personnalisée envoyée au serveur est limitée à 1 000 caractères.

#### Utiliser cette donnée personnalisée comme entrée pour AI Predictive Targeting

Si [le ciblage prédictif par IA](../../ai-predictive-targeting/overview) est activé sur votre projet, vous pouvez choisir d'inclure ou non cette donnée personnalisée comme entrée du modèle prédictif. Les données personnalisées pour lesquelles l'option **Utiliser cette donnée uniquement localement à des fins de ciblage** est activée ne peuvent pas être utilisées comme entrée du modèle, car Kameleoon n'envoie pas les données locales au serveur. N'activez pas cette option si la donnée personnalisée est très ciblée (par exemple, spécifique à des visiteurs individuels ou à de très petits segments).

Le modèle n'accepte que les données personnalisées de type **Nombre** et **Booléen**. Évitez d'ajouter des données sensibles telles que des dates, des horodatages ou des identifiants uniques de visiteur (comme des adresses e-mail ou des numéros de compte client), car ces éléments ne conviennent pas aux modèles prédictifs.

#### Utiliser cette donnée personnalisée comme identifiant unique pour la réconciliation de l'historique multi-appareils

Lorsqu'elle est activée, Kameleoon traite cette donnée personnalisée comme un identifiant unique pour vos visiteurs, qui sera utilisé pour faire correspondre plusieurs visites Kameleoon à un utilisateur unique. En savoir plus [ici](../../../developer-docs/cross-device-experimentation).

#### Enregistrer les valeurs pour la condition de ciblage associée à la donnée personnalisée

Cette option vous permet de définir une liste spécifique de valeurs qui seront ensuite disponibles pour cette donnée personnalisée dans le constructeur de segments.

Dans la fenêtre **Nouvelle donnée personnalisée** (première page du flux de création), cliquez sur **Coller un exemple de code** pour obtenir un exemple de code.

Votre code doit renvoyer de manière synchrone un tableau JavaScript d'objets. Chaque objet de ce tableau doit représenter une valeur possible pour la donnée personnalisée et doit inclure :

* Une clé `value`, contenant la donnée réelle (son type doit correspondre au type défini de la donnée personnalisée).
* Une clé `label`, fournissant une description sous forme de chaîne de caractères pour cette valeur.

Exemple :

```javascript theme={null}
return [{value:'q2f6hsbzpf', label:'First segment'},
{value:'8ney4225y65a', label:'Other segment'},
{value:'3h6vjtz26b', label:'Loyal users'}];
```

Si le format est incorrect, un message d'erreur apparaîtra lorsque vous cliquerez sur **Suivant**.

Une fois votre JavaScript saisi, cliquez sur **Suivant** > **Créer**.

Pour savoir comment utiliser les valeurs de données personnalisées dans le constructeur de segments, consultez [cet](../segments/create-a-segment) article.

## Définir une donnée personnalisée comme condition de ciblage

Pour ajouter une donnée personnalisée à un nouveau segment :

1. Sélectionnez la donnée souhaitée dans l'onglet **Données personnalisées** de la colonne Conditions.
2. Dans le menu déroulant, déterminez la valeur requise de la donnée personnalisée pour qu'un utilisateur soit ciblé.
3. Incluez/excluez les visiteurs répondant à la condition de la donnée personnalisée.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/custom-data/create-custom-data/custom-data-segment.png)
</Frame>

Selon le type de donnée personnalisée, la configuration de la condition de ciblage change (« est vrai/est faux », « contient », « est égal à »).

## Filtrer/répartir par donnée personnalisée sur la page de résultats

Sur la page de résultats d'une expérience, vous pouvez filtrer ou répartir les résultats en fonction d'une donnée personnalisée associée à l'expérience.

[Plus d'informations sur les données personnalisées dans notre documentation développeur](../../../developer-docs/custom-data)
