Google Analytics - Ajustement du taux de rebond avec la méthode _trackevent

Introduction

Le taux de rebond (bounce rate) est une statistique importante dans Google Analytics. Cette statistique permet de savoir si un internaute poursuit sa visite sur un site de page en page. Lorque le taux de rebond est élevé, cela signifie que l'internaute quitte rapidement le site pour aller visiter un autre site car il n'a pas trouvé l'information pertinente.

Plus le taux de rebond est bas, plus la pertinence de l'information sur un site est élevée.

Le taux de rebond augmente très fortement dans 2 cas de figure :

  • L'internaute ne visite qu'une seule page (mais il se peut qu'il ait trouvé l'information nécessaire sur cette page).
  • Des pages, proposées par le moteur de recherche Google, sont ouvertes dans des fenêtres indépendantes du site principal (fenêtres popup). C'est le cas du site www.sqlpac.com. Exemple : Google Analytics et le mode debug (ga_debug.js)

Dans ces 2 cas de figure, comment estimer si un internaute a consulté une page plus de 30 secondes, 1 minute ou plus avant de rebondir sur un autre site si il n'a pas trouvé l'information pertinente ? Par ailleurs comment visualiser et mesurer dans le temps l'évolution du taux de rebond, donc la pertinence de l'information, si celui-ci est déjà très élevé (plus de 85%) à cause de ces fenêtres indépendantes ?

Pour cela il est possible de combiner la fonction Javascript setTimeOut et la méthode _trackevent de Google Analytics.

Avec cette méthode, le taux de rebond chute très rapidement lorsque le critère consiste à déterminer si un internaute consulte une page plus de 30 secondes par exemple :

Taux de rebond (avant) Taux de rebond (après)
87,71% 17,20%

Dans ce cas de figure, il est plus facile de visualiser l'évolution du taux de rebond dans le temps.

Par ailleurs la mise en place du déclenchement d'un événement avec Google Analytics lorsque la page reste ouverte plus de 30 secondes par exemple, ou plus, offre des rapports très intéressants. Ce temps doit être ajusté en fonction du temps moyen de chargement des pages et de la longueur des articles :

Google analytics taux de rebond chute Google analytics taux de rebond chute

Cet article présente la méthodologie pour déclencher des événements lorsqu'une page est consultée plus de 30 secondes, événements qui ajustent automatiquement le taux de rebond.

_trackevent et Google Analytics en mode natif

Code natif Google Analytics pour collecter les statistiques d'une page (ga.js)

En mode natif, pour récupérer les statistiques d'une page Web avec Google Analytics, insérer le code ci-dessous en en-tête de cette page :

<head>
 ...
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _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>
 ...
</head>

Dans cet extrait de code, UA-XXXXX-X est l'identifiant de suivi du compte Google Analytics.

Générer des événements avec Google Analytics et la méthode _trackevent

L'objet Google Analytics _gaq initialisé dans le code Javascript plus haut permet de définir des événements personnalisés grâce à la méthode _trackevent.

_trackEvent(categorie, action, label_optionnel, valeur_optionnel, noninteraction_optionnel)

Argument Description
categorie Catégorie de l'événement
action Action de l'événement
label_optionnel Label optionnel pour l'événement
valeur_optionnel Valeur optionnelle pour l'événement
nonineraction_optionnel Booléen (false par défaut). Lorsque la valeur est true, l'événement est écarté dans le calcul du taux de rebond.

Ces événements personnalisés sont disponibles dans les rapports Google Analytics : Menu ComportementEvénements

Google analytics rapports evenements

La définition d'événements personnalisés est particulièrement pratique pour mesurer notamment dans Google Analytics les actions un peu exotiques sur un site. Quelques exemples sont donnés ci-dessous mais la liste est exhaustive :

  • Sites Web Flash
  • Vidéos Flash
  • Téléchargements de fichiers
  • Eléments AJAX...

Voici un exemple simple pour déclencher un événement dans la categorie videos lors de la lecture d'une vidéo par un internaute :

_gaq.push(['_trackEvent', 'videos', 'lecture', 'mavideo']);

Sur un lien à cliquer sur la vidéo, cela donne :

<a href="#" onClick="_gaq.push(['_trackEvent', 'videos', 'lecture', 'mavideo']);">Play</a>

Générer un événement sur le temps de lecture avec _trackEvent et setTimeout

La méthode Javascript setTimeout déclenche une fonction Javascript après un temps défini en millisecondes donné en argument :

setTimeout (fonction, delai en millisecondes)

Avec la méthode setTimeout, il est donc possible de déclencher au bout d'un temps déterminé un événement avec la méthode _trackEvent de Google Analytics, événement qui ne sera déclenché que si la page reste ouverte. Pour déclencher un événement après 30 secondes dans la catégorie 30_seconds :

setTimeout("_gaq.push(['_trackEvent', '30_seconds', 'read'])",30000);

Cet événement est alors déclenché si la page est consultée plus de 30 secondes, événement qui a un effet direct sur le calcul du taux de rebond. Le temps défini est à ajuster en fonction du temps de chargement des pages et du temps moyen humain nécessaire pour lire une page du site.

Cette fonctionnalité simple en une seule ligne de code peut être insérée directement dans le code Google Analytics de collecte des statistiques :

<head>
 ...
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  setTimeout("_gaq.push(['_trackEvent', '30_seconds', 'read'])",30000);
  (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>
 ...
</head>

Mode debug des événements (ga_debug.js)

Le navigateur Google Chrome propose une extension de debug de Google Analytics : Google Analytics Debugger (by Google) .

Une fois l'extension installée, une nouvelle icône apparaît en haut à droite du navigateur Google Chrome : le mode debug de Google Analytics est activé et désactivé en cliquant sur cette icône. Le libellé ON indique le mode debug de Google Analytics activé.

extension ga debug on

Les informations de debug sont retournées classiquement dans la console des outils de développement de Google Chrome ("Personnaliser et contrôler Google Chrome > Outils > Outils de développement" ou Ctrl+Maj+I).

Avec cette extension de debug, l'exécution de l'événement après 30 secondes de la méthode _trackEvent est vérifiée :

_gaq.push processing "_trackEvent" for args: "[30_seconds,read]":  
Track Event
Tracking beacon sent!

ga debug evenement

Conclusion

La définition d'événements en combinant les méthodes _trackEvent et setTimeout permettent d'ajuster le taux de rebond dans un contexte de consultations uniques et de fenêtres indépendantes (popup).

Cette technique permet d'affiner 2 objectifs :

  • L'observation d'une augmentation du taux de rebond, ce qui signifie que les informations deviennent de moins en moins pertinentes par rapport aux recherches des internautes.
  • La quantification des consultations uniques sur un intervalle de temps défini grâce aux événements.

L'écriture de cet article a par ailleurs montré que l'intervalle de 30 secondes se révélait trop faible, intervalle qui va être ajusté à 2 minutes.