Scroll depth
Scroll depth answers how far visitors actually read a page, and whether the ones who read further were more likely to buy.
Set this up with AI
Copy this prompt into ChatGPT, Claude or whichever AI you use. It carries this whole guide, the pages it depends on, and a link to every video, so it can walk you through it one step at a time.
What this answers
Say 1,000 people visit a page this month. How many of them actually read the page, rather than bouncing off the top? And of the people who read it, how many bought? Scroll depth answers both: 400 of the 1,000 visitors reached 90% of the page, and 100 of those 400 went on to buy.
Filter by A/B variant to compare scroll depth between versions of a page - see A/B testing.
How to get there
Pick the site you want from the selector at the top of the left sidebar, click Pages, then click the page you want to look at. Scroll depth is one of the panels on that page's detail view, alongside its upstream paths.
Every row means "at least"
The rows are not slices. Each one counts everyone who got at least that far.
Someone who read 95% of the page is counted in the 90% row. They are also counted in the 75% row, the 50% row and the 25% row, because they passed all of those on the way down.
That is why the numbers only ever fall as you read down the table. Fewer people reach 90% than reach 50%, so the 90% row can never show more visitors than the 50% row above it. If you ever see it go up, something is wrong and it is worth telling us.
It also means the rows do not add up to your total visitors, and they are not meant to. The All visitors row at the top is the total.
Every column counts people, not page loads. Someone who opened the page three times and reached 95% on one of those visits is one visitor who reached 90%.
The columns
- Depth - the percent of the page, or All visitors for the unfiltered baseline row.
- Reached - a bar showing what share of all visitors reached that depth.
- Visitors - how many people reached that depth, as a count.
- Buyers - how many of those visitors went on to buy. A visitor counts as a buyer only if the purchase happened in the same visit as the scroll or in a later one - a purchase that happened before they ever saw the page is not evidence the page sold anything.
- Conv. rate - Buyers divided by the Visitors in that row, not by all visitors. This is what lets you compare how depth relates to buying: if the 90% row converts higher than the 25% row, the people who read further were more likely to buy.
- Revenue - the revenue attributed to the buyers in that row.
Adding your own depth
Click + Custom depth to add any whole number from 1 to 100, beyond the default 25%, 50%, 75%, and 90% rows. You can add up to eight; remove one to add another.
A depth you add is tagged Custom in the table so it's easy to tell apart from the defaults. Added depths live in the page's address, so you can copy the link and share the exact view, custom depths included.
Jumping into Clarity
If Microsoft Clarity is connected, every row carries a Clarity link.
Click it to open Replays, Click map, or Scroll map in Clarity, filtered to this page and, when Clarity can express it, your date range. The links are the same on every row - Clarity cannot filter by a depth TrueMetriks measured, so there is no way to open "just the recordings of people who reached 90%". They all open the same page-scoped view; only the page and the date range carry across.
Two things to expect going in: Clarity samples its recordings, so the number of recordings you see in Clarity will not match the Visitors column here, and that's normal, not a bug. And Clarity's own date filter only understands a window ending today (last 3, 7, or 30 days) - if your dashboard's range doesn't fit that shape, the link opens Clarity on its own default range instead of your dashboard's.
You do not need Clarity
Scroll depth works with or without Clarity connected.
The numbers in the table come from the TrueMetriks tracker and are identical either way - connecting Clarity does not change a single row. It only adds the Clarity column of links described above. If Clarity is connected but this site has no domain set, the panel shows a note that Clarity links need the site's domain before the column can appear.
Sites on the Shopify Web Pixel
The Shopify Web Pixel does not measure scroll depth. Shopify runs the pixel in a sandbox with no access to the page itself, so there is nothing for it to measure. A store tracked only through the Web Pixel shows "No scroll data for the selected period." on every page, and that will not change with more traffic. Scroll depth is measured by the TrueMetriks page tracker, the script installed on your site's pages.
More short visits report from 2026-09-26
To measure how long a visit lasts, the TrueMetriks tracker now also checks in while the page is open (at 5, 15 and 60 seconds, then every 2 minutes), not only when the visitor leaves. Some browsers, in-app browsers above all, close a page without ever saying goodbye, so before this change a short visit there often reported nothing. Now more of those short visits report a scroll depth.
The result: from 2026-09-26 the panel can count somewhat more visitors than before, mostly in the All visitors row and the shallow 25% and 50% rows. Nothing about your page changed, and nothing needs to change in your install. Keep that date in mind if you compare a range before it with a range after it.
The numbers start today
Scroll depth is measured from the moment this feature went live on your site. It cannot be filled in backwards from traffic that already happened, so a page with no scroll data yet - either a new page or one that hasn't had visits since the feature launched - shows "No scroll data for the selected period." until traffic arrives.
For the Clarity links described above, see the Microsoft Clarity guide.
Frequently asked questions
Does clicking Clarity on a row show that row's visitors in Clarity?
No. Clarity cannot filter by a depth TrueMetriks measured, so every row's Clarity links open the same recordings, click map, and scroll map, filtered only to this page and your date range. The 90% row does not show deep scrollers any more than the 25% row does.
Why doesn't the number of recordings in Clarity match the Visitors column?
Clarity samples the sessions it records, so it will not have a recording for every visitor TrueMetriks counted. A gap between the two numbers doesn't mean either one is wrong.
The panel shows a different date range than what opens in Clarity. Why?
Clarity's own date filter can only express a window ending today (last 3, 7, or 30 days). If your dashboard range doesn't fit that shape, such as a range that ends in the past or a calendar week, month, or year, the Clarity link opens on Clarity's own default range instead of guessing at one.
Do I need to connect Microsoft Clarity to see scroll depth?
No. Scroll depth is measured by the TrueMetriks tracker and the numbers are identical whether or not Clarity is connected. Connecting Clarity only adds a column of links to the matching recordings and heatmaps; it changes nothing in the table.
Why does my Shopify store show no scroll data?
The Shopify Web Pixel does not measure scroll depth. Shopify runs the pixel in a sandbox with no access to the page itself, so a store tracked only through the Web Pixel shows no scroll data on every page, and more traffic will not change that.
Why did the Visitors count go up from 2026-09-26?
From 2026-09-26 the tracker also checks in while a page is open, at 5, 15 and 60 seconds and then every 2 minutes, not only when the visitor leaves. It does this to measure visit duration. More short visits, especially from in-app browsers, now report how far they scrolled, so the panel can count somewhat more visitors than before, mostly in the shallow rows.
I connected Clarity but don't see the Clarity column. Why?
Clarity links need this site's domain to be set, so the panel can build a URL for the page. Set the domain in Settings and the column appears on the next load.