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 privacy analytics
Three concrete frames to decide. Not a winner — a fit check.
You want a managed SaaS that you don't operate. Pay $15/mo, install a script tag, walk away.
Your team doesn't have a Postgres operator. Fathom hides all the infrastructure behind a vendor-managed cloud.
You bill in USD and need US-isolated data routing as an option.
You self-host on a $5 VPS and want zero monthly bill. Umami runs on a single Docker image + Postgres; total cost is your hosting.
You're MIT-license-strict — Umami is real MIT, no copyleft, no brand restrictions, no EE/CE split. Fork it freely.
You want raw event-level access via direct database queries. Fathom's API is good; Umami's Postgres is better for custom analytics.
You need a real GA4 replacement with goals + funnels. Both lack feature depth. See Matomo.
You need cross-session user stitching. Both are pure cookieless and lose this by design.
Fathom is fixed SaaS; Umami's cost is your hosting + your time.
| Line item | Fathom Analytics | Umami |
|---|---|---|
| Base / hosting | +$15/mo Fathom Standard | +$5/mo $5 VPS for Umami self-host |
| Database | Included Included | Included Postgres on same VPS |
| Stats API | Included Included | Included REST API included |
| Time / ops | Included Vendor-managed | — ~2 hr/mo |
| All-in monthly | $15/mo Cash only — vendor handles ops | $5/mo Cash only — your time is extra |
Umami SaaS (umami.is) starts at $9/mo for 100k events if you don't want to self-host.
Limits the marketing pages won't list. Each tool has them — knowing which kills the deal saves a migration.
Self-host. SaaS-only.
Direct database access. Fathom's data is yours by API; you can't run SQL against the underlying store.
Free tier. No free path. $15/mo entry.
Vendor-managed simplicity. You operate it. If your VPS dies on Friday, you fix it on Friday.
Compliance certifications. No SOC 2, no ISO 27001 — you're the data processor, you self-attest.
Scale beyond ~5M events/mo. Umami's Postgres backend slows down past that point. ClickHouse-backed alternatives (Plausible CE, OpenPanel) handle larger volumes.
Five facts that most often qualify or disqualify a tool early.
| Fathom Analytics | Umami | |
|---|---|---|
| Price floor | $15/mo | Free |
| Free tier | No | Yes |
| Hosting model | SaaS only | SaaS + self-host |
| Data residency | EU / US | US |
| Cookieless | Yes | Yes |
Frameworks claimed and sub-processors disclosed under DPA.
| Framework | Fathom Analytics | Umami |
|---|---|---|
| GDPR | Held | Held |
| CCPA | Held | Held |
| UK PECR | Held | Not held |
| SOC 2 Type II | Not held | Not held |
| ISO 27001 | Not held | Not 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 | Umami |
|---|---|---|
| 10k pv/mo | $15/mo100k pv | $0/moHobby |
| 100k pv/mo | $15/mo100k pv | $0/moHobby |
| 500k pv/mo | $60/mo1M pv | $20/moPro |
| 1M pv/mo | $60/mo1M pv | $20/moPro |
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 | Umami |
|---|---|---|
| Pageviews & visitors | Yes Pageviews + unique visitors |
Yes Pageviews + visitors |
| Live visitor count | Yes Real-time count |
No Cloud only feature |
| Top pages report | Yes By pageviews/visitors |
Yes By pageviews/visitors |
| Top referrers | Yes Referrer + UTM breakdown |
Yes Referrer + UTM breakdown |
| UTM campaign tracking | Yes Source/medium/campaign |
Yes Auto-detected from referrer |
| Country & city breakdown | Partial Country-level only; no city breakdown by privacy choice |
Yes Country + city |
| Device, browser, OS | Yes Device, browser, OS |
Yes Device + browser |
| Bounce / engagement | Yes Bounce rate |
Yes Bounce rate |
| Time on site | Yes Avg session duration |
Yes Avg session duration |
| Custom events | Yes fathom.trackEvent() with optional revenue (_value) |
Yes Custom events with property tracking; v3.1 added Custom Boards |
| Goals / conversions | Yes Events with optional monetary value (revenue tracking) |
Yes Cloud goals; self-host via SQL |
| Funnels | No No funnel feature; events only, no multi-step funnel reports |
Yes Custom Boards (v3.1+); flat funnel reports |
| Outbound link tracking | Yes Via custom events |
Yes Via custom events |
| File download tracking | Yes Via custom events |
Yes Via custom events |
| 404 / error tracking | No Not built-in; vendor /uptime page returns 404 |
No Manual events |
| Feature | Fathom Analytics | Umami |
|---|---|---|
| Cookieless by default | Yes Cookieless: no localStorage/sessionStorage; daily salt rotation (24h UTC) on visitor hash |
Yes Cookieless tracking; visitor hash with salt rotation (monthly default, configurable) |
| No personal data collected | Yes IPs not stored; used in-memory for geo + daily salt hash |
Yes IP not stored; used in-memory for geo + salted hash |
| GDPR-compliant out of the box | Yes Vendor claims no banner needed (no PII, no terminal storage); legitimate-interest basis |
Partial Vendor claims no banner needed (cookieless + no PII); not a legal opinion, EU DPAs may differ on Schrems-II/US infra |
| Data hosted in EU | Yes EU Isolation: EU IPs routed to AWS Frankfurt; only aggregated stats leave EU |
Partial Mixed: Vercel + Cloudflare (US), ClickHouse (US/EU), Hetzner (EU) |
| Data hosted in US | Yes Non-EU traffic on AWS US (us-east-1) |
Yes Vercel + Cloudflare US primary; control plane US-hosted |
| Self-hostable | No Cloud-only (no self-host) |
Yes Free, Docker |
| Open source | No Closed-source SaaS |
Yes MIT |
| Data retention period | Forever Forever for life of account; full CSV export + Stats API |
Configurable Hobby 6 mo · Pro 2 yr · Business 5 yr · Self-host: indefinite |
| Bot & spam filtering | Yes Auto-filters bots, crawlers, DDoS, spam |
Yes Bot detection |
| Feature | Fathom Analytics | Umami |
|---|---|---|
| Script weight (KB) | 2 Vendor claim "just 2 KB"; ~1.7 KB gzipped |
2 ~2 KB gzipped (4.5 KB uncompressed); same gzipped basis as peers |
| Single-snippet install | Yes data-site attribute |
Yes data-website-id attribute |
| WordPress plugin | Yes Official WP plugin v3.3.1; 102,958 downloads, rating 4.8/5 |
No No official plugin; community "Integrate Umami" by Ancocodet (2k+ installs) |
| Proxy / first-party domain | Yes Built-in custom domain proxy — no nginx config needed |
Yes Configurable via TRACKER_SCRIPT_NAME env (rename to dodge adblockers) |
| Public API | Yes Stats API + Tracking API; documented at usefathom.com/api |
Yes Full REST API (websites, stats, events, sessions, reports, realtime) |
| Data export (CSV/JSON) | Yes CSV + API |
Yes CSV |
| Google Search Console connector | No No native GSC connector |
No No native GSC connector |
| Email digests | Yes Daily / weekly / monthly reports; unlimited recipients |
Yes Cloud |
| Slack / webhook alerts | Partial Webhook via API; not headlined as Slack-native |
No No native Slack |
| Public shareable dashboard | Yes Shareable read-only links per site |
Yes Share-link toggle |
| Feature | Fathom Analytics | Umami |
|---|---|---|
| Free tier exists | No 30-day trial only; no permanent free tier |
Yes Hobby plan = permanent free (100k events/mo, 3 sites, 6mo retention) |
| Entry price ($/mo) | 15 100k pageviews/mo entry tier (continuous pageview ladder, not named tiers) |
20 Cloud Pro tier (1M events/mo, 20 sites, 2yr retention) |
| Price at 100k pageviews | 15 $15/mo covers 100k pv; per-pageview-based pricing ladder |
20 Pro covers 1M events/mo (well over 100k benchmark) |
| Unlimited sites on entry plan | Yes 50 sites included on every plan |
Partial 3 sites Hobby · 20 sites Pro · unlimited Business · unlimited Self-host |
Factual answers to the questions readers most often ask about this pair.
Not natively. Umami does not ship an uptime monitor in either the self-hosted build or Umami Cloud, and there is no roadmap item suggesting one is coming. The standard workaround is to pair Umami with a dedicated free tool like UptimeRobot, Better Uptime's free tier, or Healthchecks.io. Each of those will email or Slack you when a site is down, which is functionally what Fathom's monitor does. The trade-off is one more account, one more dashboard, and one more thing to configure. If consolidation matters and you'd rather one bill, Fathom's bundled monitor is the cleaner answer.
Umami runs comfortably on the smallest practical VPS. A $5/month Hetzner CX11 or DigitalOcean basic droplet with 1 vCPU and 1GB of RAM is enough for a low-to-moderate-traffic site, with the Umami app itself using around 200 to 400MB and PostgreSQL or MySQL taking a similar chunk. Disk needs are modest unless you're tracking millions of events per month: 10GB is plenty for the first year on a typical site. The realistic upgrade trigger is event volume, not pageviews: once you're consistently above one to two million events per month, bump to 2GB of RAM and consider tuning your database to keep query times reasonable on long date ranges.
Umami has funnels, Fathom does not. On Umami this works on the self-hosted build for free or on Umami Cloud Plus, the higher tier above Cloud Pro. The funnel report lets you define a sequence of events or pages and see drop-off between each step, which is the standard pattern for analysing checkout, signup, or any multi-step conversion flow. Fathom has explicitly chosen not to ship funnels, partly because the team prefers a small, opinionated feature set and partly because real funnel analysis tends to require richer event data than Fathom is built to capture. If multi-step conversion analysis is central to your work, Fathom is not the right tool.
Partially. Both tools let you export raw event data as CSV, so you can take historical events out of either one. The difficulty is that the schemas don't line up perfectly: Fathom's event model is simpler and slightly different from Umami's, so direct one-to-one import is not supported by either project officially. The pragmatic approach is to keep your historical data in the old tool as an archive, switch the script tag on your sites to the new tool from a clean cutover date, and accept a short period where the old dashboard owns the past and the new one owns the future. Most teams do this once per platform migration and never look back.
Yes. Fathom has a real-time visitor count that updates every few seconds and shows current sessions, the pages they're on, and the referrers. Umami shows the same in its dashboard with similar refresh latency. Neither requires any special configuration; it's on by default once tracking is installed. The implementations differ slightly under the hood, but the user-facing experience is essentially identical: a number at the top of the dashboard that ticks up and down as people land on and leave your site. If real-time is a hard requirement, both products satisfy it equally.
Fathom offers a 30-day free trial of any plan, no credit card required, with the full feature set unlocked including the uptime monitor and the comparison views. After 30 days you either pay $15/month minimum or your tracking stops collecting new data. Umami offers two free paths: a 14-day Cloud trial on the Pro plan, and self-hosting which is genuinely free forever under the MIT licence. There is no free tier on Umami Cloud after the trial; you pay $9/month or you switch to self-host. If you want to evaluate both before committing, install both side by side for a fortnight on a test site and decide on operational feel, not just dashboard screenshots.
More comparisons and reference pages on this site.