How to Properly Connect GA4 Using Google Tag Manager

Setting up Google Analytics 4 sounds simple in theory.

In reality?

Tags, triggers, preview mode, publishing… and suddenly nothing makes sense.

If you’ve ever stared at GTM wondering “Why is my tag not firing?” — this guide is for you.

No fluff. Just practical steps.


Step 1 — Create a GA4 Property

First, you need a GA4 property.

Path:

Google Analytics → Admin → Create Property

Fill in:

• Property Name
• Time Zone
• Currency

Done.


Step 2 — Copy the Measurement ID (Critical Step)

Now go to:

GA4 → Data Streams → Web → Select your stream

You’ll see:

Measurement ID

Format:

G-XXXXXXXXXX

This is the only ID you need.

Not Property ID. Not Stream ID.

Only the Measurement ID.


Step 3 — Install Google Tag Manager (If Not Already Installed)

Go to:

tagmanager.google.com → Create Account → Create Container

Choose:

✔ Web

GTM will provide two code snippets.

Install them on your site:

• Inside the <head>
• Immediately after <body> opens

Classic placement rule.


Step 4 — Create a New Tag in GTM

Open GTM Dashboard → Tags → New

Choose Tag Type:

✔ Google Tag

⚠️ Many beginners mistakenly select GA4 Event Tag here.

Wrong for base tracking.


Step 5 — Paste the Measurement ID

Inside Google Tag configuration:

Paste:

G-XXXXXXXXXX

That’s it.


Step 6 — Attach a Trigger

Click Triggering → Choose Trigger

✔ All Pages (Page View)

Simple logic:

Every page load → Tracking fires


Step 7 — Save the Tag

Click Save.

Important reminder:

Saved ≠ Live


Step 8 — Enter Preview Mode (Do Not Skip)

Click Preview in GTM.

Enter your site URL.

Allow Tag Assistant to connect.

Skipping preview is like debugging blind.


Step 9 — Verify Tag Firing

Inside Tag Assistant, check events:

• Container Loaded
• DOM Ready
• Window Loaded

Click any event.

You should see:

✔ Tag under Tags Fired

If it appears under Tags Not Fired, something is wrong.


Step 10 — Submit & Publish

If Preview looks correct:

Submit → Publish

⚠️ Extremely common mistake:

People forget publishing.

Tag never goes live.


Common Mistakes That Cause Headaches

Real-world problems everyone faces 👇


Mistake 1 — Using GA4 Event Tag Instead of Google Tag

Understand this clearly:

Google Tag = Base Tracking

GA4 Event Tag = Custom Events

Always start with Google Tag.


Mistake 2 — Trigger Misconfiguration

Initialization vs Page View vs DOM Ready…

For basic tracking:

✔ All Pages → Page View

Keep it simple.


Mistake 3 — Tag Created But Not Published

Saving inside GTM does NOT activate tracking.

Always:

Submit → Publish


Mistake 4 — Wrong Measurement ID

Incorrect ID = No data.

Correct format:

✔ Starts with G-


Mistake 5 — Tag Not Firing in Preview

Possible causes:

• Missing trigger
• Paused tag
• Empty Measurement ID
• Container not updated


Mistake 6 — Cache / CDN Issues

Sometimes setup is perfect…

But caching delays script updates.

Quick fixes:

• Hard refresh (Ctrl + F5)
• Clear cache / purge CDN


Mistake 7 — Duplicate Tags

Multiple GA4 tags = Corrupted data.

Always check:

Tag Assistant → Google Tags Found


Quick Troubleshooting Checklist

If GA4 data isn’t appearing:

✔ Measurement ID correct
✔ Google Tag used
✔ All Pages trigger attached
✔ Tag firing in Preview
✔ Container published
✔ GTM snippet installed correctly
✔ No aggressive caching interference


When Will Data Appear?

Realtime reports → Almost immediately
Standard reports → Up to 24 hours

No need to panic.


Final Reality Check

Analytics setup isn’t glamorous.

It’s infrastructure.

Invisible, technical, slightly annoying — but absolutely essential.

Without tracking, you’re operating blind.

Once properly configured?

Insights become your competitive advantage.