Le Blog des consultants Converteo
Ce blog est alimenté par les consultants de Converteo. Découvrez aussi notre site pour plus d’informations sur le cabinet et ses prestations.

Retour aux articles du blog

Google Analytics et les iframes : stop au trafic auto-référent !

Posté dans Web analytics
Par Converteo
08 avril 2013
6 commentaires

Cet article est écrit par Robin Brébant, consultant au sein du pôle Analytics de Converteo. Vous avez des questions à nous poser ? Contactez-nous !

Parmi les erreurs de taggage les plus courantes lorsqu’un site utilise Google Analytics comme outil de web-analyse, les iframes sont très fréquemment cités. Un taggage déficient des iframes entraine des données faussées dans les tableaux de bord : taux de rebond, doublement des visites et des pages vues, écrasement de la source des visiteurs…

Rappel : qu’est-ce qu’un iframe?

Simple rappel : le terme « iframe » désigne une balise  de code HTML qui permet d’intégrer une page HTML au sein d’une autre page HTML de manière transparente pour l’utilisateur final. La page contenu dans l’iframe peut-être hébergée sur le même domaine, un sous-domaine ou sur un domaine différent. Sans le savoir nous sommes soumis tous les jours aux iframes : tags publicitaires, encarts Facebook, formulaires d’inscriptions, newsletter…

Voici schématiquement le cas classique d’un iframe au taggage déficient, hébergé sur un sous-domaine ou un domaine différent de la page sur laquelle il est appelé :

Mauvais taggage d'un iframe avec Google Analytics

Le problème du taggage des iframes avec Google Analytics intervient dès que vous souhaitez suivre avec le même compte (et donc le même code UA) la page qui héberge l’iframe et l’iframe lui-même : si vous avez du trafic « auto-référent » (vous voyez votre propre site dans vos sources de trafic) et que vous utilisez des iframes , il est possible que le taggage de vos iframes hébergés sur des sous-domaines ou sur des domaines différents soit en cause.

Dans quels cas faut-il tagguer un iframe ?

Si l’iframe n’est qu’un élément de la page (bloc de connexion par exemple), alors l’iframe ne doit pas être tracké avec une page vue virtuelle sinon votre nombre de page vue sera augmenté artificiellement et si votre iframe se trouve sur une landing page, votre taux de rebond sera complètement faussé. Vous pouvez éventuellement si vous souhaitez connaitre son nombre d’affichage le tracker à l’aide d’un évènement. Cela vous permettra alors de mener des analyses segmentés du type « Quel est le taux de conversion des visites qui incluent le chargement de tel iframe ? ».

En revanche si l’iframe est le coeur de la page alors dans ce cas, il convient de le tracker comme une page vue à part entière. La page qui contient l’iframe ne jouant alors que le rôle de « cadre », c’est elle qui ne devra pas être trackée. Par exemple, vous incluez un module de réservation en plusieurs étapes via des iframe sur votre site vous êtes dans ce cas là. La marche à suivre est alors celle détaillée ci-dessous.

Comment tagger correctement une page avec un iframe ?

La première chose à faire est d’identifier où est hébergé l’iframe que vous souhaitez intégrer à votre page. Si l’iframe est hébergé sur un domaine ou ou sous-domaine différent de la page sur laquelle il est implémenté il faudra alors mettre en place les fonctions nécessaires au tracking multi-domaines sur les deux pages (_setDomainName() et setAllowLinker())

Une fois cette vérification effectuée et le code générique Google Analytics correctement implémenté avec la fonctionnalité multi-domaines, vous retrouverez ci-dessous le code à implémenter sur l’iframe et sur la page contenant l’iframe :

——————————–

Code générique Google Analytics à utiliser sur la page contenant l’iframe* (en remplacement du code de base)

——————————–

<script type=’text/javascript’>

// IMPORTANT : ce code n’exécute pas la fonction trackPageView() afin d’éviter de faire remonter deux pages vues pour la même page, dans notre exemple la page vue sera exécutée seulement sur  l’iframe qui est l’élément le plus important, la page qui héberge l’iframe n’étant qu’un « cadre » vide

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX’]); // A remplacer par le code UA de votre site

