I have been dealing with web analysis for over 20 years, starting with server log files and today with sometimes crazy implementations of tracking systems. The possibilities are getting better and better, but not everything has gotten better. Because one superstition simply cannot be killed, namely that Time on Site or the “average session duration” is a good metric, or that the given values are correct at all, so here is black and white: In a standard implementation, the Time on Site is not measured correctly, whether in Adobe Analytics or Google Analytics or Piwik or whatever.
Why Average Session Duration Isn’t Measured Properly
The explanation why the times cannot be correct is quite simple. In a standard installation of Google/Adobe Analytics/[place your system here], a measurement is performed every time the user triggers an action. For example, it comes to a website at 1:00 p.m., and then the tracking pixel is triggered for the first time. The user looks around a bit and then clicks on a link at 1:01 p.m., so that he gets to another page of the same website, where the tracking pixel is fired again. Now we can calculate that he has spent 1 minute on the website so far, because we have two measurement points with different timestamps. We measure time here with the temporal distance between two sides.
On the second page, on which he is now located, the user stays longer, because here he finds what he was looking for. He reads a text, and at 1:05 p.m., i.e. after 4 minutes, his need for information is satisfied, so he leaves the page. So he was now on the website for a total of 5 minutes. However, Analytics only knows about the 1st minute and will only include this 1 minute in the statistics. Because when you leave the page, nothing is fired. As written above: We measure time with the time distance between two pages. Time distance between 1st and 2nd page: 1 minute. Temporal distance between 2nd and exit: Not measurable, because the next page is missing. And most users are not aware of this. The time a user spends on the last page is not measured.
Can’t Analytics measure when a user leaves the page? No, it can’t, no matter which system. At least not in the standard installation. Of course, these can be adjusted. Otherwise: If a user comes to a website and only looks at one page, then no time is measured. Even if he spends 10 minutes on this one side, it does not flow into the average session duration. Since a one-page visit is not uncommon, quite a lot of data is missing.
Is that really that bad?
Does that really make that much difference? Yes, it does. It is often said of the astonished user that with the figures given, one would at least have a clue. What can you do with a clue that is completely wrong? Of course, no one likes to admit that all previous data was wrong and so were the decisions based on it.

To illustrate the differences, here are a few data points. Until August 2017, the average session duration on my site was 1 minute on average (red line, here compared to the previous year). As of August 2017, the average session duration increases to 5 minutes (blue line). The time on site has increased fivefold and also seems much more realistic, since most of the content on my site cannot be read in 1 minute. However, even these 5 minutes are not the actual average session time, but only an approximation.
How do you get better figures?
How is it that more of time is now being measured? In another article I had written about measuring the scroll depth, and here an event is fired when reaching 25%, 50%, 75% and 100% of the page length. With each of these events, a timestamp is also sent. If a user scrolls down, a period of time is also measured from the last page of a visit, until the last event is triggered. It’s not unlikely that users will spend even more time on this page, as they may read something in the bottom section but stop scrolling.
Why, the question could now be, isn’t an event simply triggered every second as long as the user is on the site? Then you would have an exact duration of the meeting. Technically, this is actually possible, but with Google Analytics, for example, the free version allows a maximum of 10 million hits per month (hit = server call), with Adobe every single hit is billed. So I should allow myself 333,333 hits per day with Google Analytics, and if we assume an actual average session duration of 6 minutes (360 seconds), then I should have less than 1,000 users per day, so that I don’t get the juice turned off. And we haven’t measured anything else with that. Even with the scroll depth measurement, so many server calls would already be triggered on many pages that you simply can’t afford it. Here, however, at least a random sample of users can be measured in order to at least get an approximation worthy of the name.
Why use the average session duration at all?
This metric is often used when there are no “hard” conversions, for example when awareness is one of the marketing goals and only users should initially come to the site. But maybe a lot of time is only wasted because the desired information is not found, but urgently needed (have you ever looked for a driver on hp.com?); in other words, maybe a shorter time is even better?
As always, it’s a question of how well segmenting is done. For hp.com, a metric like “time to download” would be good, for a content-only page, the scroll depth paired with the time spent on the page would be a good indicator of how well the content is interacted. In addition, it would be necessary to take into account how much content is available on a page. This can be done with Custom Dimensions, for example. My favorite saying: Every minute that a user spends on my customer’s site, he cannot spend on the website of his market competitor.
However, the real average session duration is also exciting because the concept of holistic landing pages is drawing ever wider circles. Since Google sometimes also receives signals about how long someone has been on a page (for example, by returning to a search results page), every search engine optimizer should also be interested in how long someone was actually on a page and which parts of the holistic content were actually read (after all, the content is written for users and not for GoogleBot… or?
Result
The average session duration or time on site in any analytics system provides incorrect numbers in a standard installation, which is clear to very few users. This can be remedied by triggering events, for example for scroll tracking. As is so often the case: A Fool with a Tool is still a Fool. As long as you don’t deal with how a tool measures something, you shouldn’t be surprised if the conclusions drawn from it are wrong. This applies to analytics as well as to Google Trends or Similar Web