← Back to Blog

How to Switch From Google Analytics GA4 (Without Losing What Matters)

I put off this switch for almost two years. GA4 annoyed me every time I opened it, but it was the default, it was already set up, and I kept telling myself I’d get around to learning the new interface eventually.

What finally pushed me over was a client call. She asked how many people visited her bakery’s website last week. I opened GA4, clicked through three menus, got a graph I didn’t ask for, found the number, and realized it was filtered by a segment I’d set up six months ago and forgotten about. The actual number was different. I gave her the wrong answer on the call and had to email a correction later.

That was embarrassing enough to make me actually do the migration I’d been putting off. I’ve since moved about a dozen sites. Here’s what the process actually looks like.

First: be honest about what you use

Open GA4 right now. Look at your sidebar. Which reports have you clicked in the last 30 days?

For me it was always the same five: how many visitors, which pages, where they came from, what country, phone or desktop. I had access to hundreds of reports and used five. If you wrote down your list, I’d bet it looks similar.

If that’s the case, you probably don’t need GA4 at all. Every lightweight analytics tool covers those basics.

But maybe you actually use conversion funnels. Maybe you’re running Google Ads and need the conversion data piped back. Maybe your marketing team builds audience segments every week. If so, GA4 might still be the right tool for those specific workflows. You can also run two analytics tools during a transition — the lightweight one won’t conflict with GA4.

Grab your history before you kill it

Google’s default data retention in GA4 is 14 months. They wiped everyone’s Universal Analytics data in the migration. They’ll do something like that again. Your GA4 history is not permanent, so don’t treat it like a sacred archive, but do grab the highlights if you want them.

The quick version:

  1. Admin > Property > Data Retention — check what you’ve even got
  2. Explorations > Free Form — build a report with the numbers you care about, export as CSV
  3. If you want bulk data, the GA4 Data API can pull monthly rollups

I usually export 12 months of monthly pageviews and top-10 pages. Takes ten minutes. I have never once opened those CSVs afterward, but they exist if I need them.

Rip out GA4

How you do this depends on how it got there.

Google Tag Manager: Go to tagmanager.google.com, delete the GA4 Configuration tag, publish the container, then pull the GTM snippet out of your <head>. If GA was the only thing in your GTM container (it usually is), remove GTM entirely.

Direct gtag.js snippet: Find this block in your <head> and delete it:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

WordPress plugin (MonsterInsights, Site Kit, etc.): Deactivate it, delete it, then view-source your homepage and search for gtag or googletagmanager to make sure nothing’s lingering. Some plugins leave script fragments behind.

Squarespace / Wix / Webflow / Ghost: Find the Google Analytics field in your settings panel and clear it. They all bury it somewhere slightly different.

Now kill the cookie consent banner. If GA was the only reason you had one — and for most small sites it is — you don’t need it anymore. That’s one less popup scaring people off your landing page.

Put the new script in

Here’s the INSG tracking tag:

<script defer src="https://sbda.io/t/YOUR_SITE_ID.js" data-site-id="YOUR_SITE_ID"></script>

One line in your <head>. The whole script is under 2KB, loads deferred so it doesn’t block anything, and sets zero cookies.

If you’re on WordPress you don’t even need to touch code. Install the INSG plugin, activate it, done. It creates your account, provisions a site, and injects the tracker automatically. No Site ID to find, no API key to paste.

Other platforms: Shopify → theme.liquid. Ghost → Code Injection. Next.js → your root layout. Astro → your base <head>. You’ve pasted a script tag before.

Check that it’s working

Open your site in one tab, your INSG dashboard in another. Your visit should appear in a few seconds. GA4 takes hours to process standard reports — real-time is one of those things that seems minor until you have it.

Click around your site. Check that pages are showing up. Visit with ?utm_source=test appended and verify it shows under Acquisition. If you use uBlock Origin or Brave, test with those enabled too — INSG uses a first-party path that most blockers don’t flag.

WordPress users: go to INSG > Health Check in your admin. It runs ten checks automatically (API connection, tracker injection, commerce detection) and tells you exactly what’s wrong if anything is.

What goes away

I’m not going to pretend this is a free trade. Some things genuinely disappear.

Individual user tracking is the big one. GA4 uses cookies to follow specific users across sessions. INSG doesn’t use cookies at all — it counts unique visitors per day with a hash that resets every 24 hours. You get “142 visitors today” but not “User #4821 came back for the third time.” Most content sites and blogs don’t need that. SaaS products with complex onboarding funnels might miss it.