// Gestion des sous-domaines et des domaines différents
_gaq.push([‘_setDomainName’, ‘.monsite.com’]); // A remplacer par le domaine réel ou est hébergé la page
_gaq.push([‘_setAllowLinker’, true]);

// Code de liaison page – iframe
_gaq.push(function() {
var pageTracker = _gat._getTrackerByName();
var iframe = document.getElementById(‘iframe_1‘);
// Attribut ID de l’iframe
iframe.src = pageTracker._getLinkerUrl(‘http://www.monsite.com/iframe.html‘);
// Url de l’iframe
});

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

——————————–

Code à utiliser pour appeler l’iframe dans la page

——————————–

Afin d’indiquer à Google Analytics une liaison avec un iframe, les paramètres en vert dans le code générique (voir ci-dessus) et lors de l’appel de l’iframe (voir ci-dessous) doivent correspondre. Il s’agit des deux paramètres suivants :

  • ID attribué à la balise iframe
  • URL de l’iframe

Dans cet exemple, la balise finale de l’iframe devrait donc ressembler à ceci :

<iframe id=iframe_1‘ src=’http://www.monsite.com/iframe.html>
</iframe>

——————————–

Code Google Analytics à utiliser sur l’iframe lui-même

——————————–

<script type=’text/javascript’>

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX’]); // A remplacer par le code UA de votre site

// Gestion des sous-domaines et des domaines différents
_gaq.push([‘_setDomainName’, ‘.monsite.com’]); // A remplacer par le domaine réel ou est hébergé la page
_gaq.push([‘_setAllowLinker’, true]);

_gaq.push([‘_trackPageview’]);

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

—————-

Vous avez certainement remarqué dans cet exemple, que la fonction trackPageView() était exécutée une seule fois (sur l’iframe) afin d’éviter d’envoyer deux pages vues à Google Analytics et de dupliquer artificiellement le nombre de pages vues dans Google Analytics.

Dans la mesure du possible il faut éviter d’envoyer deux pages vues pour une même page, dans le cas d’un iframe à vous de choisir quelle information vous souhaitez voir remontrer dans Google Analytics.

6 commentaires sur cet article

  • Babzefel
    19 avril 2013

    Est-ce ainsi qu’on code un bridge qui permet alors de conserver le parcours de la visite malgré deux domaines différents ?

  • Robin Brébant
    22 avril 2013

    Bonjour,

    Le code présenté est spécifique à l’utilisation des iframes, toutefois nous retrouvons aussi quelques éléments necéssaires lors de l’utilisation d’un même code Google Analytics sur deux domaines différents, notamment les fonctions setDomainName() et setAllowLinker().

    Dans tous les cas le but est le même : faire passer les informations de la visite d’un domaine/sous-domaine à un autre.

    Pour information vous pouvez retrouver la documentation complète du tracking multi-domaines à cette adresse : https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite?hl=fr#multipleDomains

    J’espère avoir répondu à votre question.

    Robin Brébant

  • Babin
    13 octobre 2013

    Merci pour votre réponse !

  • Mathieu
    17 novembre 2013

    Bonjour,

    une fois qu’on a mis en place les codes appropriés permettant de tracker les visites au sein de l’iframe, comment fait-on pour paramétrer dans Analytics, sur le site contenant l’iframe, un objectif pour suivre la transformation des différentes étapes d’un formulaire contenu dans l’iframe ?

    Quelles URL indiquer comme étapes de cet objectif sachant que tout se passe sur la même URL dans le site contenant l’iframe ?

    Si vous pouviez m’éclairer sur ce point, ce serait très sympathique de votre part !

    Merci.

  • Alaric de Balaison
    06 février 2014

    Merci pour cet article très pointu et fort utile, qui répond à une forte préoccupation!

  • Jean-Christophe
    04 décembre 2015

    Bonjour,

    Tout d’abord merci pour ce très bon article. Comment peut-on intégrer ces mêmes tags via Google Tag Manager ?

    Merci de votre aide

Laisser un commentaire

Articles qui pourront vous intéresser
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
En parcourant converteo.com, vous acceptez notre utilisation des cookies.