---
title: Envoyer des custom vars - Web
description: Documentation technique Contentsquare
lastUpdated: 09 April 2026
source_url:
  html: https://docs.contentsquare.com/fr/web/sending-custom-vars/
  md: https://docs.contentsquare.com/fr/web/sending-custom-vars/index.md
---

> Documentation index: https://docs.contentsquare.com/llms.txt
> Use this file to discover all available pages before exploring further.

## Principes généraux

Note

Les custom vars sont envoyées au déclenchement d'un pageview. Il n'existe pas de commande pour les envoyer séparément.

### Utilité

Les **custom vars** sont des informations supplémentaires sur la page, l’utilisateur ou la session qui sont transmises au sein des pageviews.

Elles contiennent généralement des informations issues du datalayer, par exemple :

* le type de page,
* la catégorie du produit,
* la langue ou la région de l’utilisateur,
* la variante de test A/B appliquée à la page.

Ces informations permettent par exemple de segmenter les visiteurs ou de faire des regroupements de page, là où l’URL ne suffirait pas.

### Limites

Chaque custom var est composé d'une clé (max 512 caractères) et d'une valeur (max 255 caractères).

Vous êtes limités à 20 custom vars par projet.\
Vous pouvez mettre à jour jusqu'à 20 custom vars par page.

Chaque custom var porte un indice unique, strictement compris entre 1 et 20. Les custom vars avec des indexes en dehors de cette plage **ne sont pas envoyées**. Les indices sont disponibles pour les utilisateurs dans Contentsquare.

Utilisez un indice cohérent au sein d'un même projet - par exemple, si le "template de page" est enregistré sur l'indice `3`, utilisez cet indice `3` sur toutes les pages du site.

Sauvegarder une custom var crée un cookie qui contient cette information sous forme de chaîne JSON. et dont la valeur est encodée en URI. Cette chaîne peut contenir tous les [caractères autorisés dans une URI ↗](https://fr.wikipedia.org/wiki/Encodage-pourcent).

Attention

Assurez-vous qu'aucune limitation de sécurité sur votre serveur ni qu'aucun filtre à base d'expressions régulières n'empêche l'utilisation de cookies avec cet encodage.

## Définir les custom vars (`setCustomVariable`)

[Tag Configurator Template: Custom Variable ](https://support.contentsquare.com/hc/en-us/articles/37271895488401-CSTC-Template-Custom-Variable)Utilisez le Tag Configurator pour implémenter des variables personnalisées via une interface visuelle.

Pour définir une custom var, utiliser la commande `setCustomVariable` :

```html
<script type="text/javascript">
  window._uxa = window._uxa || [];
  window._uxa.push(["setCustomVariable", num, clé, valeur, scope]);
</script>
```

avec :

* **index** entier > 0 et <= 20

* **name** chaîne de caractères de 512 caractères max (le Tag tronque les caractères supplémentaires)

* **value** chaîne de caractères de 512 caractères max (le Tag tronque les caractères supplémentaires)

* **scope** (optionnel) définit le scope de la custom var et son comportement :

  * Pas de `scope` spécifié (**défaut**):
    * Scopes `visit` et `page`.

  * `2` ou `visit`:
    * Scope `visit`.

  * `3` ou `page`:

    * Scope `page`.
    * Supprimée après un pageview naturel.

  * `4` ou `nextPageOnly`:

    * Scope `nextPageOnly`.
    * Supprimée après un pageview naturel ou un pageview artificiel au prochain appel de la commande `trackPageview`.

Une fois définies, les custom vars sont automatiquement envoyées avec le pageview suivant (naturel ou artificiel).

Définir une custom var avec un `index` existant écrase les `name` et `value` définis.

### Exemples

Définir une custom var dans le scope `visit`, avec l'indice `5`, le nom `cname` et la valeur `cvalue`.

```html
<script type="text/javascript">
  window._uxa.push(["setCustomVariable", 5, "cname", "cvalue", 2]);
</script>
```

Définir une custom var dans les scopes `visit` et `page`, avec l'indice `6`, le nom `cname` et la valeur `cvalue`.

```html
<script type="text/javascript">
  window._uxa.push(["setCustomVariable", 6, "cname", "cvalue"]);
</script>
```

Définir une custom var avec le scope `nextPageOnly`.

```html
<script type="text/javascript">
  // version courte
  window._uxa.push(["setCustomVariable", 6, "cname", "cvalue", 4]);
  // version longue
  window._uxa.push(["setCustomVariable", 6, "cname", "cvalue", "nextPageOnly"]);
</script>
```

### Supprimer des custom vars

* Une custom var peut être supprimée en passant une valeur vide au paramètre `scope`. L'`indice` à utiliser doit être celui de la custom var à supprimer.
* Les custom vars avec le scope `nextPageOnly` sont automatiquement supprimées à l'envoi du prochain pageview natural ou artificiel.

#### Exemples

Supprimer la custom var avec le nom `cname`.

```html
<script type="text/javascript">
  window._uxa.push(["setCustomVariable", 5, "cname", ""]);
</script>
```

Supprimer la custom var avec le nom `cname` du scope `visit`.

```html
<script type="text/javascript">
  window._uxa.push(["setCustomVariable", 6, "cname", "", 2]);
</script>
```

Supprimer la custom var avec le nom `cname` des scopes `visit` et `page`, en passant une valeur vide.

```html
<script type="text/javascript">
  window._uxa.push(["setCustomVariable", 6, "cname", ""]);
</script>
```

## Vérifier l’envoi du ou des custom vars

Pour vérifier que les **custom vars** partent bien, il faut regarder le paramètre **`cvarp` du pageview correspondant** (ou bien consulter l'extension Chrome).

[En savoir plus sur les pageviews](https://docs.contentsquare.com/fr/web/sending-pageviews/)
