Fathom Analytics
Cookieless privacy analytics with EU Isolation by default, founder-led since 2018
- HQ🇨🇦 Canada
- Founded2018
- LicenseProprietary (closed-source SaaS)
- ReferenceRead full review
Two privacy-first web analytics tools, compared side-by-side on the same axes. Data is descriptive — no rankings, no editorial winners.
Cookieless privacy analytics with EU Isolation by default, founder-led since 2018
Open-source self-hosted analytics, formerly Piwik
Three concrete frames to decide. Not a winner — a fit check.
You want a managed SaaS dashboard that just works. No archive cron, no MariaDB tuning, no plugin matrix. $15/mo and it stays up.
Your stack is a marketing site or content publication. Pageviews + sources + bounce rate is the report your CMO actually reads.
You don't have ops capacity. Fathom requires zero infrastructure on your side beyond a script tag.
You need a real GA4 feature replacement. Goals, funnels, ecommerce, custom dimensions, server-side container, A/B testing, heatmaps. Matomo has a checkbox for all of them.
You're regulated and need ISO 27001 + SOC 2 Type II + HIPAA. Matomo Cloud Business + Piwik PRO are the only options on this list with all three.
You can self-host on PHP + MariaDB. Matomo on-prem is free for unlimited sites, no per-pageview pricing.
You want product analytics (cohorts, retention, feature flags). Matomo's feature breadth doesn't include those. Look at PostHog.
You're tracking app events. See App Analytics.
Matomo's add-ons (heatmaps, A/B, form analytics) are paid plugins; Fathom is monolithic and includes nothing extra.
| Line item | Fathom Analytics | Matomo |
|---|---|---|
| Base plan (100k pv) | +$39/mo Matomo Cloud Business | +$19/mo Fathom Standard |
| Heatmaps & session recordings | +$25/mo Premium plugin add-on | — Not available |
| Goals & funnels | Included Included | — Not available |
| Stats API access | Included Included | Included Included |
| All-in monthly | $64/mo Matomo Cloud + heatmaps | $19/mo Fathom Standard |
Matomo on-prem is free if you self-host; figure 6 hours/month of ops. Fathom does not offer self-host.
Limits the marketing pages won't list. Each tool has them — knowing which kills the deal saves a migration.
Goals + funnels. Fathom tracks events but doesn't ladder them into multi-step funnels with attribution paths. If you need to see drop-off between step 1 and step 4, Matomo wins.
Self-host. SaaS-only. No on-prem option exists.
Heatmaps & session recordings. Not a feature. You'll add Hotjar or Microsoft Clarity separately.
Sub-second dashboard. Default Matomo dashboard renders ~30 widgets and a 250KB JS bundle. Fathom's dashboard loads in under a second; Matomo's takes 3-5.
Survive a bus factor on self-host. Matomo's PHP codebase is 17 years old; production self-host needs an in-house PHP/MySQL ops person.
Frictionless plugin upgrades. The premium plugin matrix occasionally breaks during major version upgrades. Cloud users avoid this; self-hosters lose a Saturday now and then.
Five facts that most often qualify or disqualify a tool early.
| Fathom Analytics | Matomo | |
|---|---|---|
| Price floor | $15/mo | $29/mo |
| Free tier | No | Yes |
| Hosting model | SaaS only | SaaS + self-host |
| Data residency | EU / US | EU |
| Cookieless | Yes | No |
Frameworks claimed and sub-processors disclosed under DPA.
| Framework | Fathom Analytics | Matomo |
|---|---|---|
| GDPR | Held | Held |
| CCPA | Held | Held |
| UK PECR | Held | Held |
| SOC 2 Type II | Not held | Not held |
| ISO 27001 | Not held | Held |
| HIPAA | Not held | Not held |
Cheapest published plan from each vendor that covers the listed pageview volume. Retrieved May 1, 2026.
| Traffic | Fathom Analytics | Matomo |
|---|---|---|
| 10k pv/mo | $15/mo100k pv | $29/moEntry |
| 100k pv/mo | $15/mo100k pv | $39/mo100k |
| 500k pv/mo | $60/mo1M pv | Custom — contact sales |
| 1M pv/mo | $60/mo1M pv | Custom — contact sales |
Volumes between tiers follow each vendor's published pricing model. "Custom" indicates the vendor does not publish a price for that volume on their pricing page.
All 38 verified checks across 4 categories.
| Feature | Fathom Analytics | Matomo |
|---|---|---|
| Pageviews & visitors | Yes Pageviews + unique visitors |
Yes Pageviews + visits + visitors |
| Live visitor count | Yes Real-time count |
Yes Visitors in real-time widget |
| Top pages report | Yes By pageviews/visitors |
Yes Pages report (drillable) |
| Top referrers | Yes Referrer + UTM breakdown |
Yes Channels report (drillable) |
| UTM campaign tracking | Yes Source/medium/campaign |
Yes Full attribution model |
| Country & city breakdown | Partial Country-level only; no city breakdown by privacy choice |
Yes Country, region, city |
| Device, browser, OS | Yes Device, browser, OS |
Yes Full device/OS/browser breakdown |
| Bounce / engagement | Yes Bounce rate |
Yes Bounce rate |
| Time on site | Yes Avg session duration |
Yes Full session timeline |
| Custom events | Yes fathom.trackEvent() with optional revenue (_value) |
Yes Multi-dimensional events |
| Goals / conversions | Yes Events with optional monetary value (revenue tracking) |
Yes Multi-step + revenue tracking |
| Funnels | No No funnel feature; events only, no multi-step funnel reports |
Partial Cloud Business+ included; Self-host: $229/yr premium plugin |
| Outbound link tracking | Yes Via custom events |
Yes Auto + manual |
| File download tracking | Yes Via custom events |
Yes Auto + file-type categorization |
| 404 / error tracking | No Not built-in; vendor /uptime page returns 404 |
Yes Plugin |
| Feature | Fathom Analytics | Matomo |
|---|---|---|
| Cookieless by default | Yes Cookieless: no localStorage/sessionStorage; daily salt rotation (24h UTC) on visitor hash |
Partial Opt-in mode (one-line JS or admin toggle); cookies on by default |
| No personal data collected | Yes IPs not stored; used in-memory for geo + daily salt hash |
Partial Configurable; off by default, CNIL mode masks last 2 octets |
| GDPR-compliant out of the box | Yes Vendor claims no banner needed (no PII, no terminal storage); legitimate-interest basis |
Partial CNIL exemption (FR); DSK (DE) + Garante (IT) require case-by-case DPA review |
| Data hosted in EU | Yes EU Isolation: EU IPs routed to AWS Frankfurt; only aggregated stats leave EU |
Yes AWS Frankfurt EU; InnoCraft (NZ) operates under EU adequacy decision |
| Data hosted in US | Yes Non-EU traffic on AWS US (us-east-1) |
Yes US data center option |
| Self-hostable | No Cloud-only (no self-host) |
Yes Free |
| Open source | No Closed-source SaaS |
Yes GPL |
| Data retention period | Forever Forever for life of account; full CSV export + Stats API |
Configurable Default 180 days raw (CNIL); max 25 mo; aggregated unlimited |
| Bot & spam filtering | Yes Auto-filters bots, crawlers, DDoS, spam |
Yes IAB list + custom |
| Feature | Fathom Analytics | Matomo |
|---|---|---|
| Script weight (KB) | 2 Vendor claim "just 2 KB"; ~1.7 KB gzipped |
23 ~23 KB gzipped (~218 KB uncompressed); same comparison basis as peers |
| Single-snippet install | Yes data-site attribute |
Yes Also GTM |
| WordPress plugin | Yes Official WP plugin v3.3.1; 102,958 downloads, rating 4.8/5 |
Yes Bundled plugin (full Matomo runs in WP); 100,000+ installs |
| Proxy / first-party domain | Yes Built-in custom domain proxy — no nginx config needed |
Yes Configurable proxy/CDN; no native SaaS proxy |
| Public API | Yes Stats API + Tracking API; documented at usefathom.com/api |
Yes Reporting + Tracking + Custom Reports APIs (REST/JSON/XML/CSV) |
| Data export (CSV/JSON) | Yes CSV + API |
Yes CSV/JSON/XML/RSS |
| Google Search Console connector | No No native GSC connector |
No No native GSC connector; pull via API |
| Email digests | Yes Daily / weekly / monthly reports; unlimited recipients |
Yes Scheduled email reports |
| Slack / webhook alerts | Partial Webhook via API; not headlined as Slack-native |
No No native; via plugin |
| Public shareable dashboard | Yes Shareable read-only links per site |
Yes Anonymous viewer permission |
| Feature | Fathom Analytics | Matomo |
|---|---|---|
| Free tier exists | No 30-day trial only; no permanent free tier |
No 21-day trial only on Cloud; Self-host is free forever |
| Entry price ($/mo) | 15 100k pageviews/mo entry tier (continuous pageview ladder, not named tiers) |
29 Cloud Starter (50k hits/mo, 30 sites) |
| Price at 100k pageviews | 15 $15/mo covers 100k pv; per-pageview-based pricing ladder |
— Business tier — custom pricing |
| Unlimited sites on entry plan | Yes 50 sites included on every plan |
Yes Cloud: 30 sites on Starter; Self-host: unlimited |
Factual answers to the questions readers most often ask about this pair.
For most teams, yes, with caveats. The Heatmap and Session Recording plugin covers the Hotjar use case directly: click maps, scroll maps, and session replay live inside the same Matomo instance. Mixpanel replacement is closer to A/B testing plus funnels plus custom segments, all of which Matomo offers. Where it falls short of Mixpanel is event taxonomy depth and the cohort analysis UI, which Mixpanel has been polishing for a decade. If your product team builds funnel charts daily, Mixpanel still feels faster. If they build them monthly, Matomo's are good enough and you stop paying two vendors.
On its own, no. UptimeRobot's free tier covers 50 monitors at 5-minute intervals. Pingdom and BetterStack offer richer alerting for $5-10/month. The honest framing is that Fathom's uptime monitor is a bundled feature, not a reason to pay $15. You are paying $15 for the analytics; the uptime check is a free add-on that saves you one extra login and one extra invoice. If you already have analytics covered elsewhere, do not buy Fathom for the uptime feature alone. If you were going to buy Fathom anyway, the uptime feature is a nice cherry that lets you cancel UptimeRobot.
Cash cost: $5-10/month for a small VPS that comfortably runs PHP-FPM, MySQL, and the archive cron for traffic up to a few hundred thousand actions per month. Time cost: 2-4 hours of initial setup if you have basic LAMP experience, longer if not. Ongoing: roughly 30 minutes per quarter for security updates and database housekeeping, more if you install heavy plugins like Heatmap or Session Recording which are storage and CPU intensive. If you bill your time at $50/hour and apply it honestly, self-hosted Matomo costs $200-400 in year one and $50-100/year afterward. Cheaper than Cloud once you cross three or four sites.
Yes, with one footnote. Fathom does not set cookies, does not collect personal data in the GDPR sense, and does not require a cookie banner for its own tracking. That is genuinely GDPR-compliant out of the box and has been reviewed by EU privacy lawyers in Fathom's own marketing. The footnote: GDPR also covers data your site collects elsewhere, like contact forms, comments, and chat widgets. Fathom's compliance does not extend to those. You still need a privacy policy that names your processors. But for the analytics layer specifically, Fathom is one of the few tools where the default install is the compliant install.
Fathom supports multiple sites natively on every plan, with the Starter plan covering up to 10 sites under one $15/month subscription. The dashboard handles dozens of properties cleanly but its UX is built for portfolios in the single digits. Matomo Cloud charges per-site, so a 10-site portfolio at Cloud pricing runs roughly $190/month. Self-hosted Matomo handles unlimited sites in one instance for free, and its 'all websites' overview is genuinely built for scale, with hundreds of properties supported in production deployments. For multi-site operators, the math points hard at either Fathom (small portfolio, SaaS preference) or self-hosted Matomo (any size, any preference).
More than you think. Each plugin is independently versioned and may lag the core Matomo release, which means after a core upgrade you sometimes find a plugin temporarily broken. Heatmap and Session Recording especially are storage-heavy: a busy site can produce gigabytes of recording data per month, and you must configure retention policies or your disk fills. Free plugins from the Matomo marketplace vary in code quality and update frequency, and a few have been abandoned by their authors over the years. The realistic maintenance budget is one hour per quarter for a clean install with two or three plugins, climbing to two or three hours per quarter once you run heatmaps, session replay, and a custom dashboard plugin in parallel.
More comparisons and reference pages on this site.