Accurately measuring text content engagement

We regularly come across clients who struggle to measure content engagement on their websites accurately. Often these clients have informational websites and engagement with the information they provide actually is the conversion. How can you measure that content engagement in the most accurate way possible? Here we discuss a number of possibilities.

 

Views

The most basic indicator that (text) content was viewed is a pageview. But does a pageview actually mean the content on that page was read? Far from. It merely means a page was loaded into the browser, nothing more. So this is not really a good indicator of engagement with the content.

 

Time on page

Time on page historically is calculated by subtracting the timestamps of subsequent pages that are loaded into the browser from each other. E.g. page 1 was loaded into the browser at 10:00:00 and page 2 was loaded at 10:03:26, therefore the time spent on page 1 was 10:03:26 minus 10:00:00, so 3 minutes and 26 seconds.

But what if that page was the only page that was viewed? In that case many analytics tools report a time on page of zero (yes, 00:00:00!) because there is no next time stamp available to calculate the time spent. By the way, GA4 has gotten better somewhat better at this because it takes into consideration whether the browser is in the foreground.

 

But the fact that users spend x time on a page still doesn’t mean they actually read the content.

Scroll depth

Scroll depth, typically expressed in 25% intervals (25%, 50%, 75%, 100%), tells you that a user scrolled a page. When I visit article pages the first thing I do is scroll to the bottom to see how long that piece of content is that I’m about to read. So I will generate a 100% scroll in 0,5 seconds flat. Still doesn’t mean I read the page, right? 

 

Your users will act in the same manner. Scroll metrics lack a time component to inform us to what extent users really engaged with an article or blog page (or any page for that matter).

Read score (scroll depth + time)

What if you could marry the fact that a user scrolled down a page to a time component? Enter the read score method which was developed by Lone Wolves and first presented at MeasureCamp Brussels last December.

Lone Wolves present read score at Measure Camp Brussels
Mickael and Remco present read score to the Measure Camp audience at the Google offices in Brussels

We successfully developed a script that measures the reading progress of a user by taking into account both scrolling progession and a time component which is calculated from an average reading speed of 30 characters per second.

When both conditions are met a score is produced to indicate that the user actively scrolled and read the article taking into account average reading speed. This is done for every page view of a certain page which enables reading progress analysis at an aggregate level (page view 1 has a read score of 83%, page view 2 of 75%, page view 3 of 98% etc., from these values an average for specfic pages can be calculated).

The script can also be adapted to produce a fixed value when a certain threshold is met, for example when 80% reading of a page is considered success. In this case when the user progressively scrolled 80% of the page and read the content (taking into account the average reading speed) an event with a value “read” is reigstered. Vice versa a “not_read” event value is registered when this threshold is not met.

 


 

This then allows for calculation of the percentage page reads per page in a custom metric.
In other words it provides the data to determine to what extent every single page on
your website (or a subset thereof) is actually being read by your users.

 
The insights such a script can deliver are particularly interesting for media websites, blogs, article pages and other sites with long form text content. The script can be adapted to take into account the particularities of your specific website and is available for Google Analytics 4. Adaptation for other analytics tools is available on request. The one-off cost for an implementation is typically in the range of EUR 2.500. Interested? Do let us know.