Guide 127 · Setup · GA4 + Tag Manager
Turn on scroll tracking: the 90% depth event in enhanced measurement
Scroll tracking is one toggle inside enhanced measurement, and it answers a question page views cannot: did anyone reach the bottom of the page. GA4 fires one scroll event per page, the first time 90% of the page's vertical depth becomes visible. No code is needed. This guide turns the toggle on, or confirms it is already on, and shows where the event lands in the reports.
After step 3, the Scrolls option is on in the stream's enhanced measurement settings, and a visit that reaches the bottom of a page sends one scroll event with the engagement_time_msec parameter.
Download the reference: the scroll measurement reference (JSON) (560 bytes, MD5 a0ca6b645b515b21c61a7a57475b3385). The scroll trigger from Google's enhanced measurement page, with the depth recomputed: 90% of a 4,000-pixel page = 3,600 pixels.
What you need
- A web data stream with enhanced measurement available. Enhanced measurement applies to web streams, and the Scrolls option is one of its toggles.
- The Editor role or above at the property level. Google requires Editor or above to enable or disable enhanced measurement events.
- One long page to test with. A page shorter than the screen never reaches 90% depth in a meaningful way, so test on a page that actually scrolls.
The trace
- Open the stream. In Admin, under Data collection and modification, click Data streams, then click the name of the web data stream.
- Open the enhanced measurement options. Under Enhanced measurement, click the settings icon to edit individual options. Sliding the main switch on enables all options; the icon opens each one separately.
- Check Scrolls. Confirm the Scrolls option is on. It is on by default when the stream is created, so on a new stream this step is a confirmation, not a change. Save if you changed anything.
- Know the trigger. The scroll event fires the first time a user reaches the bottom of each page — when 90% vertical depth becomes visible. It fires once per page, not on every scroll movement. On a page 4,000 pixels tall, the event fires when the visible depth reaches 90% of 4,000, which is 0.90 × 4,000 = 3,600 pixels down the page.
- Find the event in the reports. Open Reports, then Engagement, then Events, and look for
scroll. The event populates the Percent scrolled dimension and carries theengagement_time_msecparameter. Standard reports can take 24 to 48 hours to show new data, so check Realtime or DebugView first.
Dead ends
DEAD END — EXPECTING SCROLL EVENTS AT 25%, 50%, AND 75%. Enhanced measurement fires one scroll event at 90% depth only. There is no 25%, 50%, or 75% event in the built-in option. If the reports need quarter depths, that is custom event work, not a toggle.
DEAD END — READING A MISSING SCROLL EVENT AS A BROKEN TAG. A short page that fits on one screen never triggers the event, because 90% depth is visible on load without scrolling — and the event still only fires on the first reach of the bottom. Test on a long page, and remember the 24 to 48 hour lag in standard reports.
DEAD END — TURNING THE WHOLE SWITCH OFF TO DISABLE ONE EVENT. The main enhanced measurement switch enables all options at once. To turn off one event, use the settings icon and toggle that option only, so the other events keep firing.
End state
Scrolls is on in the stream's enhanced measurement settings. Long pages send one scroll event each when a visitor first reaches 90% depth, and the event appears in Engagement, then Events, as scroll with the Percent scrolled dimension.
Sources
- Analytics Help — Enhanced measurement events — the Scrolls option: fires the first time a user reaches the bottom of each page, at 90% vertical depth; the Percent scrolled dimension and
engagement_time_msecparameter - Analytics Help — Confirm that you are collecting data — many reports and explorations can take 24 to 48 hours to process data; Realtime and DebugView confirm collection sooner
Checked 11 November 2026. The trigger and parameters above are the ones in Google's enhanced measurement page, opened 11 November 2026. No step in this guide was run inside a live Analytics property, because that needs a Google sign-in and this site does not sign in as anyone. The reference file was checked in Python: its figures were recomputed from the documentation values and match the numbers on this page. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.