Migrating to Plausible Analytics

By Lucas Brandao ยท Sรฃo Paulo ยท verified 2026-05-04 ยท edit on GitHub

Plausible is the landing pad for teams who want a working analytics stack on the next deploy, not a six-week implementation project. One JS tag, one dashboard, no cookie banner, EU residency by default, and a Goals UI that takes ten minutes to populate. This page is the cross-source map: where you are coming from determines which migration guide to follow, which auto-event mapper to use, and which reconciliation gotchas to expect. The destination is the same; the path is not. Read the source map first, then click into the matching pair page for the actual install.

From which source โ€” pick your starting line

The five common origin points and their dedicated pair pages.

Live ยท Pair page

Coming from GA4

The most common path. Auto-event mapping covers around 87 of 120 typical GA4 events; the remainder become Plausible Goals via the dashboard UI or a Custom Events API call. Cookie banner removal is the largest behavioral change.

GA4 โ†’ Plausible โ†’
In queue

Coming from Universal Analytics

UA was sunset 2024-07-01, so this path is the historical-data export route, not a live cutover. Pull your UA export from BigQuery, shape it into Plausible's CSV import schema, and load. The live tracker step is a fresh install.

UA โ†’ Plausible (stub) โ†’
In queue

Coming from Mixpanel

The hard case. Mixpanel is event-first, Plausible is page-first; the model translation is lossy. Most teams end up keeping Mixpanel for product analytics and using Plausible for marketing-page analytics in parallel.

Mixpanel โ†’ Plausible (stub) โ†’
In queue

Coming from PostHog

Edge case. PostHog covers product analytics, session recording, and feature flags; Plausible covers none of those. The migration is rarely full replacement; usually it is "add Plausible for the marketing site, keep PostHog on the app."

PostHog โ†’ Plausible (stub) โ†’
In queue

Coming from Matomo

Rare and specific. Teams move from Matomo to Plausible to escape Matomo's surface area, not its data quality. Goals translate one-to-one; the harder lift is unlearning Matomo's funnel and segment tooling, neither of which Plausible has.

Matomo โ†’ Plausible (stub) โ†’

If your source is none of those โ€” Adobe Analytics, Heap, Amplitude, Snowplow โ€” file an issue on GitHub. The pair page roster is built by request; the next four are picked by reader email volume.

Plausible's structural choices

Three things Plausible does not do, by design, that confuse new arrivals. None of them are roadmap items; they are architectural commitments.

No cookies, ever. Plausible identifies a visitor by hashing IP + User-Agent + a daily-rotating salt. The hash expires every 24 hours. That means no client-id, no cross-day visitor identity, and no audience segmentation by behavior history. The trade is GDPR Article 6(1)(f) legitimate interest with no cookie banner โ€” and the daily-rotating salt is what makes that legal opinion hold up. Re-introducing cookies would re-introduce the banner. They will not do it.

No multi-touch attribution model. Plausible captures source, medium, campaign, and referrer per pageview, but it does not stitch a multi-pageview journey into an attribution path. There is no "view the touchpoint sequence for users who converted" report, because there is no user-level identity to stitch on. If MTA is in your weekly workflow, the answer is Matomo, not Plausible.

No audiences or custom-dimension nesting. Goals can have a small number of custom properties (one or two key-value pairs). They cannot have nested user attributes, session-scoped dimensions, or computed cohorts. Goals are flat. The flatness is the privacy property; the moment you nest user attributes, you have a fingerprint.

These are not features that arrive in v3. They are commitments. The product is what it is on purpose. If you read the three constraints above and your gut response is "I need at least two of those," you are on the wrong destination page โ€” go to Matomo or stay on GA4.

Hosted vs self-hosted Plausible

Plausible Cloud (hosted, EU-only servers, $9/mo at 100 K pageviews) and Plausible Community Edition (self-hosted, AGPL, free) are functionally similar but operationally very different.

DimensionPlausible CloudPlausible CE
Cost at 100 K pageviews$9/moโ‚ฌ20โ€“40/mo VPS
EU residencyFrankfurt, ISO-27001your choice of provider
Operational overheadnoneClickHouse + Postgres
Plugin compatibilityfull~95 % (no SSO, no audit logs)
Suitable above 5 M pageviewscustom pricing onlyneeds dedicated DBA
Migration path betweenbidirectional, well-documented

