Mesurer les sessions et l'engagement des utilisateurs

Pour obtenir des informations générales sur les portées utilisateur et session, y compris sur la façon dont Google Analytics définit et limite strictement les sessions en fonction de l'inactivité, consultez Dimensions et métriques : à propos des sessions Analytics et le guide sur les portées des dimensions de source de trafic.

Ce guide aborde les défis spécifiques aux développeurs et les bonnes pratiques pour gérer les configurations de session et le suivi passif.

Associer des dimensions au niveau de la page à des métriques de session

L'une des nuances les plus courantes en matière de reporting se produit lorsque vous associez des dimensions de portée "page" (par exemple, le chemin de la page et la classe de l'écran) à la métrique "Sessions" au niveau de la session.

Définitions des sessions et des vues

  • Sessions comptabilise les périodes uniques au cours desquelles un chemin de page donné a été chargé au moins une fois.

  • Le nombre de vues (pages vues) correspond au nombre total cumulé de fois où le chemin de page a été chargé.

Exemple

Prenons l'exemple d'une session unique avec le chemin de navigation utilisateur suivant : /home → /products → /home → Sortie

Si c'est la seule session, un rapport configuré avec les dimensions Chemin de la page et classe de l'écran et les métriques Sessions ou Vues affichera les résultats suivants :

Chemin de la page Sessions Vues
/home 1 2
/products 1 1
Total (données Google Analytics dédupliquées) 1 3

Si vous additionnez les lignes, vous obtenez deux sessions, mais le total réel de la propriété est dédupliqué et ramené à un.

Règles de personnalisation

  • Sessions avec chemin de la page : nombre de sessions uniques au cours desquelles les utilisateurs accèdent au chemin de la page au moins une fois.
  • Sessions avec page de destination : nombre de sessions uniques commençant sur le chemin. Pour afficher le trafic vers les pages de destination, utilisez toujours Page de destination + chaîne de requête plutôt que Sessions avec chemin de la page.
  • Vues comptabilise toujours la fréquence de chargement totale.

Bonnes pratiques pour les développeurs et les analystes

  • Conservez des portées cohérentes : ne mélangez pas les dimensions sur le trafic avec portée au niveau de l'utilisateur (par exemple, Groupe de canaux par défaut du premier utilisateur) avec les métriques avec portée au niveau de la session (par exemple, Durée moyenne de la session) si votre objectif est de comprendre les performances des sessions.
  • Valider session_start dans DebugView : lors de la phase d'assurance qualité et de validation, utilisez des outils de débogage standards comme Google Analytics DebugView pour vérifier que session_start se déclenche correctement au début de la session.

Bonnes pratiques pour gérer les délais avant expiration de la session

La durée par défaut d'une session Google Analytics est de 30 minutes.

Nous vous déconseillons d'implémenter un code personnalisé pour "pinguer" régulièrement Google Analytics afin d'éviter les délais d'inactivité. Si vous gonflez artificiellement les métriques de session, vous fausserez les données comportementales des utilisateurs. Utilisez plutôt les fonctionnalités intégrées de Google Analytics ou ciblez les événements d'engagement pertinents pour proposer une solution plus claire.

Pourquoi les pings "keep-alive" génériques sont-ils une mauvaise pratique ?

  • Métriques principales faussées : si un utilisateur quitte son onglet, il est réellement inactif. Si vous forcez la session à rester ouverte, vous créez des "sessions zombies" et gonflez artificiellement votre durée moyenne des sessions. Cela masque le moment exact où les utilisateurs perdent leur intérêt ou quittent votre site.
  • Impact sur les sessions avec engagement : Google Analytics définit une session avec engagement comme une session qui dure plus de 10 secondes, comporte au moins deux pages vues ou déclenche un événement clé (anciennement événement de conversion). Si vous maintenez artificiellement une session ouverte, elle apparaît comme engagée, ce qui augmente votre taux d'engagement.
  • Gonflement des données et coûts : si vous déclenchez constamment des événements de ping d'arrière-plan vides, cela augmente le bruit du nombre d'événements et les coûts de l'entrepôt de données si vous exportez des données Google Analytics vers BigQuery.

Quand suivre l'engagement passif (et comment le faire)

Il existe des scénarios légitimes dans lesquels un utilisateur interagit activement avec du contenu, mais ne déclenche pas d'événements d'interaction Google Analytics standards (comme des clics ou des changements de page). Dans ce cas, au lieu d'un ping de maintien en vie générique, capturez des événements de progression significatifs déclenchés par l'utilisateur :

  • Contenus vidéo longs : un utilisateur qui regarde une vidéo intégrée de 45 minutes restera passif pendant plus de 30 minutes, ce qui risque d'entraîner l'expiration de la session.
  • Présentations détaillées : un utilisateur peut passer 40 minutes à lire un guide technique, et faire défiler la page lentement sans déclencher d'action de navigation.
  • Applications Web interactives : les utilisateurs qui surveillent les flux en direct, les tickers boursiers ou les tableaux de bord de données consomment des informations de manière passive, sans cliquer.

Si l'utilisateur réduit la fenêtre du navigateur ou change d'onglet, les pings en arrière-plan doivent s'arrêter.

Exemple de code : ping d'événement tenant compte de la visibilité

Le modèle JavaScript suivant montre comment suivre l'engagement passif et respecter la visibilité des onglets. Ajustez l'intervalle de suivi et la valeur du paramètre (par exemple, 5 minutes ou 300 000 ms) en fonction de votre cas d'utilisation spécifique, comme la durée habituelle de vos vidéos ou de vos articles longs :

const TRACKING_INTERVAL_MILLIS = 5 * 60 * 1000;

let engagementInterval;

function startEngagementTracking() {
  // Prevent duplicate intervals if tab becomes visible
  if (engagementInterval) return;

  engagementInterval = setInterval(() => {
    gtag('event', 'passive_engagement', {
      'engagement_time_msec': TRACKING_INTERVAL_MILLIS
    });
  }, TRACKING_INTERVAL_MILLIS);
}

function stopEngagementTracking() {
  if (engagementInterval) {
    clearInterval(engagementInterval);
    engagementInterval = null;
  }
}

// Start tracking initially if the page is visible
if (!document.hidden) {
  startEngagementTracking();
}

// Stop tracking when tab is hidden, resume when visible
document.addEventListener('visibilitychange', () => {
  if (document.hidden) {
    stopEngagementTracking();
  } else {
    startEngagementTracking();
  }
});

Mesure améliorée Google Analytics vs suivi personnalisé

La fonctionnalité Mesures améliorées de Google Analytics gère automatiquement certains scénarios de suivi passif, mais elle présente des limites spécifiques.

Type d'interaction Géré par les mesures améliorées ? Exigences / Actions
Vidéos YouTube intégrées Oui Déclenche automatiquement les étapes video_start, video_complete et video_progress à 10%, 25%, 50 % et 75% (nécessite l'activation de la compatibilité avec l'API JavaScript).
Vidéos non YouTube (HTML5, Vimeo) Non Nécessite une implémentation personnalisée. Déclenchez des événements de manière programmatique à l'aide de gtag.js ou gérez les déclencheurs à l'aide de Google Tag Manager (GTM).
Défilement de page standard Partiel Déclenche un seul événement scroll uniquement lorsque l'utilisateur atteint 90% d'une page.
Progression de lecture incrémentielle Non Désactivez le suivi du défilement Google Analytics par défaut et implémentez des seuils de défilement personnalisés (par exemple, 25%, 50 % et 75%) de manière programmatique ou dans GTM.

L'alternative la plus simple : ajuster la limite du délai avant expiration de la session Google Analytics

Si votre site Web est naturellement axé sur les contenus longs, les cours vidéo ou l'utilisation continue d'une application, vous n'avez pas besoin d'injecter des hacks de script personnalisés. Vous pouvez ajuster le seuil par défaut de 30 minutes dans l'interface Google Analytics jusqu'à un maximum de 7 heures et 55 minutes. Pour obtenir des instructions, consultez Ajuster le délai avant expiration de la session.