Engagement

Time on page: the last-page blind spot and engagement time

By Hasan Misbah · Updated · 7 min read

Share

Quick answer

Time on page is how long visitors spend on a single page before moving on, usually shown as an average across all views. Older tools work it out from the gap between one pageview and the next, so they can’t time the last page of a visit; newer ones measure active engagement time instead.

What it measures

The idea is simple: when someone opens a page, how long do they stay on it? Across hundreds of visits, that gives you a rough sense of whether people are reading, watching or skimming.

Rough is the word to keep in mind. An analytics tool can’t see eyes. It sees when a page was loaded, when the next one was loaded and, in newer tools, whether the browser tab was visible. Everything else is inference. That doesn’t make the number useless, but it does mean you need to know how your tool arrives at it before you lean on it.

How time on page is calculated

The classic method, used by Google’s old Universal Analytics and still by plenty of other tools, is the gap between pageviews. The tool records a timestamp each time a page loads and subtracts one from the next.

Say someone visits your yoga studio’s site:

  • 10:00:00 opens the homepage
  • 10:00:40 opens the timetable
  • 10:03:10 opens the beginners’ course page
  • 10:07:00 or so, closes the tab

The tool records 40 seconds on the homepage and 2 minutes 30 seconds on the timetable. For the beginners’ course page it has nothing, because no later pageview arrived to subtract from.

The last-page blind spot

That gap is the method’s big weakness. The final page of every visit has no end time, so it gets no duration. Many tools record it as zero, and to stop those zeros dragging the average down they leave exits out of the sum:

Average time on page = total time recorded on the page ÷ (pageviews − exits)

Now picture a candle-care guide on your shop’s blog. It had 1,000 views last month, and 700 of them were the last page of the visit: people read the tips and left. The other 300 views were followed by another page, and between them they clocked up 900 minutes.

900 ÷ 300 = 3 minutes

That three-minute average describes only the 30% who went on somewhere else. The 700 readers who were happy with the answer aren’t in it at all. On pages where most people leave, which includes most blog posts, the figure is built on a minority. A single-page visit is even worse off: under this method it has no duration whatsoever, which is part of why people used to misread bounce rate so badly.

Engagement time: the newer approach

Modern tools, GA4 among them, measure differently. Instead of subtracting timestamps, a small script on the page counts the time the page is actually in the foreground: the tab is visible and the window is in use. When the visitor switches tabs, the clock pauses. When they leave, the script sends the total.

Browsers make this possible in two ways. They tell a page when it becomes hidden or visible again, and they let it send a small final message as it closes, without holding the visitor up.

This fixes most of the old problems:

  • The last page of a visit now gets a time.
  • A background tab left open all afternoon stops counting the moment it’s hidden.

It isn’t perfect. That final message can still be lost if a phone runs out of battery or the browser is force-closed. A page left visible on a second monitor keeps counting. And nothing tells reading apart from staring out of the window.

GA4 dropped the old calculation and reports engagement time instead, so its figures won’t line up with an old Universal Analytics report. If you change tools, start a fresh baseline rather than comparing across the switch.

Average vs median

Most reports show an average (the mean). Averages are easily pulled about by a few odd visits.

Take ten views of a product page. Nine people look for about 30 seconds each. One leaves the page open and visible while making dinner, and it registers two hours.

  • Total: 9 × 30 seconds plus 7,200 seconds = 7,470 seconds
  • Average: 747 seconds, about 12 and a half minutes
  • Median (the middle value): 30 seconds

The average says people study this page for twelve minutes. Nobody did. The median tells the true story. If your tool offers a median, prefer it. If it doesn’t, be very wary of averages on pages with low traffic, where one odd visit can swamp the rest, and look for sudden jumps that might be one forgotten tab.

Reading it by content type

There’s no good time in general, only a good time for a particular kind of page. Some rough guidance:

Content typeA healthy patternWorth a look if
Long guide or tutorialClose to the time it takes you to read it at a relaxed paceTimes are far shorter, suggesting the title promised something the page doesn’t deliver
Product pageLong enough to read the key details, followed by add-to-basketLong times with few add-to-baskets, which can mean missing sizes, delivery costs or photos
Contact or opening timesA few secondsLong times, which suggest the information is hard to find
Video lessonNear the length of the videoMuch shorter, meaning the video isn’t being watched through
Checkout or booking formAs short as possibleLong times, often a sign of confusing fields or errors
HomepageShort, it’s a signpostLong times with few onward clicks, suggesting an unclear menu

The easiest yardstick for written content is yourself. Read the post at a normal pace and time it. If visitors average a fifth of that, most aren’t reading.

Look at the figure by traffic source too. Newsletter readers who already know you will often behave very differently from people arriving from a search.

Making the number more useful

  • Compare like with like. The same page this month against last month, or one recipe post against another. Not a recipe post against your checkout.
  • Don’t pad pages to raise it. A delivery page that answers the question in two lines is serving visitors well. Making it longer would raise the number and annoy people.
  • Put the answer near the top. Then add depth below for those who want it. You’ll lose fewer people early.
  • Break up long text. Clear headings, short paragraphs and images that load quickly help people stay with a page.
  • Pair it with what people do next. Time alone can’t separate fascinated from confused. Look at exit rate and whether visitors go on to buy, book or enrol.

A note on privacy

Engagement time is measured within a single page, so it doesn’t need to recognise the visitor or link their pages together. That makes it a good fit for cookieless analytics. The older gap method depends on knowing which pageviews belong to the same session, which is a harder job without cookies or similar identifiers.

If you’re choosing a tool, ask which method it uses for time on a page, whether the last page of a visit is counted, and whether it shows a median. Those three answers will tell you how far to trust the number.

Frequently asked questions

What is a good average time on page?

There isn’t one figure that applies to every site. It depends on the page: a long guide should hold people for minutes, while a contact page has done its job in seconds. Compare each page with its own history and with your own reading time for it.

How is time on page calculated?

Older tools subtract the time one page loaded from the time the next one loaded, which leaves the last page of each visit untimed. Newer tools count how long the page was visible in the foreground and send that total when the visitor leaves.

Why does my analytics show zero seconds for some visits?

Under the gap method, the last page of a visit has no following pageview to measure against, so it records zero. Single-page visits are hit hardest. Tools using engagement time avoid most of this.

What’s the difference between time on page and engagement time?

The traditional measure is the gap between two pageviews. Engagement time counts only the time the page was in the foreground, and it can time the final page of a visit. GA4 uses engagement time.

Is time on page the same as dwell time?

No. Dwell time is an SEO term for how long someone stays on a result after clicking it in search before returning to the results page. It isn’t a metric your analytics shows you, and search engines don’t publish it.

Be first to see where your revenue really comes from

Add your email and we'll let you know the moment early access opens.

Waitlist

We'll email you when early access opens. No spam, unsubscribe anytime. See our Privacy Policy.

Waitlist members get

  • Early access
  • Launch discount
  • Integration requests first
  • Setup help

Join the Analyzine waitlist

Leave your details and we'll let you know when early access opens.

Waitlist

We'll email you when early access opens. No spam, unsubscribe anytime. See our Privacy Policy.

Waitlist members get

  • Early access
  • Launch discount
  • Integration requests first
  • Setup help