The scroll event and depth tracking
A scroll event records that a visitor scrolled to a depth on the page. In GA4 enhanced measurement, a single scroll event fires once per page when the visitor reaches 90% of the page height. It is a coarse engagement signal — useful for spotting content people do not reach, but limited because the default is one threshold, not a continuous read-depth curve.
What this means
The scroll event marks that a visitor scrolled to a depth threshold. GA4's enhanced measurement fires one scroll event per page load when the user first reaches 90% vertical depth. Custom implementations can fire at multiple thresholds (25/50/75/100%) to build a read-depth picture.
What it can and cannot tell you
Scroll depth helps where dwell time is misleading: a high reach-bottom rate suggests content is being read, a low one suggests people stop early. But the default single 90% event is coarse — it does not show the shape of the drop-off. And reaching the bottom is not the same as reading; fast scrolling triggers the same event as careful reading.
- Default: one event at 90% depth per page
- Custom thresholds build a read-depth curve
- Reaching depth is not the same as reading
How it appears in analytics and logs
A scroll event means the visitor reached the configured depth. Few scroll events on a long page suggest people stop early; many on short pages can simply mean the page fits one screen.
Diagnostic use case
Spot whether visitors reach the bottom of long pages, and gauge engagement on content where time-on-page is unreliable, using a coarse depth signal.
What WebmasterID can help detect
WebmasterID can record scroll-depth as a first-party engagement event without cookies, giving a read-completion signal that stays anonymous by construction.
Common mistakes
- Treating a scroll-to-bottom as proof of reading.
- Expecting a read-depth curve from the single default event.
- Comparing scroll rates across very different page lengths.
Privacy and accuracy notes
Scroll depth is a position on a page, not a person. It needs no identifier and carries no personal data, so it is one of the safest engagement signals to record.
Related pages
- 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.
- Engagement time and the user_engagement event
Engagement time measures how long a page was actually in the foreground and active, recorded through GA4's user_engagement event. It replaces the old, unreliable time-on-page that could not measure the last page of a visit. By only counting time when the tab is visible and focused, engagement time is a more honest attention signal — though still not a guarantee that anyone read anything.
- Bounce rate: definition and why it misleads
Bounce rate is the percentage of sessions with only one interaction. Its definition shifted: classic tools counted single-pageview sessions; GA4 derives it from engaged sessions instead. A high bounce rate is not inherently bad — for a single-answer page it can mean success — which is why context matters more than the number.
- Event Explorer
Inspect scroll-depth events per page.
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.