Time on page
Also called average time on page, engagement time
How long a reader spent on a page. Older tools worked it out from the gap between one pageview and the next, which leaves the last page of every visit at zero. Newer ones measure it in the browser.
In Vireo
Vireo measures how long the page was in front of the reader. The clock pauses while the tab is in the background, and each view counts for at most 30 minutes.
The average covers only the views that reported a time. A view closed before it could report is left out rather than counted as zero seconds. Vireo started recording time on page in version 0.13.0.
The old way and its gap
Universal Analytics worked out time on page from the gap between one pageview and the next. The last page of a visit has no next pageview, so it got zero seconds, and a reader who spent ten minutes on one article and left showed up as a zero. Averages built that way say more about how many pages people clicked than how long they read.
Newer tools measure in the browser instead, and GA4 reports engagement time while the page is in the foreground. Vireo works the same way.
How Vireo measures it
The clock runs only while the tab is visible. Switching to another tab or app pauses it, and coming back resumes it. The tracker reports the time when the reader leaves the page or switches away, and each view counts for at most 30 minutes, so a tab left open overnight can't drag the average up.
The average covers only views that reported a time. A view closed before it could report, or seen in a browser that never says the page was left, is left out rather than counted as zero. Time is only accepted for a page the same visitor has a counted pageview on that day, so bots and excluded traffic add none.
It's stored as daily totals per page: how many views reported a time, and their seconds added up. Nothing about a single reader is kept.
Pitfalls
Vireo started recording time on page in version 0.13.0. Days before that, and days imported from another tool, have no time on page, so a range that spans the update averages only the newer days.
If you've set Vireo to wait for consent, a time report made before the visitor agrees is held in the page and sent once they do. Visitors who never consent add no time.
Compared with Universal Analytics, Vireo's figure is usually longer, because exit pages are no longer zeros. Compared with GA4 it should be in the same range for the same pages.
Further reading
Related terms
See these numbers for your own site
Vireo Analytics is a free WordPress plugin. It counts visits without cookies, keeps bots out of your numbers and stores everything in your own database.
Get Vireo free on WordPress.org