Migrating to Fathom Analytics
Fathom is the destination for content sites, indie founders, and one-person teams who want a working tracker before lunch and a dashboard that fits on a phone screen. Cloud-only by design, six auto-events out of the box, EU data residency included on every plan, and annual billing that gives you two months free. This page is the cross-source map: where you are coming from determines which migration guide to follow, which auto-event mapper to use, and which reconciliation gotchas to expect. Read the source map first, then click into the matching pair page for the install.
From which source โ pick your starting line
Five common origin points and their dedicated pair pages.
Coming from GA4
The main path. Auto-event mapping covers around 6 of GA4's 120 typical events โ Fathom's six built-in events (pageview, outbound link, file download, scroll, form, button) are a deliberate subset, not a coverage gap. The events you "lose" are events that did not produce decisions on the GA4 dashboard either.
GA4 โ Fathom โComing from Universal Analytics
UA data processing stopped 2023-07-01 and access to reports was closed 2024-07-01. Historical-data export route, not a live cutover. Pull your UA export from BigQuery, shape it into Fathom's CSV import schema, and load. The live tracker step is a fresh install.
UA โ Fathom (stub) โComing from Mixpanel
The hardest case for Fathom. Mixpanel is event-first with rich property schemas; Fathom is page-first with six fixed events. Most teams keep Mixpanel for product analytics and add Fathom for marketing-page analytics in parallel.
Mixpanel โ Fathom (stub) โComing from Plausible
A common cross-cookieless move. Goals translate one-to-one. Behavioral differences are small; teams move for pricing (Fathom annual is comparable to Plausible annual at sub-100 K pageviews) or for the EU Isolation routing, which is included by default on all Fathom plans.
Plausible โ Fathom (stub) โComing from Simple Analytics
Niche but real. Simple Analytics and Fathom are positionally similar โ cookieless, content-site-focused, simple dashboard โ and the migration is mostly a tag swap. The reasons to move are price (Fathom annual billing is competitive) or Fathom's EU Isolation routing, included by default.
Simple Analytics โ Fathom (stub) โIf your source is none of those โ Adobe, Heap, Amplitude, Snowplow โ file an issue on GitHub. The pair page roster is built by request.
Fathom's structural choices
Three architectural commitments that define what Fathom is and is not. None are roadmap items; they are commitments the company has restated publicly multiple times.
Cloud-only, by design. Fathom does not ship a self-host edition. There has never been one, there is no plan to add one, and the founders have written about the decision in public โ the trade-off is operational simplicity for the customer and revenue predictability for the company. If your DPO requires self-host, this is the wrong destination; go to Plausible Community Edition or self-hosted Matomo.
No self-host, ever. This is worth stating twice. There is no community edition, no enterprise on-prem, no air-gapped variant. The cloud-only commitment is the product. A team evaluating Fathom against open-source alternatives should treat "we might self-host later" as out-of-scope; the answer to "can we self-host Fathom in 2027" is no.
EU Isolation included by default. Fathom is a Canadian company (Canada has an adequacy decision from the European Commission). All plans include EU Isolation โ EU-only data centers, EU data residency โ at no extra charge. There is no add-on tier to unlock it. If your DPO requires strict EU data residency, Fathom's default setup satisfies that requirement on every paid plan.
If those three constraints (no self-host, cloud-only, no self-hosted fallback) are deal-breakers, the rest of this page does not apply. Go to Plausible or Matomo instead.
Cloud tiers and annual billing
Fathom prices by pageview band with three tiers, EU data residency included on all plans. Annual billing gives 2 months free (~17% off monthly).
| Plan | Monthly | Annual | EU Isolation |
|---|---|---|---|
| Starter (100 K pageviews) | $15/mo | $150/year (~$12.50/mo) | Included |
| Growth (1 M pageviews) | $60/mo | $600/year (~$50/mo) | Included |
| Business (10 M pageviews) | $200/mo | $2,000/year (~$167/mo) | Included |
The annual discount is approximately 17% (2 months free) โ comparable to Plausible's annual offer. The pricing is flat-rate within each tier; there is no per-event overage above your tier limit until you cross into the next tier, at which point you are bumped automatically.
The math vs Plausible at 100 K pageviews. Fathom annual $150/year vs Plausible annual approximately $192/year ($16/mo ร 12, or check current Plausible rates โ their 100 K tier is around $19/mo). Both include EU data residency. Fathom is modestly cheaper at this tier on an annual basis; the decision is on workflow fit rather than price.
The math vs Matomo Cloud. At 50 K visits, Matomo Starter is โฌ22/mo = roughly โฌ264/year. Fathom annual at the Starter tier is $150/year โ substantially cheaper, but Matomo includes plugins Fathom does not have (heatmaps, A/B testing, funnels). The price difference reflects the feature difference; pick on which features you actually use.
Annual billing is the right choice if you have run a successful parallel period and are confident committing to the tracker for a year. Monthly is appropriate during evaluation.
Standard migration playbook to Fathom
The five steps generalize across source trackers. Pair pages cover source-specific traps.
- Pick a tier. Tier choice is by pageview count (Starter โค100 K, Growth โค1 M, Business โค10 M). EU data residency is included on every plan โ no extra step required. Set the timezone on first dashboard load โ changing it later does not migrate historical buckets.
- Install the JS tag. One line:
<script src="https://cdn.usefathom.com/script.js" data-site="ABCDEFGH" defer></script>. The site code is generated when you create the property. Thedeferis non-negotiable. Subdomain tracking is opt-in via adata-spaattribute for SPAs and a separate domain entry in the dashboard for sibling domains. - Map the six auto-events to your existing event taxonomy. The Fathom JS API exposes
fathom.trackEvent('Event Name')for custom Goals beyond the six auto-events. The Event Mapping Wizard outputs the Goal-name list directly from a GA4 events export. Most teams reduce 30+ GA4 events to 6-10 Fathom Goals during this step, and the reduction is healthy โ the unmapped events were not driving decisions. - CSV import for historical data. Fathom has a CSV importer that takes daily-aggregated pageview, referrer, and country data and writes it into the destination dashboard's history. Pull a daily aggregation from your source (GA4 BigQuery, UA archive, Plausible API export) and load it. The granularity is day-level, not session-level โ you will not get user-journey reports out of imported history, only volume trends.
- Run a two-week parallel period and cut over. Tolerance bands: pageviews ยฑ2% green, cookieless inflation in the 5โ12% range on bannered GA4 sources is yellow and expected (observed estimate โ varies by banner acceptance rate). The methodology page documents the protocol. Cutover is one commit (remove source tracker), Wednesday morning. Annual-prepay billing kicks in on the first day after the parallel period if you committed at signup.
Engineering hours: 6-10 from a GA4 source, 4-8 from a Plausible source, 12-18 from a Mixpanel source. Calendar time: two weeks of parallel run regardless of starting point.
Who should look at a different destination
Fathom is built for a specific use case: content sites, portfolios, SaaS marketing pages, and indie founder projects where you want a trustworthy number without a cookie banner or a maintenance contract. Outside that profile, the trade-offs stop working in your favor.
| If you need this | Fathom verdict | Better target |
|---|---|---|
| Content site, simple dashboard, no cookie banner | Fathom's exact use case | โ |
| Annual billing (2 months free) | ~17% off monthly; comparable to Plausible annual | โ |
| EU data residency (German DPO compliance) | EU Isolation included on all plans, no add-on | โ |
| Self-host | Never available, by design | Plausible CE or Matomo |
| Funnel analysis, multi-touch attribution | Not available | Matomo |
| Session replay or A/B testing | Not available | Matomo |
| EU residency without extra tiers | EU Isolation included by default on all plans | โ |
The pricing comparison at 100 K pageviews: Fathom annual is $150/year, EU Isolation included. Plausible Cloud annual is approximately $192/year at 100 K (check current Plausible rates). Both include EU data residency. The difference is modest; the real decision is feature fit โ Fathom's six built-in events vs Plausible's Goals API and the depth of reporting each gives you. Use the Migration Effort Estimator to compare total migration cost across both paths before deciding.