Practice & troubleshooting · Knowledge
Numbers seem too low – where do page views get lost?
First the calibration: JavaScript-based analytics never counts everything – ad blockers, script-less bots and strict privacy browsers are invisible to it by design; a gap to the server log is normal, not a bug.
The task is separating the normal gap from real defects: cache-broken snippets, excluded pages that should count, or a consent tool silencing the tracker for everyone.
Diagnosis order: verify the setup with the test routine, then check exclusions and consent, then accept the honest remainder.
The loss map: invisible by design, broken by accident
Invisible by design: ad and tracker blockers suppress the Matomo script for a share of visitors that varies wildly by audience – tech-savvy readerships block far more than average ones; self-hosting under your own domain softens this (many lists target the big tracking hosts), eliminates it never. Search-engine crawlers and most bots never execute JavaScript, so they inflate server logs while staying absent from analytics – that is the main reason a raw log comparison always shows more, and why the log is the wrong benchmark for human reach. Strict browsers and disabled JavaScript add a small honest remainder. Broken by accident – the fixable part: a Joomla page cache can serve HTML from before the plugin was active (clear caches, then retest); the JStats menu exclusion may cover pages that should count (review the list – the neighbouring exclusion question); a consent tool added later might block the tracker for everyone including the consenting (network-tab check from the test routine); and after domain or HTTPS changes, an outdated tracker URL fails silently. The pragmatic verdict: run the four-step test routine – if it passes, your numbers are as complete as JavaScript analytics honestly gets; treat them as a consistent trend instrument rather than an absolute census, and the “too low” feeling dissolves into the right question: compared to what?
Key facts
- By design invisible: ad blockers (audience-dependent share), script-less bots, strict browsers.
- Wrong benchmark: server logs count bots and assets – always higher, not more truthful for humans.
- Fixable defects: stale page cache, over-broad menu exclusions, consent tools blocking everyone, outdated tracker URL.
- Softener: self-hosting under your own domain reduces blocklist hits – never to zero.
- Verdict: pass the test routine, then read numbers as trends – the census does not exist.