What is Scroll Depth in Google Analytics?

Cody Schneider10 min read

Knowing how many people visit your website is one thing, but understanding how they actually interact with your content is something else entirely. Scroll depth tracking is a powerful way to measure user engagement that goes beyond simple pageviews. In this article, we'll walk through what scroll depth is, how Google Analytics 4 tracks it, and how you can use that data to improve your content.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

What Is Scroll Depth?

Scroll depth measures how far down a user scrolls on a webpage, typically expressed as a percentage of the total page height. For example, you can track when a user has viewed 25%, 50%, 75%, and 90% of a page. It's a key behavioral metric that helps you gauge how much of your content is actually being consumed by your audience.

Think about a long blog post. A visitor might land on the page, read the first paragraph, and leave. A standard pageview metric would count this as a successful visit. However, if they only saw 10% of the content, was it truly engaging? Scroll depth answers this question by giving you a more nuanced view of user interest.

Why Is Scroll Depth an Important Metric?

Tracking scroll depth provides context that surface-level metrics like pageviews and bounce rates often miss. It helps you understand the story behind the numbers and make more informed decisions about your content and site layout. Here’s why it matters:

  • Gauges real content engagement: It shows if people are genuinely reading your articles or just glancing at the top of the page. High scroll depth on your blog posts is a strong signal that your content is interesting and relevant.
  • Identifies drop-off points: Are most of your visitors leaving before they reach the halfway point of a critical landing page? Knowing this helps you pinpoint potentially boring sections, unattractive design elements, or technical issues that might be causing friction.
  • Optimizes Call-to-Action (CTA) placement: If only 30% of your audience scrolls far enough to see your primary CTA, it’s not in the right place. Scroll depth data allows you to position your most important banners, buttons, and lead magnets where they are most likely to be seen.
  • Provides context for bounce rates: A "bounce" (a single-page session) might seem bad, but if that user scrolled 90% of the way through a 2,000-word article to find their answer, they had a very successful visit. Scroll depth helps you distinguish between unsuccessful visits and engaged one-page sessions.

How Scroll Depth Works in Google Analytics 4

If you used Google's previous system, Universal Analytics, you’ll remember that tracking scroll depth required a manual setup using Google Tag Manager (GTM). One of the best quality-of-life improvements in Google Analytics 4 is that basic scroll tracking is now built-in.

This feature is part of GA4’s “Enhanced measurement,” which automatically collects data for common website interactions like file downloads, outbound link clicks, and video engagement, in addition to scrolls.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Understanding the GA4 'scroll' Event

By default, GA4’s enhanced measurement fires a scroll event only when a user scrolls past the 90% mark of a page for the first time during that pageview. This is a great starting point, as it effectively tells you who finished reading your content.

While this single data point is useful, it doesn't show you the journey. You don’t know how many users reached 25% or 50%, which is where the most valuable insights about drop-off often hide. We'll cover how to track these more granular percentages later on.

How to Check if Enhanced Measurement is Enabled

First, let's make sure GA4 is actually tracking scrolls for you. This feature is enabled by default in most new GA4 properties, but it’s always a good idea to confirm.

  1. In your GA4 property, click the Admin gear icon in the bottom-left corner.
  2. Under the Property column, click on Data Streams.
  3. Select your website's data stream (there's usually just one for a website).
  4. Look for the Enhanced measurement section. If the toggle is on, you’re good to go.
  5. You can click the gear icon to the right to see exactly which events are being measured. Make sure Scrolls is on the list and checked.

If that setting is on, GA4 is already collecting data on everyone who scrolls at least 90% down your pages.

Where to Find and Analyze Scroll Depth Data in GA4

Now that you know GA4 is collecting the data, where do you find it? You won't find a pre-built "Scroll Depth report." Instead, you can look at the raw event data or build a custom report to make the information useful.

Method 1: Using the Standard 'Events' Report

The simplest way to see your scroll data is in the base Events report. This gives you a high-level overview.

  1. From the left-hand navigation, go to ReportsEngagementEvents.
  2. In the table, look for an event named "scroll."
  3. Clicking on it will show you some basic details, but it primarily tells you one thing: the total number of times the 90% scroll threshold has been crossed on your entire website within the selected date range.

This is mildly interesting, but not very actionable. To pull real insights, you need to see which specific pages are getting the most scrolls.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Method 2: Building a Custom Report in 'Explorations'

For more meaningful analysis, you'll need to jump into the 'Explore' section of GA4. This is where you can build custom reports that slice and dice your data just how you want it. Let’s build a simple report showing scroll events per page.

  1. Navigate to the Explore section from the left-hand menu and start a new Free form exploration.
  2. In the Variables column on the left, make sure you have the right dimensions and metrics.
  3. Now, let's build the report:
  4. Finally, let's filter this table to show only scroll events:

