Skip to main content

Analytics & Events

This section covers playback telemetry, event hooks, and best practices for analytics pipelines.

Use Pro Player for the canonical analytics prop setup and event callback examples.

Event types

Playback

EventFired when
playPlayback started or resumed
pausePlayback paused
seekA seek operation completed
endedPlayback reached the end of the content
buffer_startPlayer stalled waiting for data
buffer_endBuffering complete; playback resumed
buffering_startPro-level buffering start (includes diagnostic context)
buffering_endPro-level buffering end
playback_errorA playback error occurred
excessive_bufferingPlayer has stalled an unusually high number of times in this session

Session lifecycle

EventFired when
session_startAnalytics session begins (on first play)
session_endSession ends (on ended, unmount, or explicit close)

Progress milestones

EventFired when
quartilePlayback crosses a percentage milestone; quartile field is 25, 50, 75, or 100

Track changes

EventFired when
quality_changeUser selects a different quality variant; selectedQuality is set
subtitle_changeUser changes subtitle track; selectedSubtitle is set
audio_track_changeUser changes audio track; selectedAudioTrack and audioTrackId are set

Ad telemetry

EventFired when
ad_startAn ad break begins; adPosition (preroll/midroll/postroll) and mainContentPositionAtAdStart are set
ad_completeAn ad break finishes
ad_errorAn ad fails to load or play; errorMessage is set

Diagnostics

EventFired when
debug_overlay_openedDeveloper debug overlay becomes visible
debug_overlay_closedDeveloper debug overlay is hidden

Common event group shorthand

  • Playback: play, pause, seek, ended, buffer_start, buffer_end
  • Progress milestones: quartile (25, 50, 75, 100)
  • Ad telemetry: ad_start, ad_complete, ad_error

If you are integrating ad metrics, pair this page with Ads & Monetization.