Durée de visite et taux de rebond : corriger les défauts de Google Analytics


Duree-de-visite-et-taux-de-rebond

Google Analytics est l’un des meilleurs outils de suivi et d’analyse d’audience en ligne, et de loin le plus utilisé. Et en plus, il est gratuit. Mais il a aussi ses limites et ses défauts.

En voici un majeur : parmi ses mesures, Analytics vous donne la “durée moyenne de la visite” et le “taux de rebond”, mais ces données ne sont basées que sur le suivi de l’affichage des pages, puisque le code de suivi se lance uniquement au chargement de la page. Vous voyez où ça nous mène ? La durée de la visite, selon Analytics, est donc le temps qui s’écoule entre le moment où un visiteur arrive sur le site, et le moment où il affiche la dernière page qu’il consultera.

Conséquence : imaginez qu’un internaute arrive sur votre site, passe 3 bonnes minutes à lire un article, puis quitte le site sans visiter d’autres pages (peut être a-t-il quand même ajouté votre site à ses favoris pour revenir plus tard). Pour Analytics, la durée de sa visite est très précisément 0:00, et sera comptée comme un rebond.

Vous vous demandiez pourquoi vous aviez un taux de rebond de 80% ? Non, votre site n’est pas si inintéressant, et non vos visiteurs ne cliquent pas partout comme des hystériques sous anabolisants ! (pas tous en tout cas…)

Autre scénario, notre internaute arrive sur le site, passe 2 minutes sur sa page d’arrivée, clique sur un lien puis passe 3 autres minutes sur une autre page avant de quitter le site. Vous l’aurez compris, Analytics enregistre bien 2 pages vues mais une durée de la visite de 2 minutes, au lieu de 5.

La solution

“C’est bien beau de critiquer, mais peut-on faire mieux ?” Oui ! Grâce à l’API d’Analytics et ce code de Brian Cray, vous allez profiter d’une petite révolution dans vos rapports Analytics, qui seront dorénavant bien plus précis.

Ce petit bout de javascript va simplement informer Analytics que votre visiteur est toujours sur votre site toutes les 10 secondes. Ce n’est pas la précision d’un chronomètre olympique, mais 10 secondes de marge, c’est déjà mieux que 0:00 et un rebond pour chaque visiteur qui ne consulte qu’une seule page.

<script type="text/javascript">
(function (tos) {
  window.setInterval(function () {
    tos = (function (t) {
      return t[0] == 50 ? (parseInt(t[1]) + 1) + ':00' : (t[1] || '0') + ':' + (parseInt(t[0]) + 10);
    })(tos.split(':').reverse());
    window.pageTracker ? pageTracker._trackEvent('Time', 'Log', tos) : _gaq.push(['_trackEvent', 'Time', 'Log', tos]);
  }, 10000);
})('00');
</script>

Copiez-collez simplement ce code juste avant la balise fermante </body> de vos pages, et revenez voir vos rapports Analytics demain pour voir une différence phénoménale dans les taux de rebond et la durée moyenne des visites; peu importe que vous utilisiez l’ancien ou le nouveau code de suivi d’Analytics.

L’exemple en image

J’ai installé ce script sur l’un de mes sites fin février. Le nombre moyen de pages vues par visite tourne autour de 2, la plupart des visiteurs arrivent via une recherche sur la page de l’article qui les intéressent, et la majorité ne s’attarde pas sur le site après l’avoir lu.

Le trafic est resté stable mais la différence avant/après dans les données de durée de la visite et de taux de rebond se passe de commentaires. Ce n’est plus une affaire de précision, les données précédentes étaient complètement erronées.

Application à WordPress

Option #1: le bricoleur neophyte

Sacrilège ! Si WordPress était une religion, vous seriez excommuniés pour le faire de cette façon. Mais c’est la solution la plus simple a priori à laquelle le non-initié pensera:

Depuis l’administration WordPress > Apparence > Editeur, modifier le fichier footer.php et ajouter le script juste avant la balise fermante. Ca marchera, mais c’est loin d’être une solution propre.

WordPress n’apprécie pas que l’on ajoute des scripts “en dur” n’importe où, alors qu’il prévoit des fonctions spécifiques (wp_register_script et wp_enqueue_script) pour charger proprement tous les scripts nécessaires à chaque page, optimisant leurs performances et évitant les conflits.

Cette façon de faire a en outre un gros défaut sur le long terme: si vous changez de thème ou mettez à jour votre thème actuel, cette modification sera perdue et vous devrez recommencer. Ce n’est pas un gros travail certes, mais puisqu’on pourrait s’en passer…

Option #2 : le plugin qui s’en occupe

Voici un petit plugin que j’ai créé pour vous faciliter la vie. Son utilisation est aussi simple que : installer, activer, ne plus y penser !

Il va simplement enregistrer ce script auprès de WordPress puis l’inclure là où votre thème appel “wp_footer()” (juste avant la balise </body>), en utilisant les fonctions propres prévues à cet effet.

Instructions :
– Téléchargez GABounceFix.zip.
– Depuis l’administration de votre WordPress, allez dans Plugins > Ajouter (Add New) > Envoyer (Upload). Sélectionnez le .zip que vous venez de télécharger et cliquez sur “installer” (Install Now).
– Après quelques secondes, WordPress vous informe que le plugin a bien été installé, et vous propose de l’activer. Cliquez donc sur “Activer”.
– C’est tout ! Le plugin se chargera de lancer le code sur chaque page de votre site, et vous aurez à présent les vrais chiffres dans vos rapports Analytics !