Measure scroll depth
Updated October 18, 2026
Scroll depth tells you how much of a page people actually read: an article everyone leaves after the first screen reads differently from one read to the end.
It is off by default and needs a second, optional script, so the main Statsdot script stays under 1 KB for everyone who does not use it.
Turn it on
- Open the settings of your site (the cog next to the period buttons) and tick Measure scroll depth.
- Paste the snippet that appears next to the main one, on the pages you want to measure:
<script defer data-domain="example.com" src="https://statsdot.com/js/scroll.js"></script>
If you serve Statsdot from your own domain, load it from the same path as the main script, for example /sd/js/scroll.js. See Serve the script from your own domain.
While the setting is off, Statsdot ignores anything the script sends, so you can switch it off without touching your site.
What you see
The Top pages list gets a Scroll column: the average of the deepest point reached on each page, in percent. 100 % means people reached the bottom of the page. A short page that fits on the screen counts as 100 %.
The column shows when no visit filter is set. Scroll depth is recorded without any visitor code, so it cannot be tied to a visit and filtered by source, country or device. Filtering by page still works.
What is sent
One number per page view, when the visitor leaves the page or switches to another tab: the domain, the page path and the deepest point reached. No visitor code, no IP address, no cookies, nothing stored in the browser. Statsdot keeps only a daily total per page (page views measured and their depths), not one record per page view. The same exclusions as the main script apply: it does nothing on localhost, for automated browsers or when you excluded your own browser.
Scroll depth does not count towards your monthly events and follows your plan's data retention.