Skip to content

Media / Streaming Events

Media and streaming platforms generate some of the highest event volumes of any vertical. A single user session can produce hundreds of playback heartbeats, seek events, and ad impressions. This dictionary covers the full lifecycle from content discovery through playback, monetisation, and creator economics.


Events that bring new users into the platform.

Event NameKey PropertiesVolumeDescription
user.signed_upchannel, referrer, plan_type, platformMediumNew user creates an account
trial.startedtrial_duration_days, plan_id, sourceMediumUser begins a free trial period
content.shared_externallycontent_id, share_method, platformMediumExisting user shares content outside the platform, driving new sign-ups

Events that signal a new user is getting value from the platform.

Event NameKey PropertiesVolumeDescription
onboarding.preferences_setgenres, languages, content_typesMediumUser sets content preferences during onboarding
profile.createdhas_avatar, display_name_set, profiles_countMediumUser creates a viewing profile
first_content.consumedcontent_id, content_type, time_to_first_play_secondsMediumUser watches or listens to their first piece of content

Events that track the full playback lifecycle. These events will be the highest volume in your system.

Event NameKey PropertiesVolumeDescription
playback.startedcontent_id, content_type, quality, is_autoplay, positionHighUser initiates playback of content
playback.pausedcontent_id, position, durationHighUser pauses playback
playback.resumedcontent_id, position, pause_duration_secondsHighUser resumes playback after a pause
playback.completedcontent_id, total_duration, completion_pctHighContent finishes playing to the end
playback.seek_startedcontent_id, from_position, to_positionHighUser begins seeking to a new position
playback.seek_completedcontent_id, from_position, to_positionHighSeek operation completes
playback.buffer_startedcontent_id, position, qualityHighPlayback stalls due to buffering
playback.buffer_completedcontent_id, buffer_duration_ms, positionHighBuffering ends and playback resumes
playback.quality_changedcontent_id, from_quality, to_quality, is_autoMediumPlayback quality changes (manual or adaptive)
playback.speed_changedcontent_id, from_speed, to_speedLowUser changes playback speed
playback.interruptedcontent_id, position, interruption_typeMediumPlayback is interrupted by external event (call, notification)
playback.exitedcontent_id, position, completion_pct, exit_reasonHighUser leaves the player before content completes
playback.heartbeatcontent_id, position, quality, buffer_countVery HighPeriodic ping every 10 seconds during active playback
ad.startedad_id, ad_type, position, content_idHighAn advertisement begins playing
ad.completedad_id, ad_type, duration, content_idHighAn advertisement plays to completion
ad.skippedad_id, skip_after_seconds, content_idMediumUser skips an advertisement
ad.clickedad_id, click_url, content_idLowUser clicks through on an advertisement

Events that capture how users find, organise, and save content.

Event NameKey PropertiesVolumeDescription
content.searchedquery, results_count, filters_appliedHighUser searches the content library
content.browsedcategory, genre, browse_typeHighUser browses a category or curated collection
content.viewedcontent_id, content_type, source, position_in_listHighUser views a content detail page or card
content.ratedcontent_id, rating, rating_typeMediumUser rates content (thumbs, stars, percentage)
content.added_to_watchlistcontent_id, watchlist_id, sourceMediumUser adds content to their watchlist or queue
content.removed_from_watchlistcontent_id, watchlist_idLowUser removes content from their watchlist
playlist.createdplaylist_id, is_public, content_typeLowUser creates a new playlist
playlist.item_addedplaylist_id, content_id, positionMediumUser adds an item to a playlist
playlist.item_removedplaylist_id, content_idLowUser removes an item from a playlist
playlist.sharedplaylist_id, share_method, platformLowUser shares a playlist externally
content.downloadedcontent_id, quality, file_size_mbMediumUser downloads content for offline viewing
content.download_deletedcontent_id, days_since_downloadLowUser deletes a previously downloaded file
recommendation.viewedrecommendation_id, algorithm, positionHighA recommendation is displayed to the user
recommendation.clickedrecommendation_id, content_id, algorithm, positionMediumUser clicks on a recommended piece of content

Events that track subscription lifecycle and revenue.

Event NameKey PropertiesVolumeDescription
subscription.createdplan_id, billing_cycle, amount, currency, trialMediumUser subscribes to a paid plan
subscription.upgradedfrom_plan, to_plan, amount_deltaLowUser upgrades to a higher-tier plan
subscription.downgradedfrom_plan, to_plan, reasonLowUser downgrades to a lower-tier plan
subscription.cancelledplan_id, reason, tenure_days, cancel_at_period_endLowUser cancels their subscription
purchase.completedcontent_id, amount, currency, purchase_typeMediumUser makes a one-time purchase (rental, buy-to-own)
ad_revenue.impressionad_id, ad_type, cpm, content_idHighAd impression is recorded for revenue attribution

Events that drive organic growth through sharing and referrals.

Event NameKey PropertiesVolumeDescription
content.sharedcontent_id, share_method, platformMediumUser shares content with friends or social networks
referral.link_sharedreferral_code, share_method, platformLowUser shares their personal referral link
referral.convertedreferral_code, referee_user_id, plan_idLowA referred user signs up and converts

Events specific to platforms with a creator or publisher ecosystem.

Event NameKey PropertiesVolumeDescription
creator.content_uploadedcreator_id, content_type, file_size_mb, durationMediumCreator uploads new content to the platform
creator.content_publishedcreator_id, content_id, visibility, monetisation_typeMediumCreator publishes content making it available to viewers
creator.content_updatedcreator_id, content_id, fields_changedLowCreator updates metadata or replaces media on existing content
creator.payout_earnedcreator_id, amount, currency, payout_type, periodLowCreator earns revenue from views, ads, or subscriptions
creator.milestone_reachedcreator_id, milestone_type, milestone_valueLowCreator hits a milestone (subscriber count, view count, etc.)


Instrument these events first to cover the core content consumption loop and monetisation.

// Media / Streaming — Top 10 events to instrument first
const MEDIA_PRIORITY_EVENTS = [
"user.signed_up", // Acquisition: new user enters
"first_content.consumed", // Activation: user gets value
"playback.started", // Engagement: content consumption begins
"playback.completed", // Engagement: content consumption finishes
"playback.heartbeat", // Engagement: continuous viewing signal
"content.searched", // Discovery: intent signal
"subscription.created", // Monetisation: user pays
"subscription.cancelled", // Retention risk: user may leave
"content.shared", // Advocacy: organic growth driver
"ad_revenue.impression", // Revenue: ad monetisation signal
];