We’ve migrated our documentation to a new site, which means some URLs have changed.
Analytics

Comment fonctionnent les sessions AV dans Piano Analytics ?

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

visit_id

Toute la session de navigation du visiteur sur votre site

  • 30 minutes d'inactivité,

  • minuit (fuseau horaire du site),

  • ou réinitialisation de l'identifiant

av_session_id

Un seul média en cours de lecture

  • Événement av.stop,

  • ou lorsque l'une des quatre propriétés clés (Date de l'événement, visitor_id, site_id, av_content_id) diffère de l'événement AV précédent,

  • ou, en pratique, lorsqu'un événement arrive plus de 2 heures après le précédent — cet événement est exclu par le plafond d'av_duration, ce qui interrompt de fait la session

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.stop est 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.play event firings (clic sur le bouton de lecture, start, resume).

  • AV - Sessions compte les valeurs distinctes d'av_session_id values (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_id diffé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 aucun av.stop n'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

  1. Filtrez votre flux d'événements sur un seul av_session_id.

  2. Inspectez le premier et le dernier événement — le premier devrait être un événement de démarrage de session (généralement av.play ou av.start) ; le dernier devrait être av.stop, la fin du contenu, ou l'événement précédant une limite de changement de propriété.

  3. Si vous voyez des sessions se terminer de façon inattendue, vérifiez si av_content_id a changé entre deux événements, ou si le passage à minuit s’est produit.

  4. Si vous voyez des sessions qui ne se terminent jamais (aucun av.stop n'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.

Last updated: