Why so many single-page visits show zero seconds, and what that hides

Analytics tools can't time a visit that ends on its first page. That blind spot hides real buyers.

Open your analytics, filter to visits that viewed one page, and look at the time on site. A large share will show exactly zero seconds. It is tempting to read those as people who landed by mistake and left.

Many of them are something else. They are visitors who read a page carefully and then left, and your analytics tool had no way to time them.

How page timing works

Page-based analytics, including Matomo’s default setup and older versions of Google Analytics, measures time on a page by looking at the next thing that happens. When a visitor loads page A and then page B, the tool records the gap between the two as time on page A.

The last page of every visit has no next event. The tool never learns when the visitor stopped reading, so it records no time for that page. On a multi-page visit you lose the time on the final page. On a single-page visit you lose all of it, and the visit shows 0 seconds.

So a zero-second visit tells you only that the visitor did nothing else the tool could record. They might have closed the tab in two seconds. They might have read your capabilities page for four minutes, printed it, and walked it over to an engineer.

How common it is

The problem grows with the share of visits that end on their first page, and industrial sites tend to have plenty of those. A buyer searches for a process and a material, lands on the page that answers it, reads it, and leaves to compare with the next supplier.

In one test site in 2026, 5 of 7 single-page visits recorded 0 seconds. That is a small sample, and your numbers will differ. Check the pattern on your own site before you trust any average time figure.

Heartbeat timing

The fix is simple. A heartbeat timer sends a small ping at regular intervals while the page stays open. When the visitor leaves, the last ping marks roughly how long they stayed. Matomo includes a heartbeat option you can turn on in the tracking code, and SiteSonar uses heartbeat timing when it reads visits.

With a heartbeat in place, the same single-page visits sort into clear groups:

  • Quick exits. A few seconds, then gone. Often a wrong click.
  • Real reads. A minute or more on a capabilities, materials or application page. This is evaluation, and it can count as a Contact signal on its own.
  • Lookups. A short stop with a clear purpose. The classic example is someone finding your phone number.

That last group matters for sales. A visit that goes home page, a few seconds on Contact, then gone often means the visitor picked up the phone. SiteSonar flags this pattern as “likely phoned you” so someone can check the call log for the same time and area code.

Re-reading your bounce rate

Bounce rate counts single-page visits as failures. With heartbeat timing, you can see which of those visits failed and which found their answer.

A visitor who found what they needed on one page did not bounce. Your page did its job.

Before you rewrite a landing page because of a high bounce rate, split its single-page visits by real time on page. If most of them read for a minute or longer, the page works. The next step is to give those readers an easy way to reach you, such as a quote link or a direct phone number near the details they came for.

What to do this week

  • Filter your analytics to single-page visits and count how many show 0 seconds.
  • Turn on heartbeat timing in your tracking code, or ask whoever manages it to.
  • After two weeks, compare single-page visits by time on page. Note which pages hold readers.
  • Line up short Contact-page visits against your call log for the same days.
See it on your own site

SiteSonar runs this analysis on every company that visits your website.

Start free trial
Keep reading

Purchases start with a conversation. Conversations start with a conversion. SiteSonar shows you who's about to convert.