Skip to main content

← Back to Journal

Swapping Plausible for OpenPanel across the suite

Plausible has been the studio's analytics layer since DeskRhythm onboarded — the initial wiring lands in commit e07b01f from 2026-04-12, and ADR-003 records the decision. Every project that came after used it for the same reason: it's privacy-friendly, server-rendered-friendly, and the script tag is small enough to ignore.

I switched the whole suite to OpenPanel on 2026-05-03. Two PRDs landed the same day:

  • DeskRhythm: PRD-004 — Analytics swap: Plausible → OpenPanel + GSC connector inside OpenPanel
  • Välkomna: PRD-063: Switch Analytics — Plausible → OpenPanel

The trigger was cost. Plausible's per-project pricing was workable when the studio had two products; with the portfolio at five live or near-live products, the line item stopped being trivial. OpenPanel's pricing model put a single account with all projects under it inside what I'd been paying for one Plausible account.

The motive was longer-range. I don't need deep instrumentation today — pageviews and a small set of funnel events (newsletter signup, share button, the one or two CTAs that matter per surface) is the floor I run on. But the shape of the next year's work involves more user research: which event-page templates in Välkomna get edited most after AI generation, which DeskRhythm onboarding paths drop off where, which Sickla forecast surfaces actually get read versus loaded. OpenPanel has the headroom for that without forcing me to learn a second analytics platform later.

Both swaps were like-for-like. Same pageview coverage, same custom-event names, no analytics rebuild. The DeskRhythm PRD adds Google Search Console as a side-effect because OpenPanel has a GSC connector built in — search-query data and traffic data in the same dashboard saves a tab I'd been forgetting to open. The Välkomna PRD is narrower: pageview plus the existing PRD-035 funnel events, nothing new.

The migration shape across both projects:

1. Add OpenPanel script tag (parity-window: both providers running)
2. Verify event coverage matches Plausible's last 7 days
3. Remove Plausible script tag
4. Update privacy policy + cookie notice copy
5. Supersede ADR-003 (Plausible) with a new ADR pointing at OpenPanel

Step 2 was the only step that surprised me. Plausible counts a few more pageviews than OpenPanel does — about 3% more — and the gap is consistent across both projects. The honest read is that the providers count slightly different things (script-loaded-but-event-failed-to-fire on slow connections is the most likely culprit). I logged the parity-window numbers, decided the gap was small enough to live with, and moved on. If a future PRD needs absolute traffic numbers I'll have to model the gap explicitly.

The ADR supersession was the part I'm most glad I bothered with. ADR-003-plausible-analytics.md now carries a Superseded by pointer at the top; future-me reading the repo six months from now sees the analytics decision history without git-archaeology.

The studio site itself launched on OpenPanel from day one — there was nothing to swap. The cross-product motive was the consolidation: one place to read the numbers, one platform to learn, one bill.

Local models will eventually drop the inference bill the same way OpenPanel dropped the analytics bill, and for the same reason. The infrastructure cost of running a small studio is in the recurring lines, not the one-time spend.