← Blog 8 min read

Migrating from Google Analytics 4 to Something Simpler: The Practical Guide

A step-by-step playbook for moving off GA4 without losing historical data or breaking your reporting. The four phases, the gotchas, and how to pick the right replacement β€” without the cargo-cult migration content the internet is full of.

When migrating off GA4 actually makes sense

GA4 is free, ubiquitous, and integrated with every Google product. Those are real advantages. Leaving them behind only makes sense for specific reasons β€” if your reason isn't one of these, the migration probably isn't worth the friction:

If your reason is just "Google is too big" β€” that's a feeling, not a migration brief. You'll spend a week on this and end up with a less powerful tool. Don't migrate on vibes.

Phase 1: Parallel install (week 1)

Do not turn GA4 off. Install your new analytics tool alongside GA4 for at least 14 days. This is non-negotiable and most failed migrations skip it.

Two reasons:

  1. Calibration. You're about to look at very different numbers. If your new tool shows 40% more sessions than GA4, is that real (ad blockers, no consent banner) or a tracking bug on your side? You can only tell by running both at once on the same traffic and comparing daily.
  2. Confidence. Two weeks of parallel data lets you say things like "we capture 1.4Γ— the visitors GA4 reports, our top three referrers match, the country distribution is the same, ad-blocker users are the gap". That's a defensible migration. "We just switched and the numbers look different" is not.

During this phase, keep your reporting and decision-making on GA4. The new tool is on probation.

Phase 2: Validate parity on the dimensions you care about (week 2-3)

Most analytics tools measure pageviews, sessions, and top pages roughly the same way. The places where they diverge β€” and where you need to validate before cutting over β€” are:

Sessions vs visitors

GA4 defaults to user-based metrics; smaller tools often default to session-based. If GA4 says "12,000 users last month" and the new tool says "16,000 sessions" β€” those aren't comparing the same thing. Pull the comparable metric from both tools before declaring discrepancy.

Bounce rate definition

GA4 inverted bounce rate into "engagement rate" with a 10-second minimum. Most other tools still use the classic "single-page visit" definition. A site with 60% bounce in GA4 might show 35% bounce elsewhere β€” both correct, different definitions.

Time on page

GA4 uses heuristic-based engagement time. Trackers that use the Page Visibility API measure actual visible time. The new number will be lower by 30-60%. That's not a regression β€” see how to measure real time-on-page for the breakdown of why.

Traffic source attribution

GA4's "Source / Medium" model is unusually aggressive β€” it splits things others would group. Top referrers should match in spirit; exact percentages won't.

Phase 3: Export your historical GA4 data (week 3)

This is the step most teams skip and regret six months later. GA4 retains data for 14 months by default (extendable to 50 with a paid plan, in some regions). Once you stop sending events, your historical reports stay accessible until the retention window closes β€” and then they're gone.

Three things to export before that window closes:

You probably won't query this archive often. But the day someone asks "what was our organic traffic in Q3 2024?" you'll either have a CSV or a regret.

Phase 4: Cut over (week 4)

Once you have 14 days of parallel data, an export of GA4 history, and you've reconciled the metric differences in writing for your team:

  1. Switch your reporting (dashboards, weekly reviews, internal posts) to the new tool.
  2. Remove the GA4 tag from the site, or set it to a "diagnostic only" mode where you keep it for cross-checking but no longer treat it as source of truth.
  3. Update the cookie banner β€” if your only third-party tracker was GA4, you may not need the banner anymore. Verify with legal if your jurisdiction is strict.
  4. Document the migration in a one-page memo: why, what changed in the numbers and why, what you're now measuring instead. Future-you and future-team need this.

How to pick the right replacement

There are three credible categories of replacement, each with different trade-offs:

Privacy-first SaaS (Plausible, Fathom, Logly, Pirsch)

Cookie-free, GDPR by design, no banner needed. Light scripts that pass ad blockers. Dashboards prioritize clarity over feature density. Free or cheap up to ~10k pageviews; usage-based pricing from there. Best fit when your priority is honesty of measurement and zero compliance friction.

Open-source self-hosted (Umami, Plausible CE, GoatCounter, Matomo)

You run the database. Full data ownership; zero monthly fees beyond hosting. Higher operational burden β€” you maintain Postgres or SQLite, handle backups, ship updates. Matomo specifically can replicate most of GA4's feature surface but is heavy. Best fit when data sovereignty matters more than convenience.

Server-side GA4 or proxied GA4

You keep GA4 but route events through your own server. Solves the ad-blocker problem. Doesn't solve the consent problem (you're still collecting personal data, just via a different transport β€” the banner stays). Best fit when you genuinely need GA4's reporting depth and just want to fix the blocking issue.

Common pitfalls

Migrations fail in predictable ways. The ones we've seen most:

Run a parallel install with Logly

Install Logly alongside your current GA4 for 14 days. Same script tag pattern, no cookies, no banner. Free up to 10,000 pageviews/month. Compare the numbers yourself before deciding anything.

Get started free β†’