The resulting table shows every page on your site that has triggered the scroll event, along with a count of how many times it happened. Sort by 'Event count' to see your most "scrolled-to-the-bottom" pages. Pages with high scroll numbers likely have very engaging content.

How to Track Granular Scroll Depths (25%, 50%, 75%)

Tracking the 90% threshold is useful, but the real story is in the drop-off. To see how many people make it to 25%, 50%, and 75%, you need to create a custom setup with Google Tag Manager. This will give you a full funnel view of your content consumption.

Important: Before you do this, you must disable the native scroll tracking in GA4 to avoid collecting duplicate data.

Step 1: Disable Automatic Scroll Tracking in GA4

Head back to your Enhanced measurement settings (Admin → Data Streams → [your stream] → Gear icon) and uncheck the box for Scrolls, then save.

Step 2: Set up Scroll Depth Tracking in Google Tag Manager (GTM)

If you don’t already use GTM, this is a great reason to start. We’re going to create a trigger that fires at different scroll points and a tag that sends that information to GA4.

Create the Trigger

  1. In your GTM container, go to Triggers and click New.
  2. Name it something descriptive, like "GA4 Trigger - Scroll Depth".
  3. Click Trigger Configuration and select the Scroll Depth trigger type.
  4. Choose Vertical Scroll Depths.
  5. Under Percentages, enter the thresholds you want to track, separated by commas: 25,50,75,90.
  6. Set the trigger to fire on "All Pages." Save the trigger.

Create the Tag

  1. Now go to Tags and click New. Name it "GA4 Event - Scroll".
  2. Click Tag Configuration and select Google Analytics: GA4 Event.
  3. For the Configuration Tag, select your main GA4 configuration tag (you should already have this set up).
  4. In the Event Name field, it’s best practice to use a dynamic name. Enter scroll_{{Scroll Depth Threshold}}. The {{Scroll Depth Threshold}} is a built-in GTM variable that will automatically be replaced by "25", "50", "75", or "90" depending on how far the user scrolled.
  5. To make analysis easier later, let’s add an event parameter. Under Event Parameters, add a row:
  6. Under Triggering, select the "GA4 Trigger - Scroll Depth" trigger you just created.
  7. Save a tag. Remember to use Preview mode to test it and then click Submit to publish your changes.

Step 3: Register a Custom Dimension in GA4

We created an event parameter called percent_scrolled. To be able to use this in your GA4 reports, you have to tell GA4 that it's coming. This is done by registering it as a custom dimension.

  1. In GA4, go back to Admin, and under the Property column, click Custom definitions.
  2. On the Custom dimensions tab, click Create custom dimensions.
  3. Fill out the fields:
  4. Save it. It can take 24-48 hours for data to start populating in this new dimension.
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Analyzing Your Custom Scroll Depth Reports

Once you’ve collected some data with a custom GTM setup, you can build a much more powerful Exploration report. Let's create one that shows the visitor drop-off down a specific page.

  1. Go back to Explore and create a new Free form report.
  2. Add your new custom dimension, Percent Scrolled, and Event name to the Dimensions list, and Event count to the Metrics.
  3. Drag Event name into Rows and Event count into Values.
  4. Apply a filter where Event name starts with scroll_.

This will give you a count for scroll_25, scroll_50, etc., for your entire site helping you see the overall engagement funnel. To see the funnel for a single page, add another filter for 'Page path' that exactly matches the page you want to analyze.

Even better, for a clear funnel view of one page, set up your report like this:

  • Rows: Percent Scrolled
  • Values: Event Count
  • Filters: Page path exactly matches /your-blog-post AND Event Name starts with scroll_.

You’ll get a clean table that looks something like this:

  • 25: 1,204
  • 50: 988
  • 75: 612
  • 90: 350

Here, you can clearly see the drop-off at each stage. There's a big drop between 50% and 75%. Now you can ask the important questions: What happens at the midpoint of that article? Is there a tedious section? Does a plugin cause a strange loading issue? This is the kind of actionable insight that scroll depth reporting can deliver.

Final Thoughts

Scroll depth moves you from counting visitors to truly understanding their behavior. It reveals which content is hitting the mark and where your audience loses interest, giving you clear signals on what to fix and what to create more of. While GA4 offers baseline scroll tracking, setting up granular tracking via GTM unlocks a much deeper level of analysis.

While setting up these reports in GA4 is powerful, building explorations for every new question you have can quickly become repetitive. That's why we created Graphed. After connecting Google Analytics, you can ask questions in plain English like "Show me the scroll depth funnel for my top 10 blog posts this month" and get an instant, real-time visualization without building anything from scratch. It's designed to automate the repetitive tasks of reporting so you can get straight to the insights.

Related Articles

How to Enable Data Analysis in Excel

Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!