Google Ads conversion loop. If you run Google Ads and rely on conversion events feeding back into your campaigns, you need GA4 or at least the gtag snippet for that. No privacy tool can replace this because the whole point is sending data to Google’s ad targeting system.

Custom funnel exploration. GA4 lets you build funnels with branching paths and optional steps. INSG tracks e-commerce funnels (product view through purchase) automatically, but doesn’t have a drag-and-drop funnel builder.

Search Console integration. GA4 can pull in your organic search query data. Without it, you check Search Console in a separate tab. I always did that anyway because the GA4 version only showed partial data.

BigQuery pipeline. If your data team exports GA4 events to BigQuery, you’ll need to rethink that. INSG has a CSV export and a Stats API but it’s not a warehouse connector.

What shows up that you didn’t have before

This is the part that surprised me.

GA4 tracks pageviews and events. INSG does that too, but it also measures things I never bothered to set up custom events for. Reading speed classification — did someone actually read the post or just bounce after three seconds? Scroll depth at 25% thresholds. Rage clicks where someone hammered a button that wasn’t responding. Dead clicks on elements that look interactive but aren’t. Scroll hesitations where a reader stopped mid-page, which usually means they hit confusing content.

I had none of this in GA4. You could configure it with Tag Manager and custom event triggers, but I never did. Nobody I know ever did. Here it’s on by default.

Core Web Vitals (LCP, CLS, INP) measured from actual visitors is another one. I used to check PageSpeed Insights separately. Now it’s just in the dashboard.

And honestly, the thing that matters most day to day is the dashboard being one page instead of a maze. I open it, I see the numbers, I close it. The whole interaction takes seconds. GA4 trained me to dread checking my own analytics.

WooCommerce stores: this part is worth reading

The GA4 + WooCommerce setup is where things get genuinely painful. To get e-commerce tracking working you typically need:

  1. GA4 script
  2. Google Tag Manager (because enhanced ecommerce won’t work without it)
  3. Either a $200/year MonsterInsights Pro license or a custom GTM data layer recipe you found on Stack Overflow
  4. A cookie consent manager
  5. An hour in GTM debug mode making sure purchase events actually fire
  6. A prayer that WooCommerce’s next update doesn’t break the data layer

The INSG WordPress plugin detects WooCommerce on activation. Product views, add-to-cart (AJAX and Checkout Blocks both work), checkout start, purchase, coupon usage — it all gets tracked with no configuration. Revenue shows up in your dashboard. It also picks up WP EasyCart if you’re using that instead.

No Tag Manager. No $200 plugin. No consent banner. No debug mode.

Objections I’ve heard

“GA4 is free though.” It doesn’t cost money. It costs your visitors’ privacy, your page speed, and your time fighting the interface. INSG has a free tier that doesn’t cost any of those things.

“What if I need GA4 later?” Then paste the script back in. It takes a minute. I’ve moved a dozen sites off GA4 and not one has gone back.

“My marketing person needs it.” Ask them to list which GA4 reports they actually run. If the answer is traffic, sources, and countries, those exist in every analytics tool. If they’re building remarketing audiences for Google Ads, that’s a legitimate GA4 use case — but you can run both tools during the transition to validate.

“I’ll lose my data.” You’ll lose access to 14 months of data that Google will eventually delete anyway. Export what matters (step 2) and start fresh. Your blog post from 2019 doesn’t generate different strategy than your blog post from last month.

“Is dropping the consent banner actually legal?” Yes. The CNIL (France’s data authority) laid out four criteria for consent-exempt analytics: no cookies, no personal data, aggregate-only measurement, no third-party data sharing. INSG meets all four. We wrote a detailed breakdown with the specific regulatory references.

The short version

  1. Export GA4 highlights if you want them (2 min)
  2. Remove GA4 script or plugin (1 min)
  3. Pull the consent banner if GA was the only reason for it (1 min)
  4. Install INSG — WordPress plugin or one script tag (1 min)
  5. Open your site, check the dashboard, confirm it’s counting (30 sec)

Five minutes. I spent longer than that writing this post’s outline.

Try INSG free

Privacy-first analytics for your website. No cookies, no consent banners, under 2 KB.

Get Started Free