Measure Page Scrolling in Google Analytics

A Google Analytics plugin for measuring page scrolling

Earlier today I came across a Google Analytics plugin called Scroll Depth, developed by Rob Flaherty. Here’s how he describes Scroll Depth:

Scroll Depth is a small Google Analytics plugin that allows you to measure how far down the page your users are scrolling. It monitors the 25%, 50%, 75%, and 100% scroll points, sending a Google Analytics Event at each one.

You can also track when specific elements on the page are scrolled into view. On a blog, for example, you could send a Scroll Depth event whenever the user reaches the end of a post.

The plugin supports Universal Analytics, Classic Google Analytics, and Google Tag Manager.

Scroll Depth is available on GitHub and on it’s project page. Getting it setup is easy, the only two requirements are Google Analytics and jQuery.

Below is a basic setup.

<script src="jquery.scrolldepth.min.js"></script>
$(function() {

Just be sure to include jquery.scrolldepth.min.js and the call to .scrollDepth() is made after Google Analytics has been loaded up.

There’s a number of options you can pass, too:. I especially like the elements option. It allows you to define a unique element to record scroll events for. So, if you want to track when users scroll to the footer of a post in WordPress, you could easily set that up!

  minHeight: 2000,
  elements: ['#comments', 'footer'],
  percentage: false,
  userTiming: false,
  pixelDepth: false

As stated, the only requirements are Google Analytics and jQuery. If it doesn’t seem to be working for you, ensure that Scroll Depth isn’t being loaded before your Google Analytics tracking code.

  • Thanks for the post Tyler. Have you actually been running it on any live sites? Is it delivering expected results?

    • I’ve been running it here, actually!

      Ever since Google revamped the Analytics UI, I’ve had a terrible time find my way around.

      I haven’t been able to find where I can find these exact events, or maybe it’s not reporting properly.

      I’ll do some troubleshooting tomorrow. πŸ™‚

      • I’ve looked everywhere and there’s no mention of it in Google Analytics. It doesn’t appear to be sending any data.

        • Same here Rik. Going to get with the developer to see what I’m missing. Will keep you updated.

  • Hey, this sounds very good but in my case it does not work. I dont know why. I think i have implemented it correct but no event was tracked πŸ™