Variables Personnalisées Google Analytics – Le guide complet
Dans cet article :
1. Historique des variables personnalisées
2. Fonctionnement des variables personnalisées
3. Clés de lecture des variables personnalisées
4. Trucs et astuces autour des variables personnalisées
5. Conclusion
La fonctionnalité la plus méconnue de Google Analytics se révèle également être la plus puissante. En ces temps de fusion des outils de CRM et d’analytics, en ces temps de datamining à n’en plus finir sur les sites internet, Google Analytics propose une fonctionnalité de personnalisation de l’information qui permet de palier bien des critiques faites à l’égard de l’outil. Je vous propose donc un petit zoom sur les variables personnalisées de Google Analytics. Pour bien comprendre cette fonctionnalité, nous reviendront sur les origines des variables personnalisées (1.), puis nous étudierons leur fonctionnement (2.), nous nous pencherons sur la manière de lire l’information dans Google Analytics (3.) enfin nous vous donnerons quelques trucs et astuces pour en tirer le meilleur partie (4.)
1. Historique
Un outil de web-analytics n’a pas la faculté de tout recueillir lui même. Il existe des données que le site internet peut avoir en sa possession et qu’il souhaiterait insérer dans l’outil d’analytics afin de voir si certains éléments externes ont une influence sur le comportement des internautes. Ces informations peuvent aller du sexe de l’internaute, à son age, sa la religion, sa la taille, le montant de sa commande en passant par le temps qu’il fait dehors etc… Pour tous ces éléments, il est possible de connaitre l’information mais, comment la corréler avec les données de web-analytics ? Si vous êtes nouveau sur Google Analytics, vous n’avez sans doute pas connu la fonction setVar(). Celle-ci permettait d’insérer une information sur l’internaute afin d’isoler des groupes d’internautes. En reprenant l’idée d’au dessus, on pouvait dans le tag Google setVar() insérer l’âge des internautes pour ensuite voir leur comportement par age au sein des rapports Google Anaytics. Vous pouvez encore trouvez le rapport correspondant à cette fonction dans la section visiteurs > valeur personnalisée (“user defined” en anglais). Même si cette fonction continue de fonctionner sur Google Analytics, elle est vouée à disparaitre au profit de ce que nous appelons dorénavant les “variables personnalisées” (CustomVar). Les variables personnalisées sont bien plus puissantes et flexibles.
2. Fonctionnement de variables personnalisées
Alors que le setVar() restait collé à l’internaute ad vitam aeternam, c’est à dire qu’à partir du moment où je disais qu’il est “bouddhiste” toutes les visites suivantes il apparaissait comme bouddhiste. Avec les nouvelles variables personnalisées, il est possible de définir la durée de vie (2.2) de l’information insérée. En outre, les valeurs personnalisées ne permettait d’insérer qu’une seule information à la fois, les variables personnalisées étendent les possibilités de stockage (2.3) de l’information. Il est également possible de catégoriser l’information au sein des CustomVar (2.1) fonctionnalité inexistante auparavant. Enfin, nous verrons comment insérer une variable personnalisée dans l’écosystème Google Analytics (2.4)
2.1 Catégorisation de l’information au sein des CustomVar (Variables Personnalisées)
Les valeurs personnalisés permettaient d’insérer qu’une seule information, ex : setVar(‘male’); Pour insérer plusieurs information il fallait finasser ( setVar(‘sexe:male,age:29,statut:celibataire’) ) puis retraiter les informations sous Excel (Bref, pas intuitif).
Les variables personnalisées permettent de hiérarchiser l’information insérée. Ainsi nous pourrons créer un tiroir “Sexe” et y insérer la valeur “Male”, créer un tiroir “Age”, créer un tiroir “Statut”, dans la limite des tiroirs disponibles (cf 2.3). Concrètement au sein de notre tag Google Analytics cela donnerait la ligne suivante (ne prenez pas en compte les numéros pour le moment) :
- _gaq.push( [ '_setCustomVar' , 1 , 'Sexe' , 'hermaphrodite' , 1 ] );
- _gaq.push( [ '_setCustomVar' , 2 , 'Age' , '29' , 1 ] );
- _gaq.push( [ '_setCustomVar' , 3 , 'Statut' , 'Celibataire' , 1 ] );
2.2 Durée de vie des Custom Var (Variables Personnalisées)
Il existe 3 durées de vie possible à l’information que l’on insert grâce aux CustomVar (expression usuelle pour les variables personnalisées). L’information peut être valable ad vitam aeternam. (ex: Vous êtes catholique - j’aime bien prendre un exemple qui marque les esprits – ). L’information peut être valable uniquement sur la visite en cours (ex: vous vous connectez à l’heure du petit déjeuner, il ne sera plus l’heure du petit déj quand vous vous reconnecterez). L’information peut être valable uniquement sur la page en cours (ex: vous venez de charger la page d’accueil du site, votre prochaine page sera autre chose).
Du point de vu technique cette durée se matérialise de la manière suivante :
- _gaq.push( ['_setCustomVar', 1, 'Religion', 'Catholique', 1] );
- _gaq.push( ['_setCustomVar', 2, 'Moment-du-jour', 'Petit-Dej', 2] );
- _gaq.push( ['_setCustomVar', 3, 'Page', 'Accueil', 3] );
Les chiffres en gras correspondent à la durée souhaitée :
- 1 : Ad vitam aeternam (temps que les cookies ne sont pas effacés). Durée dites “Visitor level”
- 2 : Durée de la session. Durée dite “Session level”
- 3 : Page en cours. Durée dite “Page level”
Il vous incombe donc, lors de la mise en oeuvre des variables personnalisées, de choisir le délais que vous souhaitez accorder à l’information. Autre exemple, dans le contexte d’un site politique, vous pouvez décider que els adhérant au parti sont taggués en “niveau 1″ (durée la plus longue), les donateurs en “niveau 2″ (durée de la session) pour étudier le comportement du donateur lors de sa session de donation, les pages relatives aux personnalités politiques en “niveau 3″.
Ce qu’il faut comprendre de ces durées de vie c’est que les niveaux 1 (visitor level) et 2 (session level) sont liées à l’internaute et au comportement de l’internaute sur le site or, la durée de vie niveau 3 (page level) est liée à la page consultée. Si vous voulez connaitre le taux de rebond des pages produits proposant des promos vs pages produits sans promo, ce type de durée est pour vous.
2.3 Stockage des Custom Var (Variables Personnalisées)
Les custom var c’est un peu comme un appart parisien, on aimerait toujours avoir plus de place, mais malheureusement les mètres carrés sont limités. Officiellement (pour non officiel cf 4.2) il existe 5 tiroirs pour les variables personnalisées, tiroirs que l’on appelle “Slot” dans le jargon du métier. Pour faire simple, un slot ne peut accueillir qu’un seul niveau de durée. On ne mélangera pas au sein d’un même slot des durée différentes. Ainsi le slot 1 ne devra pas accueillir, pour une même visite, des informations liées au visiteur (niveau 1), à la session (niveau 2), à une page (niveau 3). Comme lorsqu’on lance une machine, on ne mélange pas couleur et blanc, là c’est pareil avec les durées. Chaque info ira donc dans un slot différent avec la durée qui va bien. Si nous reprenons l’exemple du dessus, nous retrouvons cette fois ci, en gras, les informations relatives aux slots.
- _gaq.push( ['_setCustomVar', 1, 'Religion', 'Catholique', 1] );
- _gaq.push( ['_setCustomVar', 2, 'Moment-du-jour', 'Petit-Dej', 2] );
- _gaq.push( ['_setCustomVar', 3, 'Page', 'Accueil', 3] );
Les informations de slot et de durée n’ont aucun lien, nous aurions pu mettre une durée niveau 3 (page level) dans le slot 1.
Autre difficulté majeure, dans le cadre des custom var “Visitor level” et “Session level”, la déclaration d’une custom var posterieure à une autre sur le même slot, écrasera la première valeur. Exemple : Si au cours d’une session nous avons les déclarations de varaibles personnalisées qui arrivent dans l’ordre chronologique suivant :
- _gaq.push( ['_setCustomVar', 5, 'Religion', 'Catholique', 1] );
- _gaq.push( ['_setCustomVar', 2, 'Moment-du-jour', 'matin', 2] );
- _gaq.push( ['_setCustomVar', 5, 'Religion', 'Anglican', 1] );
- _gaq.push( ['_setCustomVar', 4, 'Repas', 'diner', 2] );
A la suite de ces déclarations de variables nous aurons dans les rapports un internaute Anglican (slot 5), qui se sera connecté le matin (slot 2) et qui se sera connecté au moment du diner (slot 4). En résumé, seule la ligne 3 écrase la ligne 1 car il y a similarité de slot et de durée (mis en gras pour bien comprendre). C’est le dernier qui a parlé qui a raison
2.4 Insertion d’une variable personnalisée dans le tag Google Analytics
Pour faire une petite synthèse intermédiaire de notre variable personnalisée, celle-ci s’écrit de la manière suivante en asynchrone (ligne 1) et en synchrone (ligne 2)
- _gaq.push( ['_setCustomVar', Slot , Nom , Valeur , Durée ] );
- pageTracker._setCustomVar( Slot , Nom , Valeur , Durée );
Cette information est envoyée à Google Analytics à chaque fois qu’une page est vue où qu’un évènement (au sens GA du terme) survient. Il est donc important que ces custom var soient appelées avant le trackpageview. En cas d’insertion, suivez l’ordre donnée par l’exemple ci-dessous :
var _gaq = _gaq || [];_gaq.push( ['_setAccount', 'UA-10101736-1'] );_gaq.push( ['_setCustomVar', 3, 'Days', 'Wednesday', 2] );_gaq.push( ['_trackPageview'] );
3. Lecture des variables personnalisées
C’est bien beau d’apprendre le fonctionnement des variables personnalisées mais si on ne sait pas où aller chercher l’information dans les rapports ça ne sert à rien. (Je vous vois d’ici dire, “c’est bien vrai”. Mais figurez vous que derrière cette évidence, il y a beaucoup de personnes qui demandent des segmentations en variables personnalisées pour ne jamais aller les regarder… Ca c’est dit). Il y a deux moyens d’accéder aux variables personnalisées, le rapport au sein de la section “visiteurs” (3.1) ou les rapports personnalisés (3.2) de Google Analytics.
3.1 Le rapport “valeurs personnalisées” de la section “visiteurs”
Les variables personnalisées remontent dans un rapport homonyme au sein de la section visiteurs de Google Analytics. Vous y trouverez un rapport avec les dénominations de vos variables, en cliquant sur les noms des variables vous aurez accès à un rapport vous donnant les valeurs. 1er écueil à éviter, les numéros en début de ligne ne correspondent pas aux slots d’insertion de ces variables. 2ème écueil à éviter, les sommes au premier niveau de rapports ne sont jamais équivalent aux sommes du 2ème niveau. En bref, la somme des valeurs ne donnera jamais la somme inscrite dans le rapport de nom (cf capture). La raison est tout à fait cartésienne mais trop longue à expliquer ici (si la réponse vous démange appelez l’agence on se fera une joue de vous répondre : 09 53 13 75 35). Autre point, il n’est pas possible das ces rapport de savoir quelle est la durée de vie que vous avez donné à chaque information. Il faut avoir tout ça en tête.
Dans ce rapport, deux types d’informations sont intéressantes à capturer. D’abord, les Custom Var “Visitor level” et “Session level” peuvent être croisées avec les données de eCommerce (si vous avez paramétré le ecommerce). Autant dire que c’est une mine d’or pour voir si certains critères mènent plus à l’achat. D’autre part, si vous avez bien géré vos custom var vous pouvez avoir une ventilation du trafic sur votre site, que ce soit par catégorie ou type de pages.
3.2 Les variables et rapports personnalisées
Non content d’avoir les variables personnalisées, nous avons aussi les rapports. Que demande le peuple ! Il ne s’agit pas ici d’apprendre à faire des rapports personnalisées, je pars du principe que vous savez les faire car vous avez lu mon super tutorial sur les rapports personnalisés ! (N’essayez pas de cliquer, le tuto n’existe pas encore :-)
Là c’est énorme mine d’or il suffit de se baisser pour ramasser de la valeur ajoutée. Prenons un petit exemple. Misons sur le fait que vous avez customvarisé (libertés avec la langue française) les pages de votre site pour remonter la catégorie. Nous pourrions faire un rapport personnalisé qui vous donnerait le nombre de fois ou l’univers a été l’univers d’entrée sur le site. (Pour peu que vous soyez passé par Liwio, on pourrait aller plus loin en ayant le ROI sur ces univers d’entrée…). Bref vous pourriez voir en un clin d’oeil l’attractivité de vos univers. Croisez ça par source de trafic vous obtenez l’attractivité SEO par catégorie etc…. Bref, l’information n’a de limite que votre imagination.
4 Tips & tricks
Dans ce dédale d’informations, de complexités techniques, de maitrise des outils, le premier conseil que je peux vous donner, c’est : Si réflechir sur ces différentes notions vous emmerde, faites appel à un spécialiste du domaine (Liwio dans le meilleur des cas :-). Sur le plan purement technique il y a plusieurs petits trucs à savoir sur les variables personnalisées. Il est possible d’en avoir plus de 5 slots (4.1), ensuite on ne peut pas insérer ce que l’on veut dans les variables (4.2), enfin c’est un type de rapport qui est lent (4.3)
4.1 Augmenter le nombre de slots des variables personnalisées
Si vous êtes un aficionado de Google Analytics, vous avez déjà farfouillé dans le code source du ga.js Vous y aurez trouvé quelques fonctions non documentés dont la fonction _setMaxCustomVariables qui permet d’envoyer plus de 5 custom var simultanément. Normalement vous ne pouvez pas déclarer plus de 5 custom var sur une seule et même page, celles disposant d’un slot supérieur à 5 ne sont pas prise en compte. Si vous utilisez ma petite fonction sortie de sous les fagots, vous pouvez envoyer de l’information en pagaille et sans limite. Le seul problème que vous aurez c’est que dans l’API et sur les rapports personnalisées vous ne pourrez pas les utilisez car seules les custom var 1 à 5 sont manipulables. En revanche vous y aurez toujours accès grâce aux rapports homonyme dans le rapport de visiteurs. Il faut aussi être conscient du fait qu’il s’agit d’une fonction non documentée qui peut donc disparaître du jour au lendemain.
4.2 Spécificités liées au contenu des variables personnalisées
Les custom var ne peuvent pas dépasser 64 bytes. En français cela veut dire que vous ne pouvez pas insérer une ligne trop longue dans le système. Le nom de votre variable + sa valeur ne peuvent pas dépasser 64 caractères. Si cela dépasse, l’info n’est pas envoyée à Google Analytics. La custom var est tout simplement exclue de l’appel au utm.gif
Autre spécificité, les variables personnalisées sont encodées. En bref, si vous cherchez à y mettre un espace, l’ordinateur va le remplacer par %20. En gros la seule chose à retenir c’est que dans les variables personnalisées il ne faut pas mettre d’espaces (remplacer par des traits d’union ou underscore) et pas de caractères spéciaux (é, à, @ etc…). Faites simple et clair.
4.3 La remontée des rapports de variables personnalisées
S’il y a un truc que les rapports personnalisées vous apprennent c’est la patience. Il faut bien 24h à 48h pour qu’ils remontent dans l’interface de Google Analytics, donc pas de précipitation pour vos analyses. Si vous êtes accro du temps réel, vous pourrez repasser. Il s’agit vraiment d’un outil pour l’analyse pas pour le monitoring.
5. Conclusion
Pour terminer je dirais que les variables personnalisées c’est quelque chose de très puissant mais de complexe à gérer, tant sur le plan de la mise en place que sur le plan de l’analyse des données. C’est une logique particulière qu’il faut avoir parfaitement en tête pour exploiter le mieux possible les possibilités de l’outil Google Analyics. D’aucuns diront que Google Analytics a trop de limites, pas assez de flexibilité. Je répondrais qu’en sachant utiliser les custom var vous pouvez déjà palier à 95% ces critiques. Il faut juste avoir une tête bien faite et des idées, car c’est comme pour tout, si vous ne savez pas ce que vous voulez étudier vous allez vous noyer.
Articles similaires :


Hum… j’ai du mal à comprendre le lien entre cet article et le lien intitulé “a un petit zizi site internet personnalisé ” dans le nuage de mots-clés ci-dessous. C’est pour du seo ?
Merci, je me marre encore
Etonnant un si bon article et si peu de commentaires !
Bravo en tout cas.
Merci c’est sympa
Mis en application sur mon site, dans 72 heures je saurais si j’ai bien fait
Au fait, dans l’exemple
* _gaq.push( ['_setCustomVar', 5, 'Religion', 'Catholique', 1] );
* _gaq.push( ['_setCustomVar', 2, 'Moment-du-jour', 'matin', 2] );
* _gaq.push( ['_setCustomVar', 5, 'Religion', 'Anglican', 1] );
* _gaq.push( ['_setCustomVar', 4, 'Repas', 'diner', 2] );
Religion est écrasé.
Est-ce qu’il y aurait un moyen de conserver non pas le dernier, mais le premier ? (catholique en l’occurence) ?
Bonjour Grey,
Il est possible de conserver le 1er si vous effectuez une condition en javascript. La fonction _getVisitorCustomVar(index) pour les custom var de scope 1.
Cela donnerait quelque chose comme cela.
_gaq.push(function() {var pageTracker = _gat._getTrackerByName(); // Gets the default tracker.
if( pageTracker._getVisitorCustomVar(5) == 'undefined' )
{
_gaq.push( ['_setCustomVar', 5, 'Religion', 'Anglican', 1] );
}
});
Il faut vérifier la syntaxe exacte je n’ai pas testé cette version, mais l’idée est là.
Rémi
[...] La fonctionnalité la plus méconnue de Google Analytics se révèle également être la plus puissante. En ces temps de fusion des outils de CRM et d’analytics, en ces temps de datamining à n’en plus finir sur les sites internet, Google Analytics propose une fonctionnalité de personnalisation de l’information qui permet de palier bien des critiques faites à l’égard de l’outil. Je vous propose donc un petit zoom sur les variables personnalisées de Google Analytics. » Variables Personnalisées Google Analytics – Le guide complet | Deeper WebAnalytics [...]
Bonjour,
Article très intéressant!
Cependant j’aurais une question: ici on ne parle des variables personnalisées insérées dans un tag de trafic; est-il possible d’en insérer dans le tag e-commerce de Google Analytics?
Merci d’avance
Mathilde
Bonjour,
En fait les variables perso sont indépendantes du tag ecommerce. Donc peuvent potentiellement s’insérer au moment du tag ecommerce.
S’il s’agit de variables personnalisées de niveau session, autant insérer les infos dans le tag ecommerce d’après moi. S’il s’agit de flagguer ad vitam eaternam le visiteur alors autant mettre une CV niveau visiteur au moment du déclenchement du tag eco.
Rémi
Bonjour,
Merci pour votre réponse!
Mon problème est que je souhaiterais insérer des variables personnalisées pour chaque ligne de produit dans le tag e-commerce. Ainsi je pourrai avoir des informations précises sur le type de produit commandé (exemple : la remise sur le produit acheté). Je ne sais pas si la variables setCustomVar permet de remonter ce genre d’informations.
Merci d’avance,
Mathilde
Dans ce cas il faut passer par les variables du tag ecommerce comme affiliation, SKU etc…
Bonjour,
Voilà qui éclaire ma lanterne sur l’apport des custom var de GA. Merci et bravo pour cet article complet et très pédagogique.
Une question reste sans réponse. Elle peut paraître fortement candide voire légèrement idiote. Mais j’ai appris que toute question était faite pour être posée, alors je me lance.
Est-ce que les custom var s’appliquent uniquement pour les internautes qui se connectent sur notre site via un identifiant et un mot de passe ?
Pour pouvoir les regrouper selon les différentes Custom Var, ils doivent forcément renseigner les infos demandées quelque part. Alors, où est-ce que ces CV s’implémentent dans le code ? Au niveau du formulaire d’inscription ?
Malgré une consultation acharnée du support GA, je ne suis toujours pas sûr de comprendre la méthode.
Merci d’avance.
Djé.
Bonjour,
Il est possible d’appliquer les variables personnalisées sur n’importe quel type d’internaute. Pas besoin que ceux-ci soient loggués. Prenons un exemple, vous arrivez sur le site de Groupon et vous sélectionnez la ville Marseille, vous pouvez très bien stocker dans une custom var le fait que la personne a une préférence pour les offres “Marseille” et segmenter par la suite les ventes sur ce critère.
Autre exemple, vous arrivez sur un site de rencontre et choisissez “je suis un homme intéressé par les femmes”, ce critère peut-être inscrit dans les variables personnalisées pour une meilleure analyse postérieure.
Enfin, vous pouvez décider d’affecter un ID unique à chaque internaute pour retracer ses différentes sessions dans le temps, là non plus, pas besoin que celui-ci soit loggué.
Les custom var vous permettent de stocker des informations qui ne sont pas nécessairement visibles par Google Analytics avec une implémentation simple mais dont vous avez besoin pour affiner votre analyse.
Rémi
Bonjour Djé,
Il est possible d’appliquer les variables personnalisées sur n’importe quel type d’internaute. Pas besoin que ceux-ci soient loggués. Prenons un exemple, vous arrivez sur le site de Groupon et vous sélectionnez la ville Marseille, vous pouvez très bien stocker dans une custom var le fait que la personne a une préférence pour les offres “Marseille” et segmenter par la suite les ventes sur ce critère.
Autre exemple, vous arrivez sur un site de rencontre et choisissez “je suis un homme intéressé par les femmes”, ce critère peut-être inscrit dans les variables personnalisées pour une meilleure analyse postérieure.
Enfin, vous pouvez décider d’affecter un ID unique à chaque internaute pour retracer ses différentes sessions dans le temps, là non plus, pas besoin que celui-ci soit loggué.
Les custom var vous permettent de stocker des informations qui ne sont pas nécessairement visibles par Google Analytics avec une implémentation simple mais dont vous avez besoin pour affiner votre analyse.
Rémi
Bonjour Rémi,
Merci pour ce super article qui m’a beaucoup appris sur les variables personnalisées !
Tu dis qu’il est possible d’affecter un ID unique à chaque internaute… Peut-on, d’après toi se servir de cet ID dans l’outil “entonnoirs multicanaux” > “Chemins de conversion” afin de retrouver les canaux utilisés par cet internaute précis avant sa conversion ?
(dans mon cas la conversion est un lead, le but est d’analyser les canaux utilisés par les leads convertis en souscription qui m’interesse)
Merci d’avance pour ta réponse,
Julien
Bonjour,
Cela impliquerait de pourvoir appliquer des segments avancés sur le multitouch. Ce qui n’est pas possible.
En tout cas les variables personnalisées ne sont pas accessible pour ce type d’analyses.
A voir si l’API d’export du multitouch permet plus…
Rémi