[invisit](https://invisit.dev) · [Docs](https://invisit.dev/docs) · [llms.txt](https://invisit.dev/llms.txt) · [llms-full.txt](https://invisit.dev/llms-full.txt)

# 8 best Fathom Analytics alternatives in 2026, priced at your tier

> Umami, Pirsch, Simple Analytics, invisit and 4 more Fathom alternatives priced at 100K, 1M and 2M pageviews, and which import your Fathom history.

- Author: Miraç Berk
- Published: 2026-11-03
- Page: https://invisit.dev/blog/fathom-alternatives
- Tags: fathom, alternatives, pricing

![A soft 3D price tag resting on a stack of light analytics cards beside a small balance scale, lit by violet dithered light with soft shadows.](https://invisit.dev/_astro/cover.BdmBTNnF.png)

The best Fathom Analytics alternative depends on whether you want to pay less than Fathom or see more than its counts. As of November 2026, Umami Cloud is the cheapest tool with events and funnels at Fathom's own tiers (free to 100K events, $20 at 1M against Fathom's $60), Pirsch is the only one that imports your Fathom history, and Cloudflare Web Analytics and GoatCounter cost nothing if page views are all you read.

The short answer, by the reason you are leaving:

- Pay a third of Fathom's price and gain funnels: Umami Cloud.
- Keep your Fathom history and 50 sites, and add teammates: Pirsch.
- One person at 2M page views or more, with no visitor identifier at all: Simple Analytics, $80 at 2M against $100.
- Page views and Core Web Vitals for nothing: Cloudflare Web Analytics.
- A personal site or small business on a free, open-source counter: GoatCounter.
- Funnels, heatmaps, every visit step by step and revenue read from Stripe or Paddle, with a login for each teammate: invisit, the tool we build.
- Analytics stored in the EU by EU-owned providers, with seats for a team: Plausible.
- Session replay and funnels in one cookieless tool: Rybbit.

Stay on Fathom if the reasons you picked it still hold. Fathom's $15 plan includes 50 sites, unlimited email reports and a share link per client; its script measured 2,086 bytes gzipped, the smallest in this list; every plan has every feature; and when you go over, Fathom locks the dashboard but never stops collecting. Below 100K page views, the most any switch here saves you is $15 a month.

> [!NOTE]
> invisit is the product we build. It sits at number 6, placed by the situation it wins, and its entry lists its limits the same way the others do. We checked every price and claim on the vendors' own pages and docs on November 3, 2026, and measured every tracker with gzip -9 that day, as in [our script size test](/blog/analytics-script-size).

## Why do people look for Fathom Analytics alternatives?

People leave Fathom Analytics for two kinds of reasons: the bill, and what the dashboard cannot show. Both are documented on Fathom's own pages, and both are trade-offs Fathom makes on purpose.

The bill:

- No free plan. Fathom's pricing FAQ answers its own free-plan question with "Nope". The cheapest plan is $15 a month for up to 100K pageviews, and the 7-day trial needs a card ([Fathom's pricing](https://usefathom.com/pricing)). A blog with 3,000 page views a month pays the same $15.
- Wide steps at volume. After 2M ($100) the next tier is 5M ($140), so a site that settles at 2.1M is asked to move up to 5M.
- One allowance for everything. Pageviews, custom events and every API request count toward it. Fathom's [API docs](https://usefathom.com/api/v1) say ten Create Site calls count the same as ten pageviews, so one report polled every five minutes adds 8,640 pageviews in 30 days.
- Locked access when you stay over. Fathom emails, sends reminders and a final notice, then pauses dashboard and API access while it keeps collecting ([plan limits](https://usefathom.com/docs/account/limits)).

What Fathom cannot show:

- One login per account. Colleagues get view-only share links ([shared dashboards](https://usefathom.com/docs/features/shared-dashboards)).
- Events without properties. A Fathom event is a name plus an optional `_value` in cents ([events](https://usefathom.com/docs/events/overview)), and there are no funnels, no single-visit view and no heatmaps.
- Revenue from your code only. The amount is whatever `_value` your checkout sends, not what your payment provider recorded.
- Analytics stored in the US. Visits from the EU are processed on EU servers and stripped of the IP address there, and the anonymized analytics are stored on Fathom's US infrastructure ([data isolation](https://usefathom.com/features/data-isolation)).

Our [Fathom vs invisit comparison](/compare/fathom) goes through Fathom plan by plan; this post covers the whole field.

## What to look for in a Fathom alternative

Someone leaving Fathom should compare alternatives on the price at their own tier and on what Fathom already gave them: many sites, a short-lived visitor hash, a tiny script and collection that never stops.

- Price at your tier, in the vendor's unit. Fathom counts API requests, Umami every stored event property, Rybbit web vitals and autocaptured clicks, Pirsch 10% of session extensions.
- Sites and logins. Fathom includes at least 50 sites and one login. Several alternatives reverse that: fewer sites, more people.
- Your history. Fathom exports CSV files per dimension. Pirsch imports them; the rest start empty or need the files reshaped.
- How long a visitor is recognisable. Fathom's hash rotates at midnight UTC ([cookies](https://usefathom.com/docs/troubleshooting/cookies)). Alternatives run from no identifier to a hash that lasts a month or more.
- Where data is stored, and how heavy the script is. Fathom stores analytics in the US, and its `script.js` measured 2,086 bytes gzipped.
- What happens over the limit, and what you gain: funnels, a view of each visit, heatmaps, revenue from your payment provider.

## How much do Fathom alternatives cost at 100K, 1M and 2M pageviews?

At Fathom's own tiers, Umami Cloud costs the least of the tools with events (free, $20 and $50 against Fathom's $15, $60 and $100), Pirsch Standard and invisit undercut Fathom by $1 to $11, and Plausible and Rybbit cost more than Fathom at 100K and 1M. Prices are monthly on monthly billing, as of November 2026, each in the vendor's own unit:

| Tool                           | 100K a month | 1M a month | 2M a month          | What counts toward the limit                                            | Source                                                                |
| ------------------------------ | ------------ | ---------- | ------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Fathom (reference)             | $15          | $60        | $100                | Pageviews, custom events, API requests                                  | [Fathom](https://usefathom.com/pricing)                               |
| Umami Cloud                    | Free (Hobby) | $20 (Pro)  | $50 (Pro, overage)  | Page views, custom events, each stored property                         | [Umami](https://umami.is/pricing)                                     |
| Pirsch Standard, Plus          | $12, $27     | $54, $159  | $99, $299 (5M step) | Page views, custom events, 10% of session extensions                    | [Pirsch](https://pirsch.io/pricing)                                   |
| Simple Analytics (Simple plan) | $20          | $60        | $80                 | Pageviews and events                                                    | [Simple Analytics](https://www.simpleanalytics.com/pricing)           |
| Cloudflare Web Analytics       | Free         | Free       | Free                | No traffic limit                                                        | [Cloudflare](https://developers.cloudflare.com/web-analytics/limits/) |
| GoatCounter                    | Free         | Free       | Free                | Fair use, no published number                                           | [GoatCounter](https://www.goatcounter.com/help/terms)                 |
| invisit                        | $14          | $49        | $99 (3M step)       | Page views, custom events, conversions, short-link clicks               | [invisit](/pricing)                                                   |
| Plausible Starter, Business    | $19, $39     | $69, $139  | $89, $179           | Pageviews and custom events                                             | [Plausible](https://plausible.io/#pricing)                            |
| Rybbit Standard, Pro           | $19, $39     | $69, $139  | $99, $199           | Page views, custom events, web vitals, outbound and autocaptured clicks | [Rybbit](https://rybbit.com/pricing)                                  |

Pirsch has no 2M step, so 2M is priced at its 5M step; invisit's next step after 1M is 3M. Umami Pro bills $0.00003 for each event past 1M, so 2M is $20 plus $30.

The units change what the same site costs. A site with 900K page views and 50K checkout events that each carry an amount fits Fathom's 1M plan at $60. On Umami Cloud, a checkout sent with `revenue` and `currency` properties is three events, so that month is 1.05M events: $21.50. On Rybbit, web vitals and autocaptured clicks fill the allowance alongside page views.

Fathom has no funnels at any price. At 100K, 1M and 2M, plans with funnels cost: Umami free, $20 and $50; invisit $14, $49 and $99; Rybbit Standard $19, $69 and $99; Pirsch Plus $27, $159 and $299; Plausible Business $39, $139 and $179.

A year paid up front costs ten months' price on Fathom, Pirsch, Simple Analytics and Plausible, nine on invisit, and eight on Rybbit.

## Fathom alternatives compared: sites, logins, history and privacy

| Tool             | Free plan                   | Sites                    | Logins                 | Funnels                   | Visit view, heatmaps      | Imports Fathom history | Visitor recognisable for  | Data stored                 | Script, gzip |
| ---------------- | --------------------------- | ------------------------ | ---------------------- | ------------------------- | ------------------------- | ---------------------- | ------------------------- | --------------------------- | ------------ |
| Fathom           | No, 7-day trial with a card | 50 to 350, more in packs | 1, plus share links    | No                        | No, no                    | Exports CSV            | 1 day                     | US                          | 2,086 B      |
| Umami Cloud      | 100K events, 1 site         | 1, 20, unlimited by plan | Owner, 10, unlimited   | Every plan                | Sessions; heatmaps $200   | CSV by request, Pro    | Up to a month             | EU or US, chosen at signup  | 3,913 B      |
| Pirsch           | No, 30-day trial, no card   | 50; unlimited on Plus    | Unlimited              | Plus                      | Session analysis, no      | Yes, built in          | 24 hours                  | Germany                     | 3,498 B      |
| Simple Analytics | Yes, no events, 30 days     | 5 free, 10 on Simple     | 1, then $20 each       | Steps not tied to a visit | No, no                    | No, GA4 only           | Not at all                | Netherlands, Germany        | 4,793 B      |
| Cloudflare       | Yes, no traffic cap         | 10 unproxied             | Account members        | No                        | No, no                    | No                     | Not at all                | No EU-only option           | 10,253 B     |
| GoatCounter      | Yes, donation-funded        | One site per domain      | Several, with roles    | No                        | Optional pageview log, no | No                     | 8 hours, in memory        | Finland, Germany            | 3,319 B      |
| invisit          | 20K events, 4 sites         | 4 free; no cap on paid   | Unlimited, three roles | Every plan                | Yes, yes                  | No                     | 1 day                     | Germany                     | 8,542 B      |
| Plausible        | No, 30-day trial, no card   | 1, 3, 10 by plan         | 1, 3, 10 by plan       | Business                  | No, no                    | CSV in its own format  | 24 hours                  | Germany, EU-owned providers | 2,485 B      |
| Rybbit           | No, 7-day trial             | 5; unlimited on Pro      | 3; 100 on Pro          | Every plan                | Sessions, no              | No                     | Across days unless salted | Germany, Finland            | 11,753 B     |

Script sizes are the core tracker each tool's standard snippet loads, compressed with GNU gzip 1.14 at `-9 -n` on November 3, 2026. Umami's heatmaps and replays need its Business plan and a second recorder script.

## What happens when you go over your plan?

Fathom never stops collecting when you go over: it emails you, sends reminders and a final notice, and then locks the dashboard and API until you upgrade or your usage falls back ([plan limits](https://usefathom.com/docs/account/limits)). Plausible works the same way, Umami and Simple Analytics bill the extra instead, and Pirsch, Rybbit and invisit stop recording at some point.

| Tool             | When you go over                                                                                                                                                       |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Fathom           | Reminders, then dashboard and API locked; collection continues                                                                                                         |
| Umami Cloud Pro  | $0.00003 per extra event, billed automatically; an optional spending budget stops recording instead ([subscription](https://docs.umami.is/docs/cloud/subscription))    |
| Pirsch           | Dashboard stops at the day you hit the limit; collection continues for five more days, then stops until you upgrade or the limit resets                                |
| Simple Analytics | On monthly billing the fee follows usage: last month, then the average of the previous three                                                                           |
| Cloudflare       | No traffic limit                                                                                                                                                       |
| GoatCounter      | Free for "reasonable public usage"; "millions of pageviews/day" is not                                                                                                 |
| invisit          | First month over recorded in full; in a second month over in a row, new events stop at the limit until you upgrade or the month turns                                  |
| Plausible        | One month over is free; after two in a row, upgrade within a week or dashboards lock, and collection continues ([plans](https://plausible.io/docs/subscription-plans)) |
| Rybbit           | Sites stop collecting until the next month or an upgrade ([billing](https://rybbit.com/docs/billing-settings))                                                         |

If spikes are your worry, Fathom, Plausible, Umami (without a budget) and Simple Analytics keep every event. invisit's tracker keeps answering normally while recording is paused, so your site is unaffected, but the gap in your data is real.

## 1. Umami Cloud: best for paying a third of Fathom's price, with funnels

Umami Cloud costs a third of Fathom's price at 1M page views and nothing below 100K, and it adds funnels, journeys, retention and sessions that Fathom does not have. Umami is MIT-licensed open source, so you can move to your own Node.js and PostgreSQL server later.

As of November 2026, [Umami's pricing](https://umami.is/pricing) has Hobby free up to 100K events (1 site, 6 months of data, no teammates, no API), Pro at $20 a month for 1M events and $0.00003 per event after that (20 sites, 10 members, 2 years of data), and Business at $200 for 10M with heatmaps, session replays and unlimited sites and members. Paid plans start with a 14-day trial.

What Umami does better than Fathom: funnels, journeys, retention, goals and attribution on every plan, free included, and sessions you can open one by one. Revenue comes from `revenue` and `currency` properties on every plan, and from Stripe, Paddle, Lemon Squeezy, Dodo Payments, Polar or WooCommerce from Pro ([payment providers](https://docs.umami.is/docs/cloud/payment-providers)). Pro adds the API, an official MCP server and logins for ten people.

What Umami does worse: each stored property bills as one more event, so amounts and labels cost allowance. Umami's visitor hash uses a salt that rotates monthly by default, so a returning visitor stays linked for up to a month ([metric definitions](https://docs.umami.is/docs/metric-definitions)), against a day on Fathom. Pro allows 20 sites against Fathom's 50, data is kept 2 years on Pro where Fathom keeps it while you subscribe, and the EU or US region is picked at signup ([FAQ](https://docs.umami.is/docs/cloud/faq)).

Moving from Fathom: Umami has no Fathom importer. From Pro, Umami's team imports CSV exports by request ([import data](https://docs.umami.is/docs/cloud/import-data)), and the docs do not name Fathom as a source, so ask before counting on it. `fathom.trackEvent('Checkout', { _value: 4900 })` becomes `umami.track('Checkout', { revenue: 49, currency: 'USD' })`: units, not cents ([revenue](https://docs.umami.is/docs/revenue)).

Choose Umami Cloud to cut the bill and gain funnels, if 20 sites are enough. See [Umami vs invisit](/compare/umami).

## 2. Pirsch: best for keeping your Fathom history and your sites

Pirsch is the only tool here that imports Fathom's export, and its Standard plan keeps what agencies like about Fathom (50 sites, email reports, access links) while adding unlimited members, for a little less money. Pirsch is a cookieless service from Emvi Software GmbH, made and hosted in Germany.

Pirsch counts page views, custom events and 10% of session-extension events. As of November 2026, [Pirsch's pricing](https://pirsch.io/pricing) puts Standard at $12 a month for 100K, $54 for 1M and $99 for 5M (there is no 2M step), and Plus at $27, $159 and $299. A year costs ten months' price, and the trial runs 30 days without a card.

What Pirsch does better than Fathom: unlimited members with roles and unlimited data retention on Standard, events with up to 20 metadata pairs ([events](https://docs.pirsch.io/advanced/events)), session analysis, traffic spike notifications, a Search Console plugin, a URL shortener and webhooks. At 5M page views Standard costs $99 against Fathom's $140. Pirsch hashes the IP address, User-Agent, date and a per-site salt, so a visitor is recognisable for 24 hours at most, and the IP address is never stored ([privacy](https://docs.pirsch.io/privacy)).

What Pirsch does worse: funnels, A/B tests, segmentation and revenue tracking need Plus, which costs $159 at 1M, more than two and a half times Fathom. The pricing page lists no heatmaps. At the limit, Pirsch limits your dashboard to the day you hit it and collects for five more days, so waiting leaves a gap where Fathom would keep counting. `pa.js` measured 3,498 bytes gzipped against Fathom's 2,086.

Moving from Fathom: zip Fathom's per-dimension CSV exports with their file names intact (`pageviews-browser-...csv`) and upload the ZIP under Import / Export, up to 100 MB at a time ([Fathom import](https://docs.pirsch.io/get-started/fathom-import)). Imported days are daily totals: filters are disabled when results include them, and they cannot be exported again ([import limits](https://docs.pirsch.io/get-started/ga-import)). `fathom.trackEvent('Newsletter Signup')` becomes `pirsch('Newsletter Signup')`, and access links with an expiry date replace client share links.

Choose Pirsch for many sites, a team that reads the numbers, and history that comes with you.

## 3. Simple Analytics: best for one person at high volume who wants no identifier

Simple Analytics costs less than Fathom from 2M page views up, for one user, and it goes further on privacy: it keeps no visitor identifier at all, not even a daily hash. Simple Analytics is a Dutch company that stores data in the Netherlands and Germany ([subprocessors](https://www.simpleanalytics.com/subprocessors)).

Simple Analytics bills pageviews plus events. As of November 2026, the Simple plan costs $20 a month at 100K, $60 at 1M, $80 at 2M, $120 at 5M and $160 at 10M, against Fathom's $15, $60, $100, $140 and $200 ([plan details](https://www.simpleanalytics.com/pricing.md)). On monthly billing the fee follows usage, set by last month and then by the average of the previous three ([pricing FAQ](https://www.simpleanalytics.com/pricing)). A year costs ten months' price and the trial is 14 days without a card. The Free plan covers 5 sites with 30 days of history and a required badge, without events, goals or APIs.

What Simple Analytics does better than Fathom: a free plan, a lower price at high volume, an EU-owned vendor with EU storage, and no identifier. A page view counts as a visit when it arrives with no referrer or one from another site ([unique visits](https://docs.simpleanalytics.com/explained/unique-visits)).

What Simple Analytics does worse: one user is included and each extra one costs $20 a month, the Simple plan covers 10 sites against Fathom's 50, and data is kept 3 years. Without an identifier, its visitors figure counts visits rather than people, and goals with several steps are not tied to one session. There is no revenue report. `latest.js` measured 4,793 bytes gzipped, more than twice Fathom's.

Moving from Fathom: Simple Analytics imports Google Analytics 4 page views only ([GA4 import](https://docs.simpleanalytics.com/import-google-analytics-data)), so keep your Fathom CSV files. Event names allow letters, digits and underscores, and other characters become underscores ([events](https://docs.simpleanalytics.com/events)), so `fathom.trackEvent('Newsletter Signup')` becomes `sa_event('newsletter_signup')`.

Choose Simple Analytics if you work alone at 2M page views or more and want no identifier at all. See [Simple Analytics vs invisit](/compare/simple-analytics).

## 4. Cloudflare Web Analytics: best free option for page views and Core Web Vitals

If page views, referrers, countries and page speed are all you read in Fathom, Cloudflare Web Analytics gives you those for nothing, with no traffic cap. It needs a Cloudflare account and one script tag, and your DNS can stay where it is ([about](https://developers.cloudflare.com/web-analytics/about/)).

Cloudflare's [limits page](https://developers.cloudflare.com/web-analytics/limits/) caps sites, not traffic: 10 per account for sites not proxied through Cloudflare, no limit for proxied ones. What Cloudflare does better than Fathom: it costs nothing at any volume, it reports Core Web Vitals, which Fathom does not measure, and any Cloudflare account can add members with their own roles ([members](https://developers.cloudflare.com/fundamentals/manage-members/)).

What Cloudflare does worse: nearly everything Fathom adds on top of page views. [Cloudflare's FAQ](https://developers.cloudflare.com/web-analytics/faq/) lists no custom events and no UTM parameters, six months of data, and only the last 7 days kept unsampled before data is aggregated to around 10%. A visit is a page view whose referrer is not your own hostname ([metrics](https://developers.cloudflare.com/web-analytics/data-metrics/high-level-metrics/)), so there are no unique visitors. The beacon measured 10,253 bytes gzipped, about five times Fathom's, ad blockers block it, and Web Analytics is not covered by Cloudflare's EU [Customer Metadata Boundary](https://developers.cloudflare.com/data-localization/compatibility/).

Moving from Fathom: there is no import and nothing to map. Events, goals and revenue have no home.

Choose Cloudflare Web Analytics for docs, a personal site or a side project where page views and page speed are all you read.

## 5. GoatCounter: best free counter for a personal site or small business

GoatCounter is the closest thing to Fathom's plain dashboard that costs nothing: an open-source counter of pages, referrers, campaigns, browsers, systems, locations and screen sizes. GoatCounter.com is donation-supported and run by one developer, Martin Tournoij, from Ireland.

GoatCounter's [terms](https://www.goatcounter.com/help/terms) say the service is free for "reasonable public usage": a personal website or a small-to-medium business is fine, "millions of pageviews/day" is not. There is no paid plan and no published monthly number. Data is stored at Hetzner in Finland and Germany ([privacy policy](https://www.goatcounter.com/help/privacy)), and the code is under a lightly modified EUPL 1.2, so you can [self-host it](https://github.com/arp242/goatcounter) if you outgrow fair use.

What GoatCounter does better than Fathom: the price, the license, and a stricter storage model. GoatCounter stores aggregate tables per hour or day, never the IP address or full User-Agent, and keeps the session key (site, User-Agent and IP) in memory for 8 hours only ([sessions](https://www.goatcounter.com/help/sessions)). `count.js` measured 3,319 bytes gzipped.

What GoatCounter does worse: an event is a path flagged as an event, with no properties and no value ([events](https://www.goatcounter.com/help/events)), and there are no funnels, revenue or heatmaps. Each domain needs its own site, and support is one developer answering GitHub issues and email. GoatCounter's [FAQ](https://www.goatcounter.com/help/faq) says most ad blockers block goatcounter.com and estimates that about a third of pageviews are missed.

Moving from Fathom: GoatCounter can import server log files, and documents no import from Fathom. `fathom.trackEvent('Newsletter Signup')` becomes `window.goatcounter.count({ path: 'newsletter-signup', event: true })`.

Choose GoatCounter if your Fathom bill pays for a personal site's counts, and a one-person service is an acceptable risk.

## 6. invisit: best for funnels, heatmaps, visit timelines and payment revenue

invisit, the tool we build, keeps Fathom's cookieless approach and adds what Fathom leaves out: funnels, every visit step by step, heatmaps, and revenue read from your payment provider, with a login for every teammate. invisit is a hosted service with an MIT tracker and SDKs and a proprietary backend, and it stores data in Falkenstein, Germany.

invisit never bills bots, crawler reads, web vitals or heatmap clicks. As of November 2026 the free plan covers 20,000 events a month on 4 sites, commercial use allowed, and paid plans cost $14 for 100K, $49 for 1M and $99 for 3M ([pricing](/pricing)). A year costs nine months' price, and the trial is 14 days without a card.

What invisit does better than Fathom: events with up to 32 properties, [funnels](https://invisit.dev/docs/guides/events.md#funnels) of 2 to 8 steps inside one visit, and every visit's pages and events in order, live in the dashboard and at any age through the [REST API](https://invisit.dev/docs/api/rest.md) and [MCP server](https://invisit.dev/docs/api/mcp.md). Heatmaps show clicks, rage clicks and dead clicks per element, and scroll depth in 5% bands. Revenue comes from Stripe, Paddle, Polar, Lemon Squeezy, Creem or Dodo Payments, with refunds, disputes, fees and net, and the last 90 days backfilled on connect ([connect a provider](https://invisit.dev/docs/guides/revenue.md#connect-a-provider)). [Workspaces](https://invisit.dev/docs/guides/workspaces.md) give unlimited members viewer, member or owner roles, and traffic alerts go to Slack, Discord, ntfy or a webhook.

What invisit does worse: the core script is about 8.5 KB gzipped, about four times Fathom's 2.1 KB. invisit cannot import your Fathom history, sends no scheduled email reports, has no Search Console integration or GA4 import, no self-hosting and no session recordings, and it does not attribute revenue to sources or campaigns. In a second month over the limit, new events stop being recorded, where Fathom keeps collecting. Cloudflare, a US company, runs invisit's DNS and CDN.

Moving from Fathom: `fathom.trackEvent('Newsletter Signup')` becomes `track('newsletter_signup')` ([custom events](https://invisit.dev/docs/guides/events.md#custom-events)), and `_value` gives way to a payment provider connection. See [Fathom vs invisit](/compare/fathom) for the plan-by-plan comparison.

Choose invisit when the questions Fathom cannot answer are why you are leaving, and a script about four times larger is acceptable.

## 7. Plausible: best for EU-stored analytics and a team, at about Fathom's price

Plausible fixes Fathom's storage question: it keeps visitor data at Hetzner in Falkenstein, Germany, and uses only European-owned providers, CDN included ([EU hosting](https://plausible.io/eu-hosted-web-analytics)). Plausible is cookieless, open source under AGPLv3, and close to Fathom in spirit and script weight.

Plausible bills pageviews plus custom events, and outbound clicks, downloads and form submissions count as custom events ([plans](https://plausible.io/docs/subscription-plans)). As of November 2026, [Plausible's pricing](https://plausible.io/#pricing) is $19, $69 and $89 at 100K, 1M and 2M on Starter (1 site, 1 person), $29, $104 and $134 on Growth (3 sites, 3 people), and $39, $139 and $179 on Business (10 sites, 10 people), the plan with funnels, custom properties, revenue goals and the Stats API. A year costs ten months' price, and the 30-day trial needs no card.

What Plausible does better than Fathom: EU storage with EU-owned providers, team seats from Growth, funnels and properties on Business, and revenue goals credited to the campaign and landing page of the visit. Plausible sends email and Slack reports, imports GA4, can be self-hosted as Community Edition, and its per-site script measured 2,485 bytes gzipped, 399 bytes more than Fathom's.

What Plausible does worse: it costs more than Fathom at 100K and 1M on every plan, and Business at 1M is $139, 2.3 times Fathom's $60. Business stops at 10 sites, so an agency with 40 client sites on Fathom has no self-serve Plausible plan. Plausible rules out individual visit views and heatmaps by design ([when not to use Plausible](https://plausible.io/when-not-to-use-plausible)), and revenue still comes from your code.

Moving from Fathom: Plausible has no Fathom importer, but its [CSV import](https://plausible.io/docs/csv-import) accepts files from other tools in its own format: ten `imported_*` tables, one row per day. Reshaping Fathom's daily CSVs into that format is possible and manual. `fathom.trackEvent('Checkout', { _value: 4900 })` becomes `plausible('Checkout', { revenue: { amount: 49, currency: 'USD' } })` on Business ([revenue](https://plausible.io/docs/ecommerce-revenue-tracking)).

Choose Plausible if storage in the EU decides it and 10 sites are enough. See [Plausible vs invisit](/compare/plausible) and our [Plausible alternatives](/blog/plausible-alternatives).

## 8. Rybbit: best for session replay and funnels in one cookieless tool

Rybbit is the pick when "more than counts" means watching sessions: funnels, journeys, retention, sessions and user profiles on Standard, and session replay on Pro. Rybbit is open source under AGPL-3.0, hosted as Rybbit Cloud on Hetzner in Germany and Finland ([subprocessors](https://rybbit.com/subprocessors)), or self-hosted.

Rybbit counts events per organization: page views, custom events, web vitals, outbound clicks and autocaptured clicks, copies, form submits and input changes ([billing](https://rybbit.com/docs/billing-settings)). As of November 2026, [Rybbit's pricing](https://rybbit.com/pricing) is $19, $69 and $99 at 100K, 1M and 2M on Standard (5 sites, 3 members, 3 years of data) and $39, $139 and $199 on Pro (unlimited sites, session replay, 5 years). A year costs eight months' price and the trial lasts 7 days.

What Rybbit does better than Fathom: every session with its pages and events, funnels, web vitals and error tracking on its cheapest plan, and replay at $139 for 1M.

What Rybbit does worse: by default the visitor ID is a hash of IP address and User-Agent that persists across days unless you turn on User ID Salting, and Rybbit's [site settings docs](https://rybbit.com/docs/site-settings) say the unsalted ID may count as personal data under the GDPR. Fathom's daily hash is stricter. Rybbit's script measured 11,753 bytes gzipped, 5.6 times Fathom's, autocaptured clicks fill the allowance, sites stop collecting at the limit, and its docs describe no heatmaps or revenue reports.

Moving from Fathom: Rybbit imports Umami, Simple Analytics and Plausible exports, not Fathom's ([data import](https://rybbit.com/docs/data-import)). `fathom.trackEvent('Newsletter Signup')` becomes `window.rybbit.event('Newsletter Signup')`.

Choose Rybbit if you want replay next to traffic and will configure salting.

## When should you stay on Fathom?

Stay on Fathom when one of its strengths is a requirement. No alternative here has all of them at once.

- Many client sites, reported by email. Every Fathom plan includes at least 50 sites (75 at 1M, 100 at 2M), more come in packs of 50 for $10 a month ([sites](https://usefathom.com/docs/troubleshooting/sites)), and [email reports](https://usefathom.com/docs/features/email-reports) are unlimited. Pirsch Standard comes closest.
- The smallest script. Fathom's 2,086 bytes gzipped is the lightest tracker in this list; Plausible is next at 2,485.
- Every feature on every plan. Pirsch gates funnels to Plus and Plausible to Business; Fathom has no plan gating, because it has one plan.
- Collection that never stops. Over the limit, Fathom locks access but keeps every pageview. Pirsch, Rybbit and invisit stop recording at some point.
- GA4 history and Search Console in one place, with EU visits processed in the EU.

If saving money is the only reason, the like-for-like savings are small: at 1M, Pirsch Standard saves $6 a month and invisit $11, and at 2M both save $1. The large savings, Umami Cloud and the free tools, come with fewer sites or fewer reports.

## How do you switch from Fathom without losing your history?

Export from Fathom while your subscription is active, import where your new tool accepts it, run both trackers for two to four weeks, then remove Fathom's script and cancel. When the paid period ends, Fathom queues your sites and data for deletion within up to 60 days ([cancel](https://usefathom.com/docs/account/close)).

1. Export each site. In Fathom's [custom export](https://usefathom.com/docs/features/exporting), choose Pageviews, All Time and Daily, and export once per dimension (Page, Referrer, Country, Browser, Device Type, Operating System, UTM parameters) with every metric, plus once with no dimension for totals. Repeat with Events and Event Name. Use the dashboard, not the API, since every API request counts toward your pageviews.
2. Save Download Dashboard for All Time too: a ZIP with one readable CSV per report.
3. Import where you can. Pirsch takes the per-dimension ZIP as is. Plausible takes CSV files reshaped into its `imported_*` format. Umami Cloud imports CSV by request from Pro. Everywhere else, the CSV files are your archive.
4. Install the new tracker next to Fathom's. Both can run on the same pages.
5. Rewrite each `fathom.trackEvent()` call with the table below, and convert `_value` from cents.
6. Replace what clients relied on: share links and email reports.
7. Compare both dashboards for two to four weeks. Expect differences: Fathom counts people with a daily hash, Simple Analytics and Cloudflare count referrer-based visits, and Umami links a visitor for a month.
8. Remove Fathom's script and cancel under Settings, Billing.

| Tool             | `fathom.trackEvent('Newsletter Signup')` becomes                       | Where `_value` goes                                  |
| ---------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- |
| Umami            | `umami.track('Newsletter Signup')`                                     | `revenue` and `currency` properties, two more events |
| Pirsch           | `pirsch('Newsletter Signup')`                                          | Event metadata; revenue tracking needs Plus          |
| Simple Analytics | `sa_event('newsletter_signup')`                                        | Event metadata; no revenue report                    |
| Cloudflare       | Nothing                                                                | Nowhere; no custom events                            |
| GoatCounter      | `window.goatcounter.count({ path: 'newsletter-signup', event: true })` | Nowhere; events carry no value                       |
| invisit          | `track('newsletter_signup')`                                           | Read from your payment provider instead              |
| Plausible        | `plausible('Newsletter Signup')`                                       | `revenue: { amount, currency }`, on Business         |
| Rybbit           | `window.rybbit.event('Newsletter Signup')`                             | An event property; no revenue report                 |

The amount itself is the easiest thing to get wrong. Fathom takes cents; Umami and Plausible take units with a currency:

```ts title="src/checkout.ts"
const cents = 4900 // a $49.00 order

// Before: Fathom, value in cents
fathom.trackEvent('Checkout', { _value: cents })

// After: Umami, value in units (each property bills as one more event)
umami.track('Checkout', { revenue: cents / 100, currency: 'USD' })

// After: Plausible Business, value in units
plausible('Checkout', { revenue: { amount: cents / 100, currency: 'USD' } })
```

> [!WARNING]
> Pass Fathom's `_value` straight into Umami or Plausible and a $49 order shows up as $4,900. Divide by 100 before you send it, and check the first day's revenue against your payment provider.

### Before you cancel Fathom

- [ ] A custom export per dimension, All Time and daily, plus an Events export, for every site.
- [ ] The dashboard ZIP for All Time saved as a readable archive.
- [ ] History imported into Pirsch, or reshaped for Plausible, if you chose either.
- [ ] Every `fathom.trackEvent()` call replaced, and every `_value` converted from cents.
- [ ] Share links and email reports replaced for every client who had one.
- [ ] Both tools ran side by side for two to four weeks.
- [ ] Fathom's script removed and the subscription cancelled before the next renewal.
