Replace Google Analytics without losing your data
Take the history.
Then take the tag.
To replace Google Analytics without losing data, export the history you want first, run the new tool alongside GA4 for two weeks, then remove every Google tag from your site: the gtag.js snippet, any Tag Manager container, and whatever your site builder added. Removing the tag only stops new data. Your history stays in the GA4 property until you delete it, and a deleted property waits 35 days in the trash before it is gone for good. Below, in order: what to keep, how to export it, a finder that lists every Google tag in your page’s source and what removing each one breaks, and the exact menus on WordPress, Shopify, Squarespace, Wix and Webflow.
By the Builderify team
Illustration · Not a real site or property
What do you actually use
in Google Analytics?
Most sites use a handful of GA4’s reports and none of the rest. Go down this list before you touch anything. One row decides whether some Google tag has to stay.
| If you use | Before you switch | A Google tag stays? |
|---|---|---|
| Visitors, sources and top pages Any simple tool answers these. Note last month’s totals so you have something to compare against. | Any simple tool answers these. Note last month’s totals so you have something to compare against. | No |
| Key events (conversions) Write down each key event and the page, click or form behind it, then set each one up as a goal in the new tool before GA4 goes. | Write down each key event and the page, click or form behind it, then set each one up as a goal in the new tool before GA4 goes. | No |
| Google Ads conversions or audiences If Google Ads imports your GA4 key events, they stop with GA4: Google says unlinked Ads accounts stop importing key events. Keep a Google tag for Ads, or move to Google Ads’ own conversion tag first. | If Google Ads imports your GA4 key events, they stop with GA4: Google says unlinked Ads accounts stop importing key events. Keep a Google tag for Ads, or move to Google Ads’ own conversion tag first. | Yes, for Ads |
| Dashboards and client reports built on GA4 Anything that reads from the property, such as a Looker Studio report, stops getting new data the day the tag goes. Export it, or rebuild it elsewhere. | Anything that reads from the property, such as a Looker Studio report, stops getting new data the day the tag goes. Export it, or rebuild it elsewhere. | No |
| Checkout or booking on another domain GA4 joins the two with cross-domain settings; the new tool needs its own. The cross-domain tracking guide covers it without GA4. | GA4 joins the two with cross-domain settings; the new tool needs its own. The cross-domain tracking guide covers it without GA4. | No |
| This year against last year The new tool starts from zero. Export monthly totals now, by source and by page, and keep them next to it. | The new tool starts from zero. Export monthly totals now, by source and by page, and keep them next to it. | No |
Keeping Google Ads? Then the job is smaller: remove GA4 and keep one Google tag for Ads, with Consent Mode for visitors who are asked first. The Consent Mode v2 guide covers that without a paid banner tool. Still choosing what to move to? The Google Analytics alternatives guide compares the options and prices each one at your traffic.
How do I export
my Google Analytics data?
Four ways, from a button to a database. For most small sites the first is enough: download each report you rely on, by month, for as far back as you have, and keep the files somewhere that isn’t Google Analytics.
Report downloads
Open any report under Reports, click Share this report at the top right, then Download File: PDF, CSV or Google Sheets.
Up to 100,000 rows per CSV or Sheets file. Viewer role. Not while you are customising the report.
Exploration exports
In an exploration, click Export data at the top right: Google Sheets, TSV, CSV or PDF. Sheets, TSV and CSV take all the data in the visualisation; PDF only what is on screen.
Only as far back as your retention setting: 2 or 14 months on a standard property.
Google Analytics Data API
A script calls runReport for the dimensions and metrics you want, month by month, and saves the answers.
Standard properties get 200,000 core tokens per property per day; Google says most simple requests cost about 10.
BigQuery export
In Admin, under Product links, click BigQuery links and choose a daily or streaming export. Every event, as rows you can query.
Up to 1 million events a day on a standard daily export. Data starts within 24 hours of linking. Streaming costs $0.05 a gigabyte.
How far back can you still export?
A standard property, two years inGA4 lets you keep event data for 2 or 14 months; that limit applies to explorations and funnel reports, not to standard reports. Check yours under Admin › Data settings › Data retention, in Google’s words, before you plan an exploration export. And Google’s BigQuery setup page says data starts flowing within 24 hours of linking; it promises nothing earlier, so treat BigQuery as a record from today, not a backup of the past.
Illustration · From Google’s retention and BigQuery help pages
Take a few screenshots too: your key events, your data streams and your linked products, under Admin. They are the map of what you are switching off. Universal Analytics history can’t be exported any more: Google switched off the last properties in July 2024 and deleted the data. It is on the shutdown tracker.
Two weeks side by side,
then switch.
Install the new tool and leave GA4 running. Two weeks gives you two of every weekday, enough to see whether the two lines rise and fall together. They won’t match exactly, and they don’t need to. You are checking the trend, not the total.
-
They count different things
GA4 counts users and sessions; simpler tools count visitors and visits, each by its own rules.
-
Banners and blockers
If your cookie banner holds back one tool and not the other, or blockers stop one more often, they see different people.
-
Bots and privacy signals
Each tool filters automated traffic its own way. Builderify flags VPN, proxy and data-centre visits, and skips browsers that send Do Not Track.
-
Day 1
Install
Add the new script next to GA4. Leave GA4 alone.
-
Day 2
Check it hears you
Open your site in a private window and find your own visit.
-
Day 7
Compare a week
Visitors, top pages, top sources: do they rise and fall together?
-
Day 14
Switch
Goals working, numbers moving together. Remove the Google tags.
Illustration · Different totals, same shape: that is a pass
Find every Google tag
on the page.
Sites that have had GA for years usually have it more than once: a plugin, a pasted snippet, a Tag Manager container someone set up for an agency. Open a page, choose View page source (Ctrl+U, or ⌥⌘U on a Mac in Chrome), copy all of it and paste it in.
What the source can’t show
- Tags inside a Tag Manager container: the finder sees the container, and you open it to see what it loads
- Shopify custom pixels and the Google & YouTube channel, which run apart from your theme
- Tags a site builder adds after the page loads
- Other templates: check the home page, a product or post, and the thank-you page
So check the live page too: Tag Assistant lists the tags that actually fire, and Chrome’s Network panel shows any request to google-analytics.com/g/collect.
- GTM-5QX7R2LTag Manager
- G-8XK2M4QZ1TGA4
- AW-938271645Google Ads
- UA-48213977-1Universal Analytics
-
- Nothing to list.
-
L8 head gtag() helper function gtag helper
function gtag(Delete it last, after every gtag() call that needs it.
-
L9 head Consent Mode call default
gtag('consent', 'default'Keep it while any Google tag stays.
-
L16 head Tag Manager container, head part GTM-5QX7R2L
'script','dataLayer','GTM-5QX7R2LDelete the whole script, from <!-- Google Tag Manager --> to its end comment.
-
L20 head Google tag loader (gtag.js) G-8XK2M4QZ1T
<script src="https://www.googletagmanager.com/gtag/js?id=G-8XK2M4QZ1TDelete this script tag and the inline gtag() block that follows it.
-
L22 head gtag() helper function gtag helper
function gtag(Delete it last, after every gtag() call that needs it.
-
L24 head gtag() config line G-8XK2M4QZ1T
gtag("config", "G-8XK2M4QZ1T"Delete the line, and the whole block once no config is left in it.
-
L25 head gtag() config line AW-938271645
gtag("config", "AW-938271645"Delete the line, and the whole block once no config is left in it.
-
L27 head Site Kit by Google Site Kit
<meta name="generator" content="Site Kit by GoogleSwitch the tag off in Site Kit; it isn’t in your theme files.
-
L32 head Universal Analytics loader Universal Analytics
google-analytics.com/analytics.jsDelete the whole snippet it sits in.
-
L33 head Universal Analytics property UA-48213977-1
ga('create', 'UA-48213977-1'Goes with the snippet above.
-
L34 head ga() send call pageview
ga('send', 'pageview'Delete it with the Universal Analytics snippet.
-
L39 body Tag Manager container, noscript part GTM-5QX7R2L
googletagmanager.com/ns.html?id=GTM-5QX7R2LDelete this <noscript> block too: it is the other half of the same install.
-
L47 body gtag() event call generate_lead
gtag('event', 'generate_lead'Delete it, or swap in your new tool’s event, in the same edit.
-
L52 body dataLayer push contact_form_sent
dataLayer.push({ event: 'contact_form_sent'Delete it in the same edit as Tag Manager.
-
L53 body Google Ads conversion event AW-938271645
gtag('event', 'conversion', { send_to: 'AW-938271645Keep it while you run Google Ads; otherwise delete it with the tag.
- Nothing, as far as this page goes.
-
Google Ads conversion tracking stops
Google asks for its tag on every page and the conversion snippet on the conversion page. Remove AW-938271645 and Google Ads stops hearing about conversions from this site. Still running ads? Keep that tag, with Consent Mode, and remove only the analytics parts.
-
Tag Manager may run more than analytics
GTM-5QX7R2L can load any tag at all: Google Ads, Meta, a chat widget. Open the container and list its tags first. Delete both parts of the snippet only once nothing in it is still needed.
-
WordPress adds this tag through Site Kit
You won’t find it in your theme files. Switch off “Place Google Analytics code” in Site Kit, or reset Site Kit, which deletes every snippet it placed.
-
Leftover event calls will throw errors
Found 2. Once the gtag() or ga() helper is gone, each of these stops with “not defined”, and the code after it in the same handler never runs. Delete them in the same edit, or swap in your new tool’s event.
-
dataLayer pushes need the dataLayer
Found 1. Once nothing on the page creates window.dataLayer, each push stops with “dataLayer is not defined”, and the code after it never runs. Delete them with Tag Manager.
-
Consent Mode goes with the last Google tag
Found 1. These tell Google tags what each visitor allowed. Keep them while any Google tag stays; once the last one is gone, they have nothing to talk to.
-
Universal Analytics is already switched off
UA-48213977-1 belongs to Universal Analytics, which stopped processing data on 1 July 2023 (360 properties a year later). Removing it breaks nothing.
-
GA4 stops collecting from this page
G-8XK2M4QZ1T gets nothing new once the tag is gone. What it already holds stays in the property, so export it first.
Also check Site Kit, any header-and-footer plugin, and your theme. The steps
How to remove Google Analytics
from your website.
Every site builder hides the tag in a different drawer, and most have more than one. Work through every place on your tab, then run the finder again on the live page.
Remove Google Analytics on WordPress
-
01
Site Kit by Google
Go to Site Kit › Settings › Connected Services › Analytics › Edit and switch off Place Google Analytics code. To take out everything Site Kit added, use Site Kit › Settings › Admin Settings › Reset Site Kit: it deletes every snippet Site Kit placed. Then check Tools › Site Health › Info › Site Kit by Google.
-
02
A header-and-footer plugin
In WPCode, open Code Snippets › Header & Footer, clear the Google lines from the Header, Body and Footer boxes, and click Save Changes. Analytics plugins such as MonsterInsights come off under Plugins › Deactivate, then Delete.
-
03
Your theme
Pasted straight into header.php or functions.php? Use the Theme File Editor, under Appearance for classic themes or Tools for block themes. A theme update overwrites edits made there, so a child theme is safer.
Clear your caching plugin’s cache afterwards, or visitors keep getting the old page.
Remove Google Analytics on Shopify
-
01
Google & YouTube channel
In Sales channels › Google & YouTube, find the Google Analytics property and click Disconnect. Google notes this stops all Analytics data from the app, purchase events included. Tags added by hand are in the app’s Settings, under Google tags › Manage.
-
02
Customer events
Go to Settings › Customer events › Custom pixels. Disconnect stops a pixel without deleting it; the menu on its row has Delete, which can’t be undone. Tag Manager on Shopify lives here, and so do Google tags from the old Preferences page, which Shopify turned into custom pixels in February 2025.
-
03
Theme code
Go to Online Store, click the … menu, then Edit code, and open layout/theme.liquid. Shopify names it as a place old tag code needs removing by hand, with checkout.liquid and Additional scripts on older Plus checkouts.
Uninstall the whole channel (Settings › Sales channels) only if you use it for nothing else.
Remove Google Analytics on Squarespace
-
01
Built-in Google Analytics
Go to Settings › Developer tools › External API keys, delete the measurement ID from the Google Analytics field, and click Save.
-
02
Code injection
Open Website tools › Code injection and remove the Google code from the Header and Footer boxes, then Save. Single pages have their own: in the Pages panel, click the page’s gear, then Advanced.
-
03
Both at once?
Squarespace’s own advice is not to add Analytics code by hand when you use the built-in connection. Sites that did anyway count every visit twice; check both places.
Code injection needs a Core, Plus or Advanced plan, or some legacy plans.
Remove Google Analytics on Wix
-
01
Marketing Integrations
In your dashboard, open Marketing Integrations and click View under Google Tag, which replaced Wix’s separate Google Analytics and Google Ads tools. Remove the tag ID there.
-
02
Custom Code
Go to Settings and click Custom Code in the Development & integrations section. Find the snippet holding a G-, GT-, AW- or GTM- ID and remove it.
-
03
Tag Manager
Wix’s own troubleshooting page warns against adding Google Analytics both in Tag Manager and in Marketing Integrations. If you have a container, check it too.
When we checked, Wix’s help didn’t spell out the delete button for either screen. If you can’t find it, Wix support can.
Remove Google Analytics on Webflow
-
01
The Google Analytics field
Go to Site settings › Apps & Integrations › Google Analytics, delete the Measurement ID, click Save, then publish. The field takes G-, GT-, AW- and GTM- IDs, so check which one is there before you clear it.
-
02
Google site tools app
If you connected through the app, disconnect each Google service in its settings, or uninstall it under Site settings › Apps & Integrations › Connected Apps › View details › Uninstall App.
-
03
Custom code
Site-wide code is in Site settings › Custom code, in Head code and Footer code. Each page has its own, in Page settings › Custom code.
Nothing changes on the live site until you publish.
Remove Google Analytics on Hand-coded and Tag Manager
-
01
The gtag.js snippet
Google tells you to put it immediately after the opening <head> tag of every page you measure, so check every template, not just the home page.
-
02
A Tag Manager container
It has two parts: a script high in <head> and a <noscript> block right after <body>. Or keep the container and delete only its GA4 tags, then Submit and publish a new version.
-
03
The container itself
Once it is off every page, delete it in Tag Manager under Admin › Container Settings, the ⋮ menu, Delete. It stays in the trash for 30 days.
Static site generators and frameworks often keep the snippet in one layout file. Search the codebase for googletagmanager.
Run the finder again
Paste the live page’s source into the tag finder. Check a few templates, not one page.
Ask Tag Assistant
At tagassistant.google.com, click Add domain, enter your address and Connect. It lists the Google tags that fire.
Watch the network
In Chrome’s developer tools, the Network panel should show no request to google-analytics.com/g/collect as you move around the site.
The tag is gone.
Now tell people.
Your privacy policy and cookie list describe what your site does. The day the tags change, they should change too. This is what changes, not legal advice for your site.
-
01
Your privacy policy
Take out the Google Analytics paragraph once no Google tag is left, and describe the new tool: what it stores, for how long, and where. For Builderify, that is a visitor cookie, a visit cookie, IP address and approximate location, kept for 7, 14 or 30 days.
-
02
Your cookie list and banner
Remove _ga and _ga_<container-id> and add whatever the new tool sets. A tool that uses cookies or device storage can still need consent where the law asks for it; GA4 leaving doesn’t make the banner go.
-
03
Cookies already in browsers
Visitors keep their _ga cookies until they expire, up to two years from their last visit. Once the tag is gone, nothing on your site reads or renews them.
-
04
Links to other Google products
In GA4, under Admin › Product links, remove the Google Ads link and the BigQuery link once your exports are done. If you delete a link, Google says data stops flowing between the two.
Should you delete
the GA4 property?
Not yet, and maybe never. A standard property costs nothing, and with the tags gone it simply stops receiving data. Its standard reports stay readable, so it can be your archive while you get used to the new tool.
Delete it when you have your exports and are sure. You need the Editor role. In Admin, under Property, click Property details, then Move to Trash Can.
-
Tags removed
Nothing new arrives. Reports stay readable.
-
Move to Trash Can
Admin › Property details. Data isn’t processed.
-
35 days
Restore from Admin › Trash, links included.
-
Deleted for good
No way back. Export first.
In the trash
Google keeps a trashed property for 35 days. It processes no data in that time, and a restore brings back its settings and links to other Google products. After 35 days it is deleted for good.
Or delete only the stream
A web data stream can be deleted on its own, under Admin › Data collection and modification › Data streams, in the stream’s ⋮ menu. That can’t be undone, and anything built on the stream, such as BigQuery export, stops.
One script tag
where GA4 used to be.
User Journey is Builderify’s visitor analytics. It runs on the one Builderify script tag, gives every visitor a readable name and a page-by-page timeline, and counts goals: the thank-you page, the click on your main button, the form sent. It costs 0.1 credits per new visitor and 10 per 1,000 page loads, from 250 free credits a month, with one-time packs from $9 when you need more.
Keeping a Google tag for Ads? Let Cookie Consent load it. Its tag goes first in <head>, sets Consent Mode v2 defaults before any Google tag runs, and can load Google Ads or GA4 from the ID alone, only for visitors who allowed it. Tag Manager it loads for everyone, passing each visitor’s choice on as Consent Mode signals.
| In GA4 | In User Journey |
|---|---|
| Users | Visitors |
| Session source / medium | Source, from the referrer |
| Pages and screens | Pages, entry and exit pages |
| Key events | Goals |
| Funnel exploration | Goal funnel steps |
| User explorer | Visitor profiles, by name |
| Realtime | Online now (last 5 minutes) |
What User Journey does
- One script tag, the same one every Builderify module uses
- Goals from a page visit, a click, a form, a scroll, time on a page, pages per visit or your own event, with funnel steps and a value
- Visitors, sources, countries, devices, entry and exit pages, and who is online now
- Real people, VPN or proxy visits and data-centre traffic counted apart
- Do Not Track respected by default, and a switch to wait for consent
Know this first
- It sets first-party cookies: _bdf_jid for 400 days and _bdf_jvs_ for a 30-minute visit. It is not cookieless
- “Wait for cookie consent” is off until you switch it on
- Sources come from the referrer only: there is no UTM or campaign tagging
- Journeys are kept 7, 14 or 30 days, so your GA4 export stays your long-term history
- No Google Ads link, heatmaps or session recordings
Rather not use Builderify?
If you need analytics that sets no cookies, or years of history, a tool built for that fits better. Read how Plausible compares and where Simple Analytics fits. The steps on this page work the same whichever you pick.
Replacing Google Analytics, before you ask.
No. Removing the tag only stops new data arriving; everything already collected stays in your GA4 property until you delete the property. Explorations reach back only as far as your retention setting, 2 or 14 months on a standard property, while standard reports are not affected.
Open each report you rely on, click Share this report, then Download File, and save it as CSV, PDF or Google Sheets, up to 100,000 rows per file. For more detail, export explorations, use the Google Analytics Data API, or link BigQuery, which starts from the day you link it.
Find every Google tag first: the gtag.js snippet, any Google Tag Manager container with its head and noscript parts, and anything a plugin or site builder added, such as Site Kit on WordPress or the Google & YouTube channel on Shopify. Remove each one, publish, then check the live page with Tag Assistant or your browser's Network panel.
It can. If Google Ads imports your GA4 key events, or the same Google tag carries your AW- conversion ID, removing it stops conversions reaching Google Ads. Keep one Google tag for Ads, with Consent Mode, and remove only the analytics parts.
It depends on what replaces it. A tool that stores cookies or other data on the visitor's device can still need consent where the law asks for it; Builderify User Journey, for example, sets first-party cookies and can wait for consent in Builderify's Cookie Consent banner. Remove _ga and _ga_<container-id> from your cookie list and add the new tool's instead.
Sources
Google’s and each platform’s own help pages, read on 13 October 2026.
- Analytics Help Data retention
- Analytics Help [GA4] Share & export reports
- Analytics Help Get started with Explorations
- Google for Developers Google Analytics Data API overview
- Google for Developers Data API limits and quotas
- Analytics Help BigQuery Export
- Analytics Help Set up BigQuery Export
- Analytics Help [GA4] Edit / delete accounts, properties, and data streams
- Analytics Help Delete or restore accounts and properties
- Analytics Help Connect Google Ads to Google Analytics
- Analytics Help Google Analytics 4 has replaced Universal Analytics
- Analytics Help [GA4] Cookie usage on websites
- Google Ads Help Use the Google tag for Google Ads conversion tracking
- Google Ads Help Create conversions from Google Analytics events
- Tag Manager Help Google tag ID
- Tag Manager Help Install a web container
- Tag Manager Help Trash can
- Tag Manager Help Shopify: Set up your Google tag
- Google for Developers Set up the Google tag with gtag.js
- Google for Developers Set up consent mode on websites
- Google for Developers Verify and troubleshoot your Google Analytics setup
- Tag Assistant Help Troubleshoot with Tag Assistant
- Site Kit Analytics
- Site Kit Reset Site Kit
- Site Kit The Google tag
- WPCode Using the Global Header & Footer settings
- WordPress.org Editing Files
- Shopify Help Set up the Google & YouTube channel
- Shopify Help Manage your custom pixels
- Shopify Help Migrating pixels
- Shopify Help Editing theme code
- Squarespace Help Connect Google Analytics to your site
- Squarespace Help Customize parts of your site with code injection
- Wix Help Google Tag Unification
- Wix Help Embedding custom code on your site
- Wix Help Troubleshooting Google Analytics
- Webflow Help Connect Google site tools to your Webflow site
- Webflow Help Custom code in head and body tags
Stop losing the visitors
you already paid for.
More leads from the traffic you already have, and follow-up that sends itself. Free to start. No card, no monthly fee.