I have a website with a couple of long how to's and I would like to know if people are actually reading those articles when they come in from Google. That is, I'd like to learn whether visitors slowly scroll through, or merely look at the page and navigate away.

From what I understand, Google Analytics, which I currently use, counts "events" and a visitor who only views one page is by default a "bounce." Even if that page answered all their questions and was immensely helpful.

Perhaps I could include markers in the page and measure the amount of time they're in view? Something like that.

It would be also nice to know if the links in the articles are at least occasionally clicked, especially links for internal navigation (#somesection). Is this possible with regular Google Analytics or another off-the-shelf package? Would it require redirecting all the links through some sort of counter like Google does on its SERP?

I do not seek "conversions." I have no goals really. I just want to know if the how to's are worth the effort.
I don't want to split the articles into smaller parts.

  • I have a sense of humor. One time I wrote a fairly long technical e-mail and somewhere about 2/3rds of the way down I started putting in silly references that made sense and still supported the topic. But as I went along toward the end, I got sillier and sillier and eventually went completely off topic. I also said something like If you have gotten this far then I will finish the rest of the e-mail seriously. The funny thing is, no one who got the e-mail ever noticed what I had done. I could have talked about people's Momma, heritage, looks, smell, and how they walked/talked funny. ;-)
    – closetnoc
    Commented Jan 4, 2015 at 16:22
  • I should also say that I tend to write some long answers here. I noticed that they are read and that my answers with the highest vote counts are some of the long answers. The TL;DR'ers will always be with us. I say go to YouTube then- if you do not want to read and learn. There is an audience for everyone. Even if it is not a large audience, would it be nice if even it is only a few, that your word gets out and helps someone? I say write and detractors be damned. I am not sure how to answer your question. But I will think on this for a bit and offer what I can. I just want to encourage you.
    – closetnoc
    Commented Jan 4, 2015 at 17:54

2 Answers 2


The solution that has been working for me, is to check for the appearance of a specific DOM element's appearance in view.

For instance, you may have a #comment element after the article content. So check for its appearance in the view since there is no way the user can get to it unless they scroll the page or jump to that section of the page.

You can check for its appearance by firing some isInView(element) function triggered by window.onscroll().

Then, when the element is in view, fire off a GA event (or perform some other function), specifying the end of the article was reached, the article path, and maybe with the time it took to read as expressed by the difference between timeBeganReading & timeCheckElementAppeared... if that sort of information is important to you. For a user skimming the article content, a variable described as timeSpentReading would indicate how long it took to get to the element.

Further, you can stop testing for the DOM element being in view by setting some variable to true once it IS in view, and updating the control block within the isInView(element) function to also test for the true/false value of the variable. Once it evaluates to true, the isInView(element) function will stop firing.

  • I don't have comments but I do have sections (headings like <h3 id="whatever">), can I use those? And if so, is there some ready-to-use plugin for GA doing those isInView checks? Commented Jan 5, 2015 at 15:16
  • 1
    Ideally you'd check for the first element always following the content you want to know they have reached the end of. if element is in view
    – AGDM
    Commented Jan 6, 2015 at 17:17
  • Agreed. In my answer I presumed it was a #comment el but it could be anything.
    – AGDM
    Commented Nov 17, 2019 at 15:59

This is just a quick answer: You could simply place the content in a div with a height or width (which ever you need) that clips the content at say... 50% of the article height with overflow:hidden; then add a simple button with javascript to animate the height/width property to its full size... or add overflow:scroll; or a few other methods... anyways onto the point:

Google analytics allows for event tracking inclusive of button clicks (or really any click event) so you could see how many people were getting to the 50% mark of your article and clicking the expand button/link.

Here is Google's link on event tracking as well as examples of how to set it up.

Google Event Tracking in Analytics

  • OK. I could make people load the article piece by piece. But that's just a fancy way of splitting the article into chunks. Making it somewhat less annoying. Commented Jan 4, 2015 at 21:52
  • 1
    Can you use onscroll events?
    – MrWhite
    Commented Jan 4, 2015 at 21:54
  • I don't know. Can I? Googling [onscroll events google analytics] I found this plugin. I didn't even know there are plugins for GA. Anyway, it measures how far down the visitor scrolls. Which is almost what I need. I'll investigate if it measures speed as well or on page time to weed out people who just scroll through without reading. Commented Jan 4, 2015 at 21:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.