Tab-split session lanes
Concurrent tabs side by side on one time axis. No other tool even models concurrent browsing.
The proof, not the claim
We built a 54-capability × 16-platform matrix from four research waves across 28 vendors — every competitor cell checked against fetched vendor documentation, every Observer cell backed by a shipped capability we can demo live. The matrix is regenerated from a machine-readable feature registry on every release.
The verdict
Self-hosting or features. Privacy or depth. Free or honest. Every competitor forces a choice — because their architecture requires persistent identity to function. Observer's architecture is designed so that identity cannot persist, and the features are built on top of that constraint, not despite it.
coverage index — 53 of 53 capabilities shipped, nothing partial
the best competitor's index (Matomo) — most stall below 32%
capabilities that no other platform ships, in any form
Coverage index — 53 capabilities × 16 platforms
| Platform | Index | |
|---|---|---|
| Observer | 100% | |
| Matomo | 36% | |
| Plausible | 32% | |
| PostHog | 32% | |
| Hotjar / Contentsquare | 32% | |
| Umami | 30% | |
| Pirsch | 30% | |
| Clarity | 28% | |
| Fathom | 26% | |
| Simple Analytics | 23% | |
| FullStory · LogRocket | 21% | |
| Mixpanel · Amplitude | 17% | |
| Vercel Web Analytics | 15% |
The uniques
Not "nobody does it better" — nobody does it at all, in any tier, at any price.
Concurrent tabs side by side on one time axis. No other tool even models concurrent browsing.
Page-Visibility-aware, median + distribution. Wall-clock time-on-page is noise; nobody else measures it honestly.
(rage×3 + dead×1.5 + errors×2) ÷ views, per page, with root causes. Hotjar doesn't rank your pages.
Midnight-UTC key rotation makes long-term tracking mathematically impossible — not forbidden by policy.
Sites cannot correlate visitors — enforced by construction, not by promise.
On every dashboard, export and share. Query-time enforcement, not a settings checkbox.
Timelines + heatmaps + frustration without a banner. The combination exists nowhere else.
Which element is slow — element and interaction target captured with every vital.
z-score ≥ 2 against a trailing baseline, rendered in plain language. Regression detection without a monitoring team.
After vs. equal-window-before, per release. Every competitor leaves you eyeballing charts.
Compliance-grade activity trail — who changed what when, immutable.
Per site, read from the control plane: fields, retention, consent, legal basis. The page you show a DPO.
Traffic, errors, goals, zero-traffic, LCP, rage — evaluated every minute from rollups. Not a SaaS add-on.
Views, top pages, CWV, anomalies, frustration hotspots, deploys — to Slack on schedule.
Automation-grade access control: 6 scopes, per-key site limits, secret-shown-once, call counters.
15 tools over zero-dep stdio JSON-RPC — agents query analytics through the same scoped keys.
13 intents + natural ranges through a deterministic grammar — answers, not hallucinations.
2–8 steps, drop-off at every step, computed live — alongside timelines, not instead of them.
Collector, API, SDK, dashboard, MCP — no npm packages at all. No supply chain to audit.
The browser privacy suite asserts the zero-cookie, zero-storage, PII-scrubbed posture on every build.
The pricing kill-shot — verified figures
A volume most competitors price into enterprise-custom territory. All competitor figures verified from vendor pricing pages during the research waves; the fetch trail lives in docs/research/product-pricing-research.md.
| Platform | ~60M events / month | Heatmaps + behavior | Consent banner | Your servers |
|---|---|---|---|---|
| Observer (self-host) | ~€60–90 infra | Yes — incl. tab-split lanes | Not needed | Yes |
| PostHog cloud | ≈ $2,950 / mo | Yes | Required | No |
| Matomo On-Premise Business | €1,450 / mo | Premium plugin | Configurable | Partial |
| Vercel Web Analytics Pro | ≈ $1,820 / mo | No | Not needed | No |
| Umami Cloud Business | ≈ $1,200 / mo | Business tier only | Not needed | No |
| Microsoft Clarity | $0 — no self-host, no API, no export | Replay only, 30-day recordings | EEA consent | No |
| Plausible · Fathom · Pirsch · Simple Analytics | — | No heatmaps or replay at any price | Not needed | CE editions only |
| Hotjar / Contentsquare | Enterprise quote | Yes | Session-based, likely required | No |
Why the gap is structural: SaaS compute scales with traffic, so vendors meter events. Observer's marginal event rides your server's existing headroom — the self-host advantage compounds with growth instead of taxing it.
The matrix, condensed
Headline rows from the generated 54 × 16 matrix. The full machine-generated version — every cell sourced — is available to evaluators under NDA.
| Capability | Observer | Plausible | Umami | Matomo | PostHog | Hotjar/CS | Clarity |
|---|---|---|---|---|---|---|---|
| Click + scroll heatmaps | ✅ | — | 🟡 | Premium | Toolbar | ✅ | Replay |
| Session timelines (no identities) | ✅ | — | — | — | Replay | ✅ | ✅ |
| Tab-split lanes | ✅ | — | — | — | — | — | — |
| Rage + dead-click detection | ✅ | — | — | — | ✅ | ✅ | ✅ |
| Frustration leaderboard | ✅ | — | — | — | — | — | — |
| Form drop-off analytics | ✅ | — | — | Premium | — | ✅ | — |
| CWV p50–p95 + attribution | ✅ | — | p75 | — | — | — | p75 |
| Anomaly cards + deploy diff | ✅ | — | — | — | — | — | — |
| k-anonymity enforcement | ✅ | — | — | — | — | — | — |
| Self-host (full) | ✅ | CE cuts | ✅ | PHP | Unsupported | — | — |
| Zero cookies + zero storage default | ✅ | ✅ | ✅ | Device IDs | — | — | ✅ |
| Audit log + RBAC + scoped keys | ✅ | API only | Teams | Premium | ✅ | SaaS roles | — |
| MCP server (AI agents) | ✅ | — | ✅ | — | ✅ | — | — |
| Alerts + weekly digest | ✅ | — | Premium | ✅ | — | — |
Per competitor
Beautiful privacy SaaS — and pure traffic counters. No heatmaps, no timelines, no frustration signals, no CWV depth. Observer matches their reporting core and owns the behavior layer, on your hardware.
The closest self-host threat (MIT, MCP, basic heatmaps). Missing: frustration scoring, tab-split lanes, k-anonymity, audit log, privacy posture, deploy diff. Their business tier is $200/mo for replay — Observer's is your server.
The 800-lb gorilla: 800+ reports, 50 languages, plugins. But heatmaps and replay are paid plugins, identity uses persistent device IDs, and there is no k-anonymity, no tab-split lanes, no deploy diff, no ask bar.
The most capable product suite — cookie-based, persistent person IDs, self-host unsupported with a practical ceiling. At 60M events their cloud is ≈$2,950/mo. Observer ships the aggregate-legal version of the depth that matters.
The names everyone knows: SaaS-only, session-metered, cookie-based identity, opaque pricing. Observer matches the heatmap depth and exceeds it with timelines, CWV and deploy diff — without the consent burden, on your hardware.
The strongest free competitor: free forever, unlimited sites. But no self-host, no API export, no goals, no alert rules, no k-anonymity, 30-day recordings on Azure-side processing. Observer gives you ownership plus the API at €60–90/mo.
Enterprise DX and error monitoring: SaaS only, enterprise pricing, masking often opt-in. Smartlook is sunsetting (data deleted 2027) — self-serve behavior analytics needs a self-hosted home.
The OSS cohort: honest traffic counters, some with daily-salt designs like ours. None ship k-anonymity enforcement, frustration scoring, tab-split lanes or a privacy-posture page.
Honest gaps
The full picture, because trust survives contact with the whole truth. Everything else on this page is shipped — these are the two remaining backlog items.
Scheduled Parquet/JSONL to object storage is on the roadmap. Today: the k-anonymized Stats API covers most BI needs.
Cross-day journey reports require a longer horizon — which would compromise the privacy math. We'd rather lose the report than the guarantee.
The scoreboard regenerates from the feature registry on every release — and we walk your team through the evidence under NDA.