If your site still runs on Universal Analytics, you need a GA4 property collecting data now, not next year. The good news: you can set up GA4 alongside Universal Analytics without removing or breaking anything. Both tools run side by side, your old reports keep working, and GA4 starts building the history you will need later.
In this guide, I walk through how I do it: the setup options, the exact steps, the settings I change on day one, and the mistakes I see most often.
Why You Should Set Up GA4 Alongside Universal Analytics Now
On 16 March 2022, Google confirmed that standard Universal Analytics properties will stop processing new data on 1 July 2023. Universal Analytics 360 properties get a little longer, until 1 October 2023. I covered the announcement in detail in our piece on the Universal Analytics shutdown date.
Google also said you will be able to see your old Universal Analytics data for at least six months after processing stops. After that, it goes away.
Here is the part many people miss: GA4 does not import your old data. A new GA4 property only has data from the day you install it. Nothing is copied over from Universal Analytics.
So the real deadline is not July 2023. If you want to compare this year with last year inside GA4, you need GA4 running a full year before Universal Analytics stops. In my experience, that alone is the best reason to start today.
Running both tools at the same time is often called “dual tagging”. It has a few clear benefits:
- You build history. Every month you wait is a month of GA4 data you will never get back.
- You can compare numbers. You can check GA4 against the reports you already trust before you rely on it.
- Your team learns slowly. GA4 looks and works differently. Learning it while Universal Analytics is still there is much less stressful.
- Nothing breaks. Your current goals, dashboards and reports keep running as they are.
How GA4 Is Different From Universal Analytics
Before you set anything up, it helps to know what is changing. GA4 is not a new version of the same tool. It uses a different way of measuring.
- Everything is an event. Universal Analytics was built around sessions and pageviews. In GA4, a page view, a click and a purchase are all events (actions a user takes, each with a name and extra details called parameters).
- No views. Universal Analytics had views inside each property, often used for filtered data. GA4 has no views. You use data streams and data filters instead.
- Goals become conversions. In GA4 you mark an event as a conversion. You cannot copy goals over as they are.
- New IDs. Universal Analytics uses a tracking ID that looks like
UA-12345678-1. GA4 uses a measurement ID that looks likeG-XXXXXXXXXX. - Different metrics. GA4 focuses on engaged sessions and engagement rate instead of bounce rate, so some numbers will not match.
Because the two tools count things in different ways, your user and session totals will not be identical. A small gap is normal. A big gap usually means a setup problem.
Four Ways to Add GA4 to Your Site
How you add GA4 depends on how Universal Analytics is installed today. Check this first, because it decides which method is easiest.
To find out, view your page source (right-click and choose “View page source”) and search for these:
gtag(orgoogletagmanager.com/gtag/jsmeans you use the global site tag (gtag.js).analytics.jsorga('create'means you use the older analytics.js library.googletagmanager.com/gtm.jsorGTM-means you use Google Tag Manager.
Some sites have more than one of these. That is common after a site redesign, and it is worth cleaning up while you are here.
| Current setup | Easiest way to add GA4 | Code change needed? |
|---|---|---|
| gtag.js | GA4 Setup Assistant with existing tags, or add a second config line | No, or one line |
| Google Tag Manager | Add a GA4 Configuration tag in Tag Manager | No |
| analytics.js | Add the GA4 gtag.js snippet or move to Tag Manager | Yes |
| CMS plugin | Add the measurement ID in the plugin, if it supports GA4 | Usually no |
Step 1: Create Your GA4 Property With the Setup Assistant
The GA4 Setup Assistant is a wizard inside your Universal Analytics admin. It creates a new GA4 property and links it to your existing one. Your Universal Analytics property is not changed.
- Sign in to Google Analytics and open your Universal Analytics property.
- Click Admin (the gear icon at the bottom left).
- Check that the right account and property are selected. You need Editor permission on the account.
- In the Property column, click GA4 Setup Assistant.
- Under “I want to create a new Google Analytics 4 property”, click Get started.
- If your site uses gtag.js, you will see the option “Enable data collection using your existing tags”. Tick it if you want GA4 to use your current tag.
- Click Create property.
The wizard copies basic details like the property name, website URL, time zone and currency. It also creates a web data stream (the source that sends your website’s data into GA4) and turns on enhanced measurement.
When it is done, the Setup Assistant page shows your new GA4 property as connected. Click through to it and note the measurement ID. You will find it under Admin > Data Streams, then by clicking your web stream.
One habit I always follow: I rename the new property right away, for example “Example.com – GA4”. The Setup Assistant adds a generic label, and clear names save confusion when a team has many properties.
Step 2: Add the GA4 Tag to Your Site
Creating the property does not always mean data is flowing. What you do next depends on your setup.
If You Use gtag.js
If you ticked “Enable data collection using your existing tags”, GA4 uses a feature called connected site tags. Your existing gtag.js snippet starts sending data to GA4 too. You do not need to touch your site’s code.
That is quick, but I prefer adding GA4 directly to the tag. It is clearer for anyone who looks at the code later. You simply add one more config line with your measurement ID:
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-12345678-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-12345678-1');
gtag('config', 'G-XXXXXXXXXX');
</script>
Replace both IDs with your own. With two config lines, page views go to both properties. Use either connected site tags or the extra line, not both, or you may count things twice.
If You Use Google Tag Manager
Tag Manager is my favourite way to run both tools. You do not touch the site’s code at all, and you can test everything before it goes live.
- Open your Tag Manager container and click New tag.
- Choose the tag type Google Analytics: GA4 Configuration.
- Paste your measurement ID (
G-XXXXXXXXXX). - Set the trigger to All Pages (or Initialization – All Pages, if you use consent tools that need to load first).
- Name the tag clearly, for example “GA4 – Config”.
- Click Preview to test it, then Submit and publish.
Leave your existing Universal Analytics tags exactly as they are. For custom events like button clicks, you add separate Google Analytics: GA4 Event tags. You can often reuse the triggers and variables you already built for Universal Analytics.
If You Use analytics.js
The older analytics.js library cannot send data to GA4 on its own. Google’s advice is not to try to force analytics.js data into GA4. Instead, add the GA4 gtag.js snippet from your data stream page to the <head> of every page, next to your existing code.
Honestly, if a site is still on analytics.js, I treat this as a good time to move it to Tag Manager. It makes the next year of changes much easier.
If You Use a CMS or Plugin
Many WordPress plugins, Shopify and other platforms now have a field for a GA4 measurement ID. Check your plugin’s settings and help pages first. If it only accepts a UA- ID, use Tag Manager or ask your developer to add the GA4 snippet.
Step 3: Check That GA4 Is Collecting Data
Do not wait a week to find out the tag is broken. Check it the same day.
- Open your site in a new browser window and click around a few pages.
- In GA4, go to Reports > Realtime. You should see yourself as an active user within a minute or two.
- Look at the events card. You should see
page_view,session_startandfirst_visit. - For more detail, use Configure > DebugView while Tag Manager preview mode is on.
- Check that Universal Analytics Real-Time still shows you too. Both should work at the same time.
Standard reports in GA4 can take up to a day or two to fill in. Realtime is the fastest way to confirm the tag works.
Step 4: Change These GA4 Settings on Day One
The default settings are not ideal for most sites. These are the ones I change straight after setup.
Increase Data Retention
By default, GA4 keeps user and event-level data for only two months. This affects the Explore section, where you build custom reports. Go to Admin > Data Settings > Data Retention and change it to 14 months, the longest option for standard properties.
The change is not backdated, so do it on the first day. This is the setting I most often find left on the default.
Review Enhanced Measurement
Enhanced measurement tracks things like scrolls, outbound clicks, site search, video plays and file downloads without extra code. You find it in your web data stream settings.
If you already track some of these actions with your own Universal Analytics events and send them to GA4 too, turn off the matching enhanced measurement option. Otherwise you count the same action twice.
Filter Out Internal Traffic
Your Universal Analytics view filters do not carry over. To exclude your own office visits in GA4:
- Open your web data stream and go to More tagging settings > Define internal traffic.
- Create a rule with your office IP address.
- Go to Admin > Data Settings > Data Filters. The internal traffic filter starts in “Testing” state.
- Once you have checked it works, change it to “Active”.
Exclude Unwanted Referrals and Set Up Cross-Domain Tracking
If customers leave your site to pay through a payment gateway and then come back, add that gateway under List unwanted referrals in the tagging settings. If your journey crosses two of your own domains, add both under Configure your domains.
Step 5: Rebuild Goals as Conversions
This is where most of the real work is. GA4 does not copy your goals. You need to recreate the important ones as conversions.
First, list your current goals in Universal Analytics under Admin > Goals. Then decide which ones still matter. I usually find a few that nobody looks at any more, and I don’t rebuild those.
Here is a practical example. Say you have a destination goal for a /thank-you/ page after a contact form. In GA4 you can recreate it like this:
- Go to Configure > Events and click Create event.
- Name the new event, for example
generate_lead. - Add matching conditions:
event_nameequalspage_view, andpage_locationcontains/thank-you/. - Save it. Once the event starts appearing, go to Configure > Conversions and add
generate_leadas a new conversion event (or toggle it on in the Events list).
Where you can, use Google’s recommended event names, such as generate_lead, sign_up or purchase. They make future reports and integrations easier.
For ecommerce, the event and parameter names are different in GA4. That usually needs developer time, so plan for it early rather than leaving it for next spring.
Step 6: Link Your Other Google Tools
Links you set up in Universal Analytics do not move to GA4. In the GA4 admin, look under Product Links and reconnect the tools you use, such as Google Ads.
GA4 also offers a free BigQuery export, even for standard properties. Universal Analytics only offered that on the paid 360 version. If you have a developer or analyst on the team, it is worth turning on early, because the export only includes data from the day you link it.
Common Mistakes When Running Both Tools
These are the problems I see most often on sites that already “have GA4”:
- Double counting. GA4 added through connected site tags and also through Tag Manager, so every page view is counted twice. Check for duplicate
page_viewevents in DebugView. - Removing the UA tag too early. Keep Universal Analytics running until it stops processing. You still need it for year-on-year reports.
- Expecting matching numbers. Users and sessions are counted differently. Look for similar trends, not identical totals.
- Leaving retention at two months. You find out only when an Explore report has no older data.
- No owner for GA4. The property gets created, then nobody checks it for months. Give one person the job of reviewing it every few weeks.
- Tag only on some pages. Landing pages, blog subdomains and checkout pages built on other platforms often get missed.
What to Do With GA4 Over the Next Year
Setting up the tag is step one. Here is the rough plan I suggest for the months ahead:
- First month: Confirm data is flowing, settings are changed and key conversions are working.
- Next few months: Compare a few core numbers each month, such as users, conversions and organic traffic. Investigate big gaps.
- Before 2023: Build the GA4 reports and explorations your team actually uses. Move dashboards over one by one.
- Before July 2023: Export any Universal Analytics reports you want to keep, because the old data will not stay forever.
If you are also planning other work for the year, I keep analytics setup near the top of my SEO checklist for 2022. You cannot judge your SEO work without trustworthy data.
For the official detail on running both properties, Google has a help page on sending data to both your Universal Analytics and GA4 properties.
Conclusion: Set Up GA4 Alongside Universal Analytics This Week
You do not have to choose between the two tools yet. Set up GA4 alongside Universal Analytics now, keep your old tracking running, and let GA4 build a full year of history before the July 2023 cutoff.
Your next step is simple: open the GA4 Setup Assistant today, check that Realtime shows data, and raise data retention to 14 months. Then block out time next week to rebuild your most important goals as conversions.



