ga4 scroll tracking

GA4 Scroll Tracking

Google Analytics 4 will track scroll activity by default with the ‘scroll’ enhanced measurement event. However, this event will only register an event once a visitor achieves a scroll depth of 90%. What if you want to measure more precise GA4 scroll tracking activity? If you want, for example, to track scroll at 25%, 50%, 75%, and 90% you’ll need more advanced scroll tracking. That’s where this tutorial can help.

To recap: if you only want to track scroll activity at 90% scroll depth, you can stop reading now. GA4 will do that for you with enhanced measurement. Maybe you can invest your time learning about GA4 link click tracking or about GA4 events in general.

But if you want to track scroll activity that can tell you when a visitor has scrolled to 25%, 50%, 75%, or *any* percentage you’re going to need something more advanced.

Why Would I Need More Advanced Scroll Tracking?

Tracking GA4 scroll activity can be a great way to gauge how visitors are engaging with the content on your site. It can help to identity any potential issues you might be having (where visitors are leaving especially early in their on page experience), and can also be a helpful event to help identify your most engaged visitors on your most important pages.

But the 90% scroll depth event that you get with the enhanced measurement scroll event doesn’t give you much of that. Nope. For that, you need more advanced scroll tracking with the help of Google Tag Manager and a GA4 custom event.

Watch the video below for a complete tutorial through the entire process. You can also read the highlights below to help supplement.

Why Do I Need Tag Manager for GA4 Scroll Tracking?

You can create some custom events in GA4 without the help of Google Tag Manager. But for most custom events you’re going to need to create a a GA4 event tag in GTM and pair it up with a proper trigger.

google tag manager png

Here are the major steps in the process.

Scroll Tracking Process in Brief

  1. If you don’t already have it installed, you’ll need to have a Google Tag Manager container code installed on your website. Here’s how to install GTM if you don’t have that up and running yet.
  2. Your GA4 Configuration tag must be set up within your GTM container code.
  3. You will need to create a scroll depth trigger that includes the specific vertical scroll depth percentages that you want to track.
  4. You will need to create a GA4 event tag with the scroll_depth event parameter to send your scroll depth percentage information to GA4.
  5. You must pair your GA4 event tag with your scroll depth trigger.
  6. After testing to confirm all is working as expected, you will need to publish your GTM container to make your tag and trigger live.
  7. Register a custom dimension in GA4 for your scroll_depth event parameter. You can read all about event parameters and custom dimensions if that sounds as mysterious to you as it did to me.
  8. Make sure you turn off the enhanced measurement event in the GA4 interface for scroll tracking. This will prevent any duplication in your data.

The video above walks through the full process. But if you only want to see what the trigger and tag look like, read on below!

Let’s take a look at the scroll tracking trigger.

What Does the GA4 Scroll Tracking Trigger Look Like?

Here it is!

The trigger type must be a Scroll Depth trigger type.

As you can see, this is tracking scroll depth at 25%, 50%, 75%, 90%, and 100%. If you wanted to only track at 50% and 90%, you’d only have 50 and 90 listed in the field for Percentages.

The trigger for the Root and Branch site fires on all pages. If, however, you only wanted it to fire on some pages you can specify that in the field towards the bottom of the trigger.

ga4 scroll depth tracking trigger

After creating the trigger, you will need to create a GA4 event tag.

The GA4 Scroll Tracking Event Tag

The tag type is “GA4 Event.” When you create a GA4 event tag you need to associate it with your GA4 property that you’ll be sending data into. You make this selection when you select your GA4 Configuration tag.

The Event Name is what will actually show up in your GA4 event data. You can see that this event is called scroll. If you want to call yours scroll_depth or vertical_scrolls or i_wonder_how_far_they_scrolled, you can certainly do so. But in general, shorter is better. And I recommend you use snake case naming convention, meaning lowercase letters and underscores instead of spaces.

ga4 scroll depth tracking tag

You *must* set an event parameter using the variable {{Scroll Depth Threshold}} if you want to pull in the vertical scroll depths you selected in configuring your trigger. Please note: if you haven’t already done so you’ll need to configure your built in variables for this. Configuring a built in variable takes less than 10 seconds and only involves toggling on a check box.

Pair the Scroll Tracking Event Tag and Trigger

In order for your GA4 scroll tracking tag to work as expected, you must pair it with the trigger you created. The trigger’s job is to identify when some important action has taken place. In this case, that important action is the scroll depth activity. The tag’s job is to send data when the trigger fires. Neither are super useful on their own. Together, they create a powerful custom event and can lead to insightful data.

google analytics 4 scroll depth tracking paired tag and trigger

Final Steps

The last steps are to test your GA4 event tag in Google Tag Manager’s Preview Mode. After you can confirm it’s working, publish the container.

Then, register a custom dimension in GA4 for the scroll_depth event parameter data that is being sent with your event. This will allow you to see your vertical scroll depths in your report data. And finally, make sure you’ve turned off the enhanced measurement event for scroll depth. This will prevent the default 90% enhanced measurement event from firing and will leave only your custom event to do the scroll tracking work.

If you are using Google Tag Manager to help with your Google Analytics installation, I hope you are fully up and running with the proper GA4 installation and configuration. If not, this 10 step guide may be useful.

Looking for something else? Feel free to leave a note in the comments or on the Root and Branch YouTube channel at We’re always looking for new content ideas.

Wrapping Up

If you’re still someone learning about GA4 (as I am), I’d recommend checking out this GA4 vs. UA comparison or this list of updated GA4 questions. You can also subscribe to the Root and Branch YouTube channel for an updated video every week or so. I’ll see you there! There are explainers and tutorials for tracking like this.

About Root & Branch

Root & Branch is a certified Google Partner agency and focuses on paid search (PPC), SEO, Local SEO, and Google Analytics. You can learn more about us here. Or hit the button below to check out YouTube for more digital marketing tips and training resources.

click to yt

9 replies

Trackbacks & Pingbacks

  1. […] custom scroll tracking event set to fire at 70% scroll depth will reliably tell you when a visitor has scrolled 70% of the […]

  2. […] single session. Some other examples of events are viewed pages (page_view event), scroll activity (scroll event), and file downloads (file_download […]

  3. […] an example below. As you can see in the yellow box, we have created two new custom dimensions (Scroll Depth and Session Count) based on two event parameters (scroll_depth and ga_session_number). Registering […]

  4. […] back on. [Please note: there are sometimes that we may want to toggle some of these events off. Scroll depth is a great example of an enhanced measurement event that we can track much more effectively with […]

  5. […] “event” could be something like scroll depth tracking, or video plays, or page timer tracking, or link click tracking. In this case, the event […]

  6. […] GA4 events does require the help of Google Tag Manager. Things like button click tracking, custom scroll tracking, internal link click tracking, page timer tracking, and more all fit in this category. The linked […]

  7. […] Just like in Universal Analytics, GA4 functions best when used in conjunction with Google Tag Manager. Tag Manager can quickly install the GA4 configuration tag. Tag Manager can also create custom GA4 event tags for things like button click tracking and custom scroll depth tracking. […]

  8. […] 90% scroll depth. This isn’t sufficient for what I want to see, so I’m creating my own custom scroll tracking tag with an event […]

  9. […] tags in Google Tag Manager. There are a number of guides on this website for GA4 event tags like advanced scroll tracking, internal link click tracking, and more. However, it’s possible to create some custom events […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *