OCDevel
WalkPodcast

Cookieless Analytics, the Cheap Way

Jun 17, 2025
See it in action

Cookieless analytics at $10/1M events. Lightweight tracking script, real-time dashboard.

Open Analytics Dashboard

Why Cookieless Analytics?

Most analytics tools track users across sessions using cookies or other persistent client-side identifiers. That has cost: regulatory exposure under GDPR, the ePrivacy Directive, and CCPA, plus the user-facing friction of consent prompts. This tool takes a more minimal approach:

How that maps onto your own GDPR / CCPA / ePrivacy obligations depends on your site, your jurisdiction, and your regulator. This post describes what the tool does, not what your privacy policy should say. For that, see a lawyer.

The Two Modes

Mode 1: Anonymous

The minimal-data mode. Per request:

You get aggregate counts: pageviews, sources, countries, device families. You do not get unique visitors or returning-visitor metrics.

Best for: marketing sites, landing pages, basic traffic monitoring.

Mode 2: Pseudonymous Daily Dedup

For when you want a unique-visitor number:

The daily hash is pseudonymous personal data under GDPR (the EDPB's view of salted/hashed identifiers is that they remain personal data; pseudonymisation is not anonymisation). Whether you can run this without a consent prompt depends on your jurisdiction's implementation of ePrivacy and how your regulator treats non-cookie identifiers. Your site will need a privacy policy that describes this processing.

Best for: content sites, SaaS apps, e-commerce where understanding user journeys matters.

Compared to Alternatives

FeatureThis ToolPlausibleMatomoGoogle Analytics
Price$10/1M events$9-19/mo (10k-100k views)Free (self-host) or $23+/moFree*
CookiesNoneNoneOptionalRequired
Unique Visitors24-hour (Mode 2)Daily hashDepends on configFull tracking
Self-hostableYesYesYesNo
Real-timeYesYesYesDelayed
Data OwnershipYou own itYou own itYou own itGoogle owns it

*Google Analytics has knock-on costs: data ownership trade-offs, more involved consent UX, and the data feeds Google's ad network.

Google Analytics

Before discussing the competition, GA. GA is best-in-class for analytics depth, less so for privacy. Server-side tagging and consent mode help but still leave a consent story to manage. If you want the full GA feature surface and have the appetite for the consent UX, use it - it is free, powerful, and sometimes expected for ad-network audits (e.g., Mediavine). Smaller sites that mainly want pageviews, sources, and basic events tend to want something lighter.

Plausible, Matomo, Umami

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).

GoatCounter

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

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.

This Tool

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.

How It Works

  1. Event Collection: Lightweight tracking script (~2KB) sends page views and custom events
  2. Privacy-First Processing: Events are enriched with device/geo data server-side, then PII is stripped
  3. Efficient Storage: PostgreSQL for recent data, S3/Iceberg for long-term archive
  4. Fast Queries: Server-side aggregation delivers dashboard data in milliseconds

The tracking script uses no cookies, no localStorage, and no device fingerprinting. It only collects data automatically sent by browsers in standard HTTP requests.

See it in action

Cookieless analytics at $10/1M events. Lightweight tracking script, real-time dashboard.

Open Analytics Dashboard