Vous êtes ici

Google Analytics : domaines, sous-domaines & conversion (Astuce N°8)

Posté dans  

Suite de nos articles sur les subtilités de Google Analytics : comment paramétrer Google Analytics lorsque l'on veut suivre sur un même profil plusieurs domaines ou sous-domaines ? (voir les cas possibles ci-dessous)

Tout d'abord : quel est l'intérêt ? Considérons par exemple le cas où vous possédez un site d'e-commerce et que votre processus de finalisation (panier, confirmation) est hébergé sur un sous-domaine ou un domaine différent de celui qui héberge le site. Si vous ne paramétrez pas bien votre Google Analytics, les commandes effectuées seront considérées comme étant générées par le domaine qui héberge le site (en lien référent), et non par les vraies sources de trafic à l'origine des commandes (Adwords, affiliation, e-mailing, ...) utilisées par le visiteur pour arriver sur le domaine principal. Ce qui signifie tout simplement qu'il est impossible de suivre l'efficacité des investissements e-marketing (impossible de relier l'investissement e-marketing à la transaction finale)

Le principe d'agréger les visites de plusieurs répertoires/sous-domaines/domaines permet donc de faire en sorte que l'expérience du visiteur qui passe par plusieurs de ces parties soit considérée de manière uniforme (une seule source de trafic au début de la visite, suivi du temps de visite global, ...)

Comment faire ? Il faut tout d'abord modifier le code Google Analytics ajouté sur les sites en rajoutant des appels à des fonctions qui permettront d'agréger sur un même profil des visites parcourant plusieurs répertoires, sous-domaines ou domaines composant votre site. Pour s'assurer que le tracking persiste lorsqu'un visiteur change de domaine, vous devrez aussi modifier les liens entre les sous-domaines pour qu'ils incluent des codes de tracking supplémentaires.
Au minimum, certaines fonctions doivent être ajoutées entre la définition du tracker (var pageTracker = _gat._getTracker("UA-12345-1");) et l'appel de la fonction trackPageview qui comptabilise la visite (pageTracker._trackPageview();).

Voici les cas possibles traités par Google Analytics (traduction de l'adresse originale en anglais)

Type de tracking Exemples de domaines Configuration nécessaire
Limité à un sous-répertoire www.example.com/myStore _setCookiePath("/myStore/");
Entre deux sous-répertoires d'un même domaine _setCookiePath("/first/Path/");
_cookiePathCopy("/new/Path/");
Entre un domaine et un sous-répertoire sur un autre domaine _setDomainName("none");
_setAllowLinker(enable);
_setAllowHash(false);
_link();
_linkByPost();
Au sein d'un domaine et ses sous-domaines _setDomainName(".example-petstore.com");
_setAllowHash(false);
Entre plusieurs domaines & sous-domaines _setDomainName("none");
_setAllowLinker(enable);
_setAllowHash("false");
_link();
_linkByPost();
Mesurer un iFrame hébergé sur un autre domaine iframe.src = pageTracker._getLinkerUrl("http://www.my-example-content.com");

N'hésitez pas à cliquer sur les cas particuliers à gauche (liens) pour en savoir plus sur chacune des possibilités. Avec le(s) code(s) modifié(s), toutes les données provenant des sous-répertoires/sous-domaines/domaines sélectionnés remontent maintenant dans un seul et même profil.

Cependant, ce n'est pas encore fini car Google Analytics, dans le paramétrage standard, ne remonte "que" la partie des URLS visitées qui se trouve après le nom de domaine. Par exemple, http://www.exemple1.com/index.html et http://www.exemple2.com/index.html seront considérées comme une même page par Google Analytics (/index.html). Il faut donc préciser à Google Analytics que le paramétrage doit faire remonter les URLs entières (incluant le domaine ou sous-domaine) et non la partie se situant après le premier slash.

Pour cela, vous devez ajouter un filtre à votre profil pour "reconstruire" les URLs qui vont remonter dans Google Analytics :
Vous pouvez créer un filtre « Avancé » à appliquer à votre profil, avec les paramètres suivants :
Type de filtre : Filtre personnalisé > Avancé
Champ A : Nom de l'hôte
Extraire A : (.*)
Champ B : URI de la demande
Extraire B : (.*)
Sortie vers : URI de la demande
Constructeur : /$A1$B1

Ce filtre concatène le nom de l'hôte et la deuxième partie de l'URL pour "reformer" l'URL entière de la page qui a été visitée.

Une fois ce filtre appliqué à votre profil, Google Analytics fera apparaître différemment les deux URLs prises en exemple :
http://www.exemple1.com/index.html
http://www.exemple2.com/index.html

N'hésitez pas à parcourir la page spécifique du site d'aide Google Analytics, ou à nous solliciter pour des projets complexes.

Thomas
Faivre-Duboz
Associé

Commentaires

Bonjour, merci pour ce billet !

Juste une petite précision : la variable _setAllowHash()est obsolète.

En complément, je recommande fortement cette présentation :

http://goo.gl/Frrwa

Bonjour, merci pour ce billet. Ce sujet est en effet complexe. Nous avons un site e-commerce www.domain.com où la transaction se fait sur un sous domaine www.paiement.domain.com. Nous avons lié les 2 sites sous un même compte analytics avec le _gaq.push(['_setDomainName', '.domaine.com'])Cela fonctionne pour les visites et le tunnel de conversion. Mais il attribue toutes les conversions à www.domain.com (referral) et non aux sources de trafics (cpc...). On va tenter de rajouter un _gaq.push(['_addIgnoredRef', '.domain.com']); mais on est pas sur du résultat. Vous auriez un conseil ?
Merci :)

Bonjour,

Non addignoredref ne marchera pas, car il va juste faire comme si c'était du trafic direct, et donc attribuer toutes les conversions au direct.

De ce que je vois le code setdomain name est correctement écrit. Avez-vous respecté un ordre particulier pour l'appel des fonctions du code ?

Cdt,

Bonjour Thomas,
merci pour ce retour.
En fait, au passage vers le sous domaine, le tag (utmz) ne suit pas. Il est écrasé par un "referal". Nous allons essayé d'utiliser le "link" et "linkbypost" pour forcer son passage.

Voici le tag en place :
var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-xxxxxxxxxxx']);_gaq.push(['_setDomainName', 'domain.com']);
_gaq.push(['_trackPageview']);

Si vous essayez le link / linkbypost, il ne faut pas oublier l'appel au setallowlinker(true) dans le code GA.

Bon courage !

Le link semble fonctionner ! Merci ;)

