Une session AV dans Piano Analytics correspond à une période d'interaction continue avec un seul contenu multimédia.
Elle possède son propre identifiant (av_session_id) et son propre cycle de vie, distinct de la visite (visit_id) qui la contient. Comprendre cette relation est la clé pour interpréter correctement les métriques AV.
Session AV vs Visite
|
Identifiant |
Portée |
Fin |
|---|---|---|
|
|
Toute la session de navigation du visiteur sur votre site |
|
|
|
Un seul média en cours de lecture |
|
Une seule visite peut contenir de nombreuses sessions AV — en effet, un visiteur qui lit trois vidéos à la suite génère trois valeurs av_session_id imbriquées dans un seul visit_id.
L'inverse est moins évident : une session AV n'est pas formellement liée à la visite. La session se termine sur av.stop ou sur l'un des quatre changements de propriété ci-dessus — la fin du visit_id ne figure pas dans cette liste. En pratique, les deux se terminent souvent ensemble, car trois des quatre conditions de fin (passage à minuit, nouveau visitor_id, nouveau site_id) mettent également fin à la visite ; mais une visite qui expire d'elle-même — par exemple, le lecteur reste en pause assez longtemps pour que la durée d'inactivité de 30 minutes de la visite se déclenche — ne mettrait pas fin à elle seule à la session AV. L'événement AV suivant, après l'interruption de la visite, se rattacherait à l'av_session_id existant tant que les quatre propriétés clés correspondent toujours.
Quand une nouvelle session démarre
Un nouvel av_session_id est généré lorsque l'un des événements suivants, ayant une incidence sur la session, se produit et que la session précédente est terminée :
-
av.play -
av.start -
av.heartbeat -
av.pause -
av.resume -
av.buffer.start/av.buffer.heartbeat -
av.rebuffer.start/av.rebuffer.heartbeat -
av.seek.start -
av.backward/av.forward
Événements statiques qui NE créent PAS de sessions
Certains événements av.* sont statiques — ils transportent des informations à des fins d'analyse mais ne contribuent pas au calcul de la session av.ad.click, av.ad.skip, av.error, av.display, av.volume, av.subtitle.on / .off, av.quality, av.speed, av.fullscreen.on / .off, av.share, av.close. Si une séquence ne contient que des événements statiques, aucune session AV ne se construit autour d'eux.
Quand la session précédente se termine
La session précédente se termine (et l'événement dynamique suivant en crée une nouvelle) lorsque :
-
Un événement
av.stopest déclenché explicitement, ou -
L'une de ces propriétés clés diffère de l'événement AV précédent
-
Date de l'événement (passage à minuit)
-
visitor_id -
site_id -
av_content_id
-
Autrement dit, passer d'un contenu à un autre — sans arrêt explicite — ferme automatiquement la session précédente et en ouvre une nouvelle. C'est le changement d'av_content_id que Piano utilise pour détecter cette transition.
Pourquoi le nombre de sessions diffère du nombre de « plays »
Une confusion fréquente : un lecteur peut déclencher de nombreux événements av.play (start, pause, resume, pause, resume…) tout en ne produisant qu'un seul identifiant av_session_id pour l'ensemble de la session. La relation est la suivante :
-
AV - Plays compte les déclenchements d'événements
av.playevent firings (clic sur le bouton de lecture, start, resume). -
AV - Sessions compte les valeurs distinctes d'
av_session_idvalues (une par média avec lequel il y a eu engagement). -
AV - Playbacks compte les sessions où au moins une partie du contenu a réellement été consommée (
av_content_time_consumed > 0).
Comportement des sessions spécifique au mobile
Sur mobile, le fait que l'application fonctionne en arrière-plan rend intéressante la distinction entre session et visite :
-
Un utilisateur qui réduit l'application alors que l'audio continue de jouer — la visite peut expirer (30 minutes d'inactivité en arrière-plan) pendant que des événements continuent d'arriver du média toujours en lecture. La fin ou non de la session AV dépend des quatre propriétés clés : si l'événement suivant franchit minuit, provient d'un visiteur ou d'un site différent, ou porte un
av_content_iddifférent, la session se termine. Sinon, la session peut se poursuivre malgré l'interruption de la visite. -
Un utilisateur qui passe à un autre contenu alors que l'application est en arrière-plan change d'
av_content_id, ce qui met bien fin à la session AV, même si aucunav.stopn'a été déclenché.
Si les durées d'écoute sur mobile semblent plus courtes que prévu, examinez le flux d'événements pour déterminer laquelle des quatre conditions de fin a effectivement déclenché la limite — ne partez pas du principe qu'il s'agit de la fin de la visite.
Continuité de session lors des changements de page
Si votre site est une application monopage et que le même contenu multimédia continue d'être lu malgré les changements de parcours, la session AV se poursuit sans nouvel av_session_id tant que l'av_content_id ne change pas.
Si la page se recharge réellement (multi-page application, véritable navigation), la session AV se termine car le SDK se réinitialise.
Comment résoudre les problèmes liés aux limites de session
-
Filtrez votre flux d'événements sur un seul
av_session_id. -
Inspectez le premier et le dernier événement — le premier devrait être un événement de démarrage de session (généralement
av.playouav.start) ; le dernier devrait êtreav.stop, la fin du contenu, ou l'événement précédant une limite de changement de propriété. -
Si vous voyez des sessions se terminer de façon inattendue, vérifiez si
av_content_ida changé entre deux événements, ou si le passage à minuit s’est produit. -
Si vous voyez des sessions qui ne se terminent jamais (aucun
av.stopn'est arrivé), c'est que le lecteur ne déclenche pas l'événement stop à la fin du contenu — corrigez cela dans l'intégration du lecteur.