Scroll depth and engaged time
How far down each page people scroll, and how many seconds the page was actually visible to them.


What it does
A card with average scroll depth, average engaged seconds and the share of views that reached 75% of the page, per page and for the whole site.
Why it matters
A long guide with a 30% average scroll depth is telling you something. Engaged time ignores tabs left open in the background.
How to use it
- Add data-engage to the events script.
- Find Scroll depth and engaged time on your dashboard.
- Compare pages: low scroll on a long page means people stop early.
<script data-host="https://quietstats.co.uk" data-dnt="true" data-engage src="https://quietstats.co.uk/js/events.js" id="YOUR_SITE_ID" async defer></script>Replace YOUR_SITE_ID with the ID shown on your site’s Manage page.
How it works
- Add data-engage to the events script.
- When the visitor leaves or hides the tab, one small message sends the deepest point seen (0–100%) and the seconds the tab was visible.
- It updates the pageview that already exists: no new row. A value only ever goes up, and a page sends at most 3 of these.
Privacy
- Collected: Deepest scroll % seen
- Collected: Seconds the tab was visible on that page
- Not collected: Mouse movement, clicks or what was on screen
- No cookies, and nothing stored on the visitor’s device.
- Reports show totals only: never a visitor list, IP address or single visit.
Limits
- Engaged time capped at 30 minutes per page
- Rows: 1 update per tracked pageview (up to 3 if the visitor leaves and returns), 0 new rows, and it never counts towards your pageviews
- Needs the events script (2,344 bytes) rather than the standard script.js, which is about 476 bytes to download (845 bytes uncompressed)
Plans
Every plan, including Free. quietstats is free during launch: the Free plan covers 1 site and 5,000 pageviews a month, and no card is needed. See pricing.
Questions
Does it slow the page down?
No. It listens for scroll and visibility changes and sends with sendBeacon when the visitor leaves.
Is the standard script affected?
No. script.js is unchanged at about 476 bytes to download (845 bytes uncompressed); engagement is only in events.js when you add data-engage.