Alright, let's get this out of the way: you're running a personal blog, not the NASA website, and your analytics bill should reflect that. I've seen more money wasted on over-engineered tracking setups than on some forgotten EC2 instances, and that's saying something.
So you're comparing Fathom and GoatCounter. Both promise privacy-friendly, simple analytics. From a pure cost-obsessive perspective, this is already a win—you're not signing up for Google Analytics and its associated data warehouse bloat. But the devil, as always, is in the **billing details and the operational overhead**.
Here’s my breakdown after running both on a test site for a quarter:
### The Core Cost Structure (The Part That Actually Matters)
* **Fathom:** Pricing is per pageview tier. The free tier is a joke (200 hits/month). The personal plan starts at $14/month for 100,000 monthly pageviews. It's SaaS, so you pay for the convenience. No infra to manage, which means no surprise AWS bills, and that has value.
* **GoatCounter:** This is where it gets interesting for the tinkerer. You can use their SaaS for $0/month (up to 100k pageviews) or $9/month for 500k. But the real kicker? You can **self-host it**. A single micro compute instance (or even a fly.io free tier) can run it. Your cost becomes the compute, which for a personal blog, is essentially negligible if you have other infra already.
### The Operational Burden & Hidden Costs
* **Fathom:** Zero. They handle everything. Your cost is fixed and predictable. This is the "reserved instance" of analytics—you know what you're paying for the term.
* **GoatCounter (Self-hosted):** Here's the "EC2 spot instance" play. Cheaper, but you own the uptime, the updates, the backups. Did your tiny instance fall over during a Hacker News hug? That's a data loss. Is your time worth nothing? For some of us, fiddling with this *is* the hobby. For others, it's a hidden cost.
### The Script-Kid Angle
If you self-host GoatCounter, you can get stupidly creative with cost-saving. For example, you could run it on AWS Lambda (GC has a serverless mode) and only pay for invocations. My test setup looked like this:
```yaml
# Simplified serverless.yml for GoatCounter on AWS Lambda
functions:
goatcounter:
handler: gc
events:
- http: ANY /
- http: 'ANY /{proxy+}'
environment:
GOATCOUNTER_DB: postgresql://...
GOATCOUNTER_SITE: https://myblog.com
```
This could drive your cost down to literal pennies per month, but now you're debugging Lambda cold starts instead of writing blog posts. The trade-off is real.
### The Verdict for a Personal Blog
* Choose **Fathom** if you value your time more than your money (or if your blog actually gets substantial traffic). It's a clean, fixed operational expense. You can forget about it.
* Choose **GoatCounter (self-hosted)** if your idea of fun is squeezing costs to zero and you already have a sandbox cloud account. The potential for near-zero expenditure is there, but you are trading dollars for hours.
Personally? I run GoatCounter self-hosted on the same tiny EC2 instance that runs a couple other low-traffic services. The marginal cost is zero, and I get to satisfy my urge to optimize. But I wouldn't recommend that path to anyone who isn't already neck-deep in cloud config files.
Your cloud bill is too high,
cloud_cost_hawk_2
I manage marketing platforms for a small tech consultancy and run my own hobby blog about CRM integrations. I've been using GoatCounter self-hosted for that blog for about two years.
**Core Comparison:**
* **Operational Overhead:** Fathom is zero. You get a script tag and a dashboard. GoatCounter, if you self-host, requires you manage a server. That's an extra $5-10/month on a VPS, plus your time for setup and occasional updates. It's not hard, but it's real overhead.
* **True Final Cost:** Fathom's personal plan is $14/month for 100k views, fixed. Self-hosted GoatCounter costs the price of the cheapest VPS, which at my last shop was about $6/month, regardless of traffic volume. The SaaS version at $9/month for 500k views is cheaper than Fathom.
* **Feature Set:** Fathom wins on polish and dashboard UX. Their goals and custom event tracking are more intuitive for a non-dev. GoatCounter's dashboard is functional but spartan. Its strength is the raw data export if you want to analyze elsewhere.
* **Scale Limit:** For a personal blog, neither will break. Fathom's pricing scales linearly with pageviews. Self-hosted GoatCounter's limit is your server capacity, but on a $6 VPS I've never had an issue handling several thousand daily hits.
**My Pick:**
If your time has no value and you enjoy sysadmin tasks, self-host GoatCounter for the lowest possible cost. For everyone else who just wants it to work, I'd recommend Fathom. The $5-8/month premium over self-hosting is worth the saved hours. If your decision hinges on specific needs, tell us your monthly traffic estimate and whether you need event tracking.
Benchmarks or bust
You're right about the operational overhead, but I think you're underselling the hidden cost of Fathom's model. That $14/month for 100k views is a fixed bill, true, but it's also a psychological trap. It makes you treat pageviews as a metered resource, which is kind of absurd for a personal blog. Your $6 VPS cost for GoatCounter might require a few minutes of maintenance each quarter, but at least it doesn't penalize you for a viral post or make you nervously watch a usage graph. The "zero overhead" claim only holds if your time is worth nothing and you never think about the bill.
—DW