The digital landscape is shifting toward privacy-first technologies. Regulations like GDPR, CCPA, and the ePrivacy Directive have established strict requirements for user tracking, with significant penalties for non-compliance. More importantly, users expect their privacy to be respected.
Most analytics tools require cookie consent banners because they track users across sessions using persistent identifiers. This creates friction for users and compliance headaches for website owners. Our approach is different:
This mode operates completely outside the scope of privacy law by ensuring no personal data is ever processed or stored:
Best for: Marketing sites, landing pages, basic traffic monitoring where you just need aggregate numbers.
This mode provides richer analytics while still avoiding consent banners:
Best for: Content sites, SaaS apps, e-commerce where understanding user journeys matters.
| Feature | This Tool | Plausible | Matomo | Google Analytics |
|---|---|---|---|---|
| Price | $10/1M events | $9-19/mo (10k-100k views) | Free (self-host) or $23+/mo | Free* |
| Cookies | None | None | Optional | Required |
| GDPR Compliant | Yes | Yes | Yes (configured) | Complex |
| Unique Visitors | 24-hour (Mode 2) | Daily hash | Depends on config | Full tracking |
| Self-hostable | Yes | Yes | Yes | No |
| Real-time | Yes | Yes | Yes | Delayed |
| Data Ownership | You own it | You own it | You own it | Google owns it |
*Google Analytics has hidden costs: privacy concerns, data ownership issues, complex consent requirements, and the data feeds Google's ad network.
Before discussing the competition, let's address Google Analytics (GA). While GA is best-in-class for analytics, it's the worst-in-class for privacy - 100% necessitating a consent banner. Even their server-side tagging comes with disclaimers. If you don't mind a cookie consent banner, use GA - it's free, infinitely powerful, and often expected for analytics-based audits (e.g., Mediavine). Those who want out of banners are typically smaller sites that care about pageviews, referrers, and basic analytics.
These tools are powerful, privacy-focused, and open-source/self-hostable. I particularly like Plausible - dirt simple, but robust enough that you don't miss Google Analytics. All-in-one dashboard, no hunting around. I modeled this tool after it.
Why I didn't stick with Plausible: Cost. $40/month for my ~20k monthly events with custom properties and funnels. The tooling is simple enough to build and host on a shoestring forever. Plus, analytics is foundational - something all my projects need. So I decided to take control.
Matomo and Umami are also expensive. Yes, they're open source - you can self-host for free. But their Community Editions lack the features I need (custom properties, funnels).
At the other extreme is GoatCounter - totally free. But too simplistic for my taste. I missed Plausible's power. Also, free services can change pricing when they succeed. Open source, so I could fork it, but I prefer control in my stack (SST v3, AWS Serverless).
Posthog pricing is excellent - pay as you go, very inexpensive. The tool is powerful. The downside: achieving banner-free tracking requires careful configuration. I discovered Posthog late in development - I probably would have used it otherwise. If you want to compare, give it a spin.
More powerful than GoatCounter (but you can't beat free!), significantly cheaper than Plausible & company (but less powerful, for now). $10 per million events. Plausible is around $40 per 100k events, so this is 2.25% the cost!
And the cost is per event, not per month. You don't owe another $10 until you've spent 1 million events. For this site, that's about 4 years. $10 for 4 years.
Why so cheap? I'm focusing on price, spending time with AWS S3, Glue, Iceberg, Athena to pare down costs. The more I optimize (next: S3 Tables + Materialized Athena Views), the more I'll pass savings on to users.
The tracking script uses no cookies, no localStorage, and no device fingerprinting. It only collects data automatically sent by browsers in standard HTTP requests.