Bonjour Thomas,

Je suis exactement dans le même cas de figure que Alex et je rebondis sur votre dernière remarque.

En effet, dans la documentation Google Analytics sur Google Code, il est précisé que les commandes link et linkbypost ne devaient être utilisées que lorsque le setDomainName était paramétré sur "none".

Qu'en pensez-vous ?

Bonjour,

En revérifiant la documentation, je pense qu'il vaut mieux ne pas indiquer "none" dans le setDomainname quand on fait du tracking multi-domaines. Voir bas de cette page : http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html

_setDomainName('.yourDomainName')
"Also use this when you want to track across multiple top-level domains AND their sub-domains."

Cdt,

Bonjour Thomas,

Je reviens vers vous pour vous informer que mon problème a été résolu.

En fait, mon marqueur comportait les paramètres _trackPageLoadTime et _trackPageview avec un _trackPageview comportant une valeur personnalisée sur le sous-domaine.

Pour régler le problème, il suffit de déplacer _trackPageview en toute dernière position.

Remarque : depuis le 16 novembre 2011, le _trackPageLoadTime est ignoré (http://support.google.com/analytics/bin/answer.py?hl=fr&answer=1205784)

Bonsoir,

J'ai attentivement lu votre article, et il répond en grande partie à ce que je souhaitais faire.

Malheureusement, dans mon cas, nous avons un blog.domaine.com et un www.domaine.com, et chacun des deux sites possède son propre code de tracking analytics.

Sur la Doc de Google, et dans votre article, on part du principe que le code analytics est le même sur les deux sites n'est-ce pas ?

Comment faire du coup lorsque ce n'est pas le cas ?

Ajouter un commentaire

CAPTCHA

Contactez-nous

Pour obtenir plus d'informations sur nos activités et discuter de vos projets directement avec nos consultants, nous vous invitons à nous contacter.

nous contacter