Pour obtenir une présentation conceptuelle des portées utilisateur et session, y compris la façon dont Google Analytics définit et limite strictement les sessions par inactivité, consultez Dimensions et métriques : à propos des sessions Analytics et le guide sur les portées des dimensions "Source de trafic".
Ce guide présente 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 dans les rapports se produit lorsque vous associez des dimensions au niveau de la page (par exemple, "Chemin de la page et 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 pendant lesquelles un chemin de page donné a été chargé au moins une fois.
Vues (pages vues) comptabilise le nombre total cumulé de fois où le chemin de la page a été chargé.
Exemple
Prenons l'exemple d'une session unique avec le chemin de navigation utilisateur suivant : /home → /products → /home → Sortie.
S'il s'agit de la seule session, un rapport configuré avec les métriques Chemin de la page et classe de l'écran et Sessions ou Vues affiche les informations suivantes :
| Chemin de la page | Sessions | Vues |
|---|---|---|
/home |
1 | 2 |
/products |
1 | 1 |
| Total (Google Analytics dédupliqué) | 1 | 3 |
Si vous additionnez les lignes, vous obtenez deux sessions, mais le total réel de la propriété est dédupliqué à une session.
Règles de personnalisation
- Sessions avec chemin de la page fait référence aux sessions uniques qui visitent le chemin au moins une fois.
- Sessions avec page de destination fait référence aux sessions uniques commençant sur le chemin. Pour afficher le trafic 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
- Utilisez des portées cohérentes : ne mélangez pas les dimensions sur le trafic de portée utilisateur (par exemple, Groupe de canaux par défaut du premier utilisateur) avec les métriques de portée session (par exemple, Durée moyenne de la session) si votre objectif est de comprendre les performances des sessions.
- Validez
session_startdans DebugView : pendant la phase de contrôle qualité et de validation, utilisez des outils de débogage standards comme Google Analytics DebugView pour vérifier quesession_startse 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 du code personnalisé pour envoyer régulièrement un "ping" à Google Analytics afin d'éviter les délais d'inactivité. Si vous gonflez artificiellement les métriques de session, vous faussez les données comportementales des utilisateurs. Utilisez plutôt les fonctionnalités intégrées de Google Analytics ou ciblez des événements d'engagement pertinents pour proposer une solution plus propre.
Pourquoi les pings "keep-alive" génériques sont 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, cela crée des "sessions zombies" et augmente artificiellement la durée moyenne des sessions. Cela masque le moment exact où les utilisateurs perdent tout 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, qui comporte au moins deux pages vues ou qui 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 gonfle votre taux d'engagement.
- Gonflement des données et coûts : si vous déclenchez constamment des événements de ping en 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 les données Google Analytics vers BigQuery.
Quand suivre l'engagement passif (et comment faire)
Dans certains cas légitimes, 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 persistance générique, capturez des événements de progression significatifs initiés par l'utilisateur :
- Contenu vidéo de longue durée : un utilisateur qui regarde une vidéo intégrée de 45 minutes restera passif pendant plus de 30 minutes et risque de voir sa session expirer.
- Articles détaillés : un utilisateur peut passer 40 minutes à lire un guide technique et faire défiler la page lentement, sans déclencher d'actions de navigation.
- Applications Web interactives : les utilisateurs qui surveillent des flux en direct, des tickers boursiers ou des 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();
}
});
Mesures améliorées Google Analytics et suivi personnalisé
Google Analytics propose des mesures améliorées, qui gèrent automatiquement certains scénarios de suivi passif, bien qu'elles présentent des limites spécifiques.
| Type d'interaction | Géré par les mesures améliorées ? | Exigences/Actions à effectuer |
|---|---|---|
| Vidéos YouTube intégrées | Oui | Déclenche automatiquement les jalons video_start, video_complete et video_progress à 10 %, 25 %, 50 % et 75 % (nécessite l'activation de la compatibilité avec l'API JS). |
| 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 la lecture incrémentielle | Non | Désactivez le suivi du défilement par défaut de Google Analytics et implémentez des seuils de défilement personnalisés (par exemple, 25 %, 50 %, 75 %) de manière programmatique ou dans GTM. |
L'alternative la plus propre : ajuster le 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'applications, vous n'avez pas besoin d'injecter des scripts 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.