Scroll Depth

Scroll Depth is a content engagement metric that shows how far a user scrolls down a page, expressed as a percentage. It helps you see whether people are actually reaching your key content blocks (headline, intro, body, CTA) rather than just generating a Pageview and bouncing. In plain terms: it’s a sanity check for attention, complementing metrics like Time on Page, Bounce Rate, and Engagement Rate.

Formula (relative to the full document or content container):
Scroll Depth % = (max_scrolled_pixels / total_content_height_pixels) × 100

Mini-example: On an article 3,000 px tall, if a user’s max scroll is 1,200 px, the Scroll Depth is 1,200 / 3,000 = 40%.

Why Scroll Depth matters

  • Content quality signal: If most sessions plateau at 25–50%, your introduction might be strong, but the mid-page content (or layout) is losing readers.
  • Placement decisions: Move CTAs, forms, or key links to regions with reliable visibility.
  • Funnel diagnostics: Correlate scroll buckets with Conversion Rate to see if deeper reading predicts action.
  • Attention benchmarking: Combine with Session length and Event Count to spot patterns (e.g., many events but shallow scroll may indicate interactive widgets high on the page).

How to measure Scroll Depth (practical notes)

Most teams track thresholds (e.g., 25/50/75/100%). Fire an event once per threshold per session to avoid duplicates. Measure against the main content container (not the full document) when pages have large headers, sidebars, or comments. Debounce scroll listeners and sample aggressively on long pages to reduce noise.

Common pitfalls & fixes:

  • Sticky headers / dynamic UI: Subtract fixed header height from the viewport to avoid overstating depth.
  • Lazy loading & embeds: Update total height after images/iframes load.
  • Infinite scroll / pagination: Compute per “article unit,” not just the overall document.
  • Single-page apps: Reset trackers on route change; don’t carry over depth.

Typical interpretation table

BucketInterpretation
0–25%Headline-only skims; check hero and lead.
25–50%Light scan; validate subheads and early visuals.
50–75%Solid interest; place supporting arguments and soft CTAs.
75–100%High intent; good spot for primary CTA or form.