Before interpreting a change in “time on page,” check which metric the report actually uses. Old explanations of Universal Analytics timing do not describe GA4's engagement measurement.
GA4 measures time with a web page in focus or an app in the foreground. That is a useful signal, but it is not a direct measurement of reading, attention or task completion. Google's engagement definition. Simple Analytics, which runs without cookies alongside GA4, reports time on page with its own definition, so compare the definitions before you compare the numbers.
GA4 does not simply subtract two pageview timestamps
GA4 sends accumulated engagement time through the engagement_time_msec parameter on collected events. A user_engagement event can carry remaining engagement time when someone navigates away. The parameter is omitted when no new engagement time has accumulated since the preceding event. How engagement is collected.
The distinction matters on a one-page visit. You should not assume engagement is always zero just because there was no second pageview. Nor should you assume every browser exit successfully delivers its final measurement.
If you investigate the export, inspect events that carry engagement_time_msec; do not assume that only events named user_engagement contain it.
Keep the denominator attached to the metric
Google defines average engagement time as total engagement duration divided by active users. Average engagement time per session uses sessions instead. Those are different averages. Metric definitions, engagement overview.
For illustration, 6,000 seconds divided by 100 active users gives 60 seconds per active user. The same duration divided by 150 sessions gives 40 seconds per session. Neither calculation is an average per pageview.
Carry the full metric name into your dashboard. A column labeled only “time” invites comparisons that its denominator cannot support.
More time is not always a better result
On a long technical article, a longer engaged visit may be useful. On a checkout or account-help page, it might indicate that visitors cannot finish their task. Engagement duration alone cannot distinguish those explanations.
Review it alongside the page's purpose, the actions collected and the traffic mix. If you use scroll depth or a completion event, state what triggers it. These are additional signals, not proof that someone understood the page.
Avoid comparing a mean with a median and attributing the difference to collection quality. If another tool uses a median, compare the aggregation methods before comparing the values.
Investigate a sudden change before explaining it
Start with a small browser test and a known page. Keep consent state, browser and navigation path recorded. Check initial load, an internal route change, switching tabs, and leaving the page. Inspect the events and timing parameters that are delivered.
Then review the period around the reported change:
- Did the tag deployment, CMP or event configuration change?
- Did the report's metric, dimensions, filters or denominator change?
- Did page mix or campaign traffic change?
- Is the pattern concentrated on one browser or template?
Test consent states in separate fresh browser sessions. Keep browser observations separate from conclusions about the full reporting period. One successful request is not proof that all visitors were measured.
Where a traffic baseline helps
Simple Analytics can provide an independent pageview and session-start baseline alongside GA4. It does not supply a replacement identity graph or recreate GA4 engagement metrics. Its session starts are calculated from pageview context rather than a persistent visitor identifier. The methodology.
If GA4 engagement changes, another traffic series can help you inspect whether measured volume also changed. Stable pageviews do not prove engagement is wrong, and a changing gap does not establish that consent caused it. Use the comparison to narrow the investigation.
Can we compare time metrics between tools?
Only after defining collection, eligibility, aggregation and denominator for both. Otherwise, report each metric by its own name. Two dashboards displaying seconds have not necessarily measured the same thing.
Free 30-day proof of concept
Compare Simple Analytics with GA4 on your website
Run a free 30-day proof of concept alongside your existing GA4 setup and CMP.
We help you:
- Agree on the measurement question, metrics, pages and comparison period.
- Set up Simple Analytics, including support for proxies and custom domains where needed.
- Review the counts, trends and methodological differences together.
Tell us what you want to compare. We’ll agree on the scope of the POC together.
