Hacking Google Analytics

A quick look at how to use Scroll Depth data

This is the first in a series of posts that explain how to extend Google Analytics using two plugins: Scroll Depth and Riveted (disclosure: I made them).

While there’s nothing tricky about installing these plugins, there isn’t a user manual for working with the data they collect. So the point of these posts is simply to shed some light on what to do with the data once you have it.

Both plugins record activity using the Events API. For scroll depth, if we pull up the Behavior > Events > Overview > Scroll Depth > Event Label screen, we’ll see the raw event data, which looks like this:

Behavior > Events > Overview > Scroll Depth > Event Label

Scroll Depth records an event when the user scrolls 25%, 50%, 75%, and 100% of the way down the page. It also sends a baseline event, which fires immediately when the page loads. In addition to these percentage events, you can trigger events when particular elements on the page are scrolled into view.

Total Events vs Unique Events

One of the things I’ve received a few questions about is the difference between Total Events and Unique Events. It’s actually pretty simple but it’s an easy thing to stumble on.

Basically, Total Events are scoped to the pageview level while Unique Events are scoped to the visit. And example visit might look like this:

Over the course of 3 pageviews this visit would trigger 6 Total Events and 3 Unique Events (indicated with italics). Which set of numbers you’re interested in of course depends on what you’re trying to measure.

Overall Scroll Behavior

Let’s go back to the sample data set and look at Unique Events. Here it is again:

Running these numbers through a calculator we can see a few things right away. For instance, 77k users(26%), did not reach the 25% scroll mark. 74% of users made it at least 25% of way down the page while 42% made it at least 50%. 10% scrolled 75% and only 3% made it to the very bottom.

This snapshot of general site-wide scroll behavior is nice to know but the real value comes from cross referencing the scroll behavior with the rest of our GA metrics.

With this we can answer questions like, is there a correlation between visitor types and scrolling behavior? Are there particular areas of the site that generate more scrolling activity? Do certain traffic sources lead to more scrolling than others?


The best way to answer these questions is by using segments (“Advanced Segments”). You can create segments for different scroll depths and then compare them against the total traffic or against other scroll depths.

In this example we’ll create a segment of visits where users scrolled at least 75% of the way down the page. It’ll look like this:

Next, activate this segment as well as the All Visits segment. With both of these segments turned on you can compare the high-scrolling visits against the overall visits at any place in the GA dashboard.

Using the sample data shown above, here a few things I was able to observe about the 75% scroll segment.

  • Visit durations for deep scrollers were 150% longer than average
  • Returning visitors were 28% more likely to be deep scrollers
  • Pages per visit for deep scrollers were 75% greater
  • Average page load speed for deep scrollers was 30% faster
  • Deep scrollers were 243% more likely to interact with the site navigation

These data points are orthogonal to the post but I’m just offering them as examples of the sort of comparisons you might look for.

Some web metrics don’t really matter

Before signing off I feel obligated to point out that scroll metrics, like almost all web metrics, are proxy metrics. That is, they don’t have intrinsic value but they indicate behavior that we may be able to map to whatever goals are ultimately important to us (more sign-ups, more purchases, etc).

This doesn’t mean proxy metrics don’t have value. They do. We just have to remember that the story they tell is one layer away (at least) from the one we really care about.

Oh, and don’t forget correlation doesn’t imply causation. And make sure to read about activity bias.

Read Part 2, about using scroll events trigger Goals and Conversions.