type: decision
status: active
timestamp: 2026-06-25
tags: [analytics, no-card, ops]
status: active
timestamp: 2026-06-25
tags: [analytics, no-card, ops]
Analytics stack: no card, no self-host
GA4 + CF Analytics + Clarity + PostHog + Fathom + GoatCounter
Analytics stack: no card, no self-host
Two hard constraints: (1) no card on file (matches the no-card rule across the fleet), (2) no self-hosting (we don’t run servers for analytics — too much ops for a donations-only project). That eliminates a lot of the field. What remains is the industry-standard hosted free tier set.
Stack — the 6 tools we ship
- Google Analytics 4 (GA4) — baseline session + event analytics; the lingua franca everyone reads.
- Cloudflare Web Analytics — privacy-friendly pageviews, no cookies, free with CF Pages hosting.
- Microsoft Clarity — session replay + heatmaps, free unlimited tier.
- PostHog Cloud — product analytics, funnels, feature flags; free tier on hosted cloud.
- Fathom Lite — free tier of the privacy-first analytics product.
- GoatCounter — free OSS-hosted plan (we use their hosting, not ours).
Considered and rejected
- Plausible — would require self-hosting to stay free ? rejected (no self-host rule).
- Umami — same self-host blocker ? rejected.
- Mixpanel — needs card on file for any meaningful tier ? rejected.
- Amplitude — card required ? rejected.
- Heap — card required ? rejected.
- Hotjar — card required ? rejected.
- FullStory — card required ? rejected.
Related:
atomic-packages-lazy— analytics stays inline; no in-house wrapper package (embed vendor snippets directly).no-card-on-file-prepaid-escape— the card-rule this enforces