
setNamespace Martyyyyyyyyyyyy !
Parmi les fonctions Google Analytics, il en existe une bien pratique, la fonction setNamespace. Vous aurez beau chercher dans l’aide Google Analytics, vous ne trouverez rien. Tapez ce nom de fonction dans Google, c’est assez chiche en réponse….
Elle fait partie des fonctions non documentées de Google Analytics, vous la trouverez si vous décortiquez le ga.js (réservé aux initiés car peu digeste, surtout après les fêtes). Nous allons donc nous créer notre petite documentation pour comprendre l’utilité de cette fonction.
_setNamespace()
_setNamespace(name)
Cette fonction à pour effet de créer un deuxième jeu de cookie (2_utma, 2_utmb etc..) et de prefixer le contenu de ces cookies avec le nom passé en paramètre.
Async Snippet (recommended)
_gaq.push(['_setNamespace', 'liwio']);
Traditional (ga.js) Snippet
pageTracker._setNamespace("liwio");
Paramètres :
String name Prefixe utilisé dans les cookies.
Concrètement quel est le résultat ?
Comme j’ai pu le préciser plus haut, cette fonction à un double effet. D’abord elle va créer un deuxième set de cookies (c’est à dire que les cookies utma, utmb, utmc, utmz vont être créés 2 fois. La 2ème fois ils s’intituleront 2_utma, 2_utmb…), ensuite, le contenu de ces 2ème cookies seront préfixés de l’expression envoyée par la fonction (“liwio” dans les exemples ci-dessus). En image cela équivaut à la capture d’écran ci-contre. Nous retrouvons bien nos deux jeux de cookies et si l’on regarde en détail ces cookies sont précédés de la mention “^liwio”.
Dans quels cas de figure utiliser cette fonction ?
C’est bien beau de créer des cookies supplémentaires mais quel est l’intérêt?
- Dans le cas d’un double tracking. Associé à un nom de tracker, cela rend les deux implémentations complètement indépendantes.
- Dans le cas d’un double tracking avec sous domaine et setAllowhash(false), pour éviter la confusion des customvar, des origines de trafic, page vues etc…
- Dans le cas d’un double tracking avec sous dossiers (_setCookiePath), il y a un bug Google Analytics qui ne recréé pas le cookie utmz et qui utilise celui de la racine. Le setNamespace permet de contourner ce bug.
Cette fonction est cependant à utiliser avec parcimonie car n’étant pas documentée, elle risque de disparaître du jour au lendemain.

Merci Rémi!
C’est surtout là qu’on voit que Google Analytics rejoint les autres outils du marché (je pense notamment à Adobe et WebTrends) qui utilisent justement un namespace pour éviter les effets de bord que tu as mentionné.
Par ailleurs, c’est aussi une indication par Google qu’ils assument (enfin) les travers du marquage multiple!
Bonne fêtes!
Julien