The traditional way of measuring engagement for blog posts is deeply flawed. Here’s a helpful, free(!) solution to help you ultimately discover what content visitors are likely to deeply engage with.
The ways in which we track articles today are simple, but they don’t give us the information to know how to compare engagement across articles when articles are of different lengths. There are three main ways articles are tracked today. We use page views, time on page, and page scroll depth.
A user views the page with the blog, and we count that. The issue here is that we can’t be sure the content was ever truly viewed by the user. Furthermore, we have no idea how truly engaged the user is with the content.
Time on page
Similar to page views, a user visits the site, and we count that. We also record how long they were on the page. The benefit here is we have an idea how engaged the user is. The problem is each post is different in length and complexity, so there’s no “standard” engagement time.
Page scroll depth
Like page views, we add a measure of how engaged a user is with the content, this one being how far on the page the user made it. The problem here is the same as the time on page method. Each page is different. We also have the issue of user behavior. Many users scroll the length of the page to assess the length of the article before committing to reading it. Alternatively, some articles may not be long enough to necessitate scrolling.
I propose a solution where we measure each article like a video. Based on length, we can ascertain the percentage of an article a user could have engaged with, based on their time viewing it. This takes into account differences in length of articles and normalizes them so they can be compared to each other.
To do this we need to do three things. First we need to count the number of words in each article. There’s a difference in a 200 word piece and a 700 word piece. Once we have an idea of how many words there are, we can begin to normalize articles. Next, we should establish a baseline of how many words a user is reading. The average words-read-per-minute hovers between 200 – 250 (use the lower end). This baseline will help us create our milestones and normalize engagement across different length articles. Finally, we mark when a user has passed a predefined milestone and fire off an event.
The first step is to find the article in question on the page via DOM scraping. Once we have the entire article, we can use regex to create an array of all of the words in an article. We then can take our baseline words-per-minute (that we decided on earlier) and divide word count by it. This gives us the reading time of the article in minutes. You will probably want to convert this to milliseconds for the next step.
Next, we apply our milestones that we want to use. Here I am using [25, 50, 75, 100], and we create an array. Now, calculate the milestone values as the percent of seconds it takes to reach each. Below, I use (milestone / 100) * readingTimeInMilliSec. Finally, we want to set a timer whenever a user first views the article using an “enters viewport” (“element visibility” for Adobe), and we fire an event when a milestone is triggered.
We now have milestone events for each user that views an article. Now our articles can be analyzed the same way a video or audio is, and we have a measure of engagement that we don’t get with just page views. The milestones provide a normalized way of comparing posts of different lengths, unlike with time on page. In contrast to the page scroll depth method, we start our timer only after the article is visible for a particular amount of time, so we take into account user behavior.
Once you have deployed this solution to your own site, you can ask (and hopefully answer!) questions about your content more accurately, or—for some— for the first time. Instead of asking what content are users likely to view, take it a step further and ask what content they are likely to deeply engage with (50% completion or higher). Extend this even further through topic analysis, and start discovering not only what topics drive clicks, but what topics drive true engagement.