When CE makes sense. Three cases. (1) You have a strict no-third-party-cloud policy. (2) You operate at >10 M pageviews/mo where Cloud custom pricing exceeds the cost of running ClickHouse yourself. (3) You want to fork the dashboard and add a feature; the codebase is in Elixir, the frontend is React.

When Cloud makes sense. Everyone else. The operational cost of running ClickHouse โ€” the schema migrations, the backup strategy, the on-call when a Linode goes down โ€” is not visible in the โ‚ฌ20/mo VPS line item.

Standard migration playbook from any source

The five steps generalize. Pair pages cover the source-specific traps.

  1. Map the destination footprint. Decide hosted vs CE. Decide single domain vs subdomains (Plausible has a "track subdomains" toggle in the dashboard; flip it on at install). Decide which Goals you need. List Goal names before you install.
  2. Install the JS tag. One line: <script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script>. The defer is non-negotiable; the script must not block render. Subdomain support, outbound-link tracking, and file-download tracking are opt-in via script variants โ€” pick the variant that matches your event list.
  3. Migrate Goals, then Custom Events. Goals first because they have a UI; create them by name in the dashboard, then fire plausible('Goal Name') from your existing event handler code. Custom Events second; they need the events-API tag variant. From a GA4 source, the Event Mapping Wizard outputs the Goal-name list directly.
  4. Run a two-week parallel period. Cookieless inflation is the headline reconciliation gap; expect Plausible to count 5โ€“12 % more pageviews than GA4 on a site that ran a consent banner. Reconcile daily, document the gap, do not chase it.
  5. Cut over. Remove the source tracker. Plausible Cloud invoices monthly or annually; the annual prepay is 33 % off the monthly rate. Archive your source data โ€” keep the BigQuery export of GA4 queryable for at least 12 months as the rollback path.

Engineering hours: 8โ€“14 from a GA4 source, 14โ€“20 from a Mixpanel source, 6โ€“10 from a Fathom or simple-tracker source. Calendar time: two weeks of parallel run regardless of starting point. The methodology page documents the tolerance bands and reconciliation protocol; same numbers, every destination.

If Plausible's three structural constraints (no cookies, no MTA, no audiences) read as features rather than limits to you, you are on the right destination. If even one feels like a deal-breaker, save the project and look at Matomo or Fathom instead.

FAQ

Plausible Cloud or Community Edition โ€” which should I pick?
Cloud, almost always. The โ‚ฌ20 VPS for CE looks cheaper than $9/mo Cloud, until you count the four hours per quarter you spend on ClickHouse upgrades, the on-call when the box goes down, and the schema migration that breaks during a minor version bump. CE is right when you have a no-third-party-cloud policy or operate above 10 M pageviews; otherwise Cloud is the cheaper option in total-cost terms.
Will Plausible work for an e-commerce site?
Mostly. Revenue events fire through the Custom Events API with revenue and currency properties, and the dashboard has a revenue-by-Goal report. What it will not do is multi-touch attribution; revenue is credited last-click via UTM parameters only. If you run paid ads and need to credit assist channels, Plausible is the wrong tool โ€” go to Matomo or keep GA4.
Plausible pricing at scale?
$9/mo at 100 K pageviews, $59/mo at 1 M, custom pricing above 10 M (in practice around $200/mo). Annual prepay is 33 % off. CE is free at any scale, but the operational cost of running it above 5 M pageviews is non-trivial. Most teams stay on Cloud until 10 M then re-evaluate.
Can I switch back to GA4 after migrating to Plausible?
Yes, mechanically โ€” re-add gtag.js, the data resumes. What you lose is the Plausible-period data when you remove its tracker; export it via the Plausible API first if you want to keep it queryable. Switching back is uncommon; the more common pattern is realizing you needed Matomo all along, in which case the GA4 โ†’ Matomo guide applies, with Plausible as the intermediate step.
LB
Written by
Lucas Brandao
Analytics engineer ยท Sรฃo Paulo ยท 11 years in data
Two Berlin SaaS migrations behind me. I write migrateanalytics.com as a public utility โ€” no product, no affiliate, no consulting. All measurements are reproducible; raw data lives on GitHub.
v1 ยท 2026-05-04 ยท first publication. ยท edit on GitHub โ†’