The video_progress event milestones
video_progress is an enhanced-measurement event that fires as a user reaches playback milestones — commonly 10%, 25%, 50%, and 75% — of an embedded video. Sitting between video_start and video_complete, it shows engagement depth: not just whether play began, but how far viewers got. It is captured automatically for supported embeds with parameters describing the video and percent, not the viewer. It turns a binary into a drop-off curve.
What it measures
For supported video embeds with enhanced measurement on, GA4 logs video_start, video_progress at threshold percentages (such as 10/25/50/75%), and video_complete (Google Analytics Help). video_progress is the middle of that funnel: it reports that a viewer crossed a depth milestone, with parameters for the video title/provider and the percent reached.
Reading the drop-off
Plotting milestone counts produces a retention curve for each video: how many starters reach 25%, half, three-quarters, the end. A sharp fall early flags a weak opening or mismatched expectations; a gentle taper suggests length is the limiter. Use it to edit, re-order, or shorten content. Because only media and percent are recorded, you get the engagement picture without any viewer-level identity.
- Milestones sit between video_start and video_complete
- Parameters: video identity and percent reached
- Milestone counts form a per-video retention curve
How it appears in analytics and logs
Strong starts but milestones tailing off by 25% mean viewers disengage early — a hook, length, or relevance issue rather than a discovery problem.
Diagnostic use case
See how far viewers get into a video by tracking video_progress milestones, so you can spot where attention drops rather than only counting starts.
What WebmasterID can help detect
WebmasterID can record video milestone signals as first-party events keyed to a video, without cookies or per-viewer identity, mirroring this depth view.
Common mistakes
- Tracking only starts and completes, missing the drop-off shape.
- Assuming a start implies sustained viewing.
- Adding viewer identity to media-level events.
Privacy and accuracy notes
video_progress carries the video identity and a percent, never the viewer's identity. Keep parameters to the media and milestone only.
Related pages
- Video start and complete events
video_start and video_complete are GA4 video events that mark the beginning and end of a video play. GA4's enhanced measurement collects them (plus video_progress) for embedded YouTube players. Together they bracket viewing: starts show interest, completes show retention, and the gap between them measures how much of your video people actually finish.
- Video engagement events
Video engagement events record interaction with embedded video: video_start, video_progress (at 10/25/50/75% milestones), and video_complete. GA4's enhanced measurement captures these for supported embeds automatically. They turn an opaque 'a video exists' into a watch-depth signal — and because progress is milestone-based, you can see where viewers drop off rather than only that they pressed play.
- Enhanced measurement (auto events)
Enhanced measurement is a GA4 setting that automatically collects a set of interaction events — scrolls, outbound clicks, site search, video engagement, file downloads, and form interactions — without extra code. It is convenient but not magic: it only covers standard patterns, can over- or under-count, and each option can be toggled. This page explains what it does and its limits.
- Event Explorer
Track video engagement depth.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.