Why Setup Matters More Than You Think

Most GA4 issues - missing data, duplicate events, incorrect conversions - trace back to setup errors.

Getting the foundation right takes 30 minutes. Fixing a broken setup months later takes significantly longer.

This article walks through the correct way to set up GA4 from property creation through to a verified, live implementation via Google Tag Manager.


What You Need Before You Start

If GTM is not yet installed, do that first. GTM is the recommended way to deploy GA4.


Step 1: Create a GA4 Property

  1. Go to analytics.google.com
  2. Click Admin (bottom left gear icon)
  3. Under Account, make sure you are in the correct account
  4. Under Property, click Create Property
  5. Enter your property name (e.g. “YourBrand - GA4”)
  6. Select your reporting time zone and currency
  7. Click Next, fill in business details, then click Create

Important: One property per website. Do not create multiple properties for the same site unless you have a specific reason (e.g. staging vs production).


Step 2: Create a Data Stream

After creating the property, GA4 will prompt you to create a data stream.

  1. Select Web
  2. Enter your website URL (including https://)
  3. Enter a stream name (e.g. “Main Website”)
  4. Leave Enhanced Measurement enabled - this auto-collects scrolls, outbound clicks, site search, video engagement, and file downloads
  5. Click Create stream

After creation, you will see your Measurement ID - it looks like G-XXXXXXXXXX. Copy this. You will need it for the GTM tag.


Step 3: Deploy GA4 via Google Tag Manager

Do not add the GA4 snippet directly to your site’s code if you are using GTM. Use GTM to deploy it instead.

3a. Create a GA4 Configuration Tag

  1. Open your GTM container
  2. Click Tags → New
  3. Click Tag Configuration
  4. Select Google Tag (this is the current tag type for GA4, replacing the old “GA4 Configuration” tag)
  5. Enter your Measurement ID (G-XXXXXXXXXX)
  6. Set the trigger to All Pages (Initialization - All Pages is even better, as it ensures GA4 loads before other tags fire)
  7. Name the tag: “Google Tag - GA4”
  8. Save

3b. Publish the Container

  1. Click Submit in the top right of GTM
  2. Add a version name: “Add GA4”
  3. Click Publish

Step 4: Verify the Tag Is Firing

Before you trust the data, confirm the tag is working.

Option 1: GTM Preview Mode

  1. In GTM, click Preview
  2. Enter your website URL
  3. Navigate around the site
  4. In the Tag Assistant window, confirm the Google Tag fires on each page

Option 2: GA4 Real-Time Report

  1. Open GA4
  2. Go to Reports → Realtime
  3. Visit your website in a separate tab
  4. You should see yourself appear as an active user within 30 - 60 seconds

Option 3: Browser DevTools (Network Tab)

  1. Open Chrome DevTools (F12)
  2. Go to the Network tab
  3. Filter by collect or g/collect
  4. Refresh the page
  5. You should see requests being sent to google-analytics.com

Step 5: Configure Basic Settings in GA4

Once the tag is verified, configure a few settings before you start relying on the data.

Internal Traffic Filter

Exclude your own visits from reports so they do not skew the data.

  1. GA4 → Admin → Data Streams → your stream → Configure tag settings
  2. Define internal traffic → Add your IP address(es)
  3. GA4 → Admin → Data Filters → Create filter → Internal Traffic → set to Active

Unwanted Referrals

If you use a payment gateway or booking system on a separate domain, add it to the referral exclusion list so it does not create false referral sessions.

GA4 → Admin → Data Streams → your stream → Configure tag settings → List unwanted referrals

If you run Google Ads, link the accounts immediately.

GA4 → Admin → Product Links → Google Ads Links → Link

This enables:

GA4 → Admin → Product Links → Search Console Links

This enables organic search query data inside GA4.


Step 6: Confirm Enhanced Measurement Is Working

Navigate your site and check that Enhanced Measurement events are appearing in the Realtime report:

If these events are not showing, check that Enhanced Measurement is enabled in your data stream settings.


Common Setup Mistakes to Avoid

Firing the Google Tag on all pages AND having another GA4 event tag also on all pages. This creates duplicate pageviews. One Google Tag (Base Configuration) is enough. All events fire through it.

Using the wrong Measurement ID. Copy the ID directly from the data stream screen. It always starts with G-.

Not filtering internal traffic. Your own development and QA visits will contaminate the data from day one if you skip this step.

Creating a property in the wrong Google account. Make sure the property is created in the client’s account, not yours, if you are an agency. Use Google Analytics account access to grant yourself access instead.

Not verifying before going live. Always check Realtime reports and GTM Preview mode before considering the setup complete.


What a Correct Setup Looks Like

When done correctly, you should have:

This is the baseline. From here, you add conversion tracking, custom events, and audience configuration.


Final Thoughts

GA4 setup is not complicated, but every step matters.

A clean baseline setup means cleaner data, more accurate reporting, and fewer debugging sessions down the line.

In the next article of this series, we will cover:

GA4 conversions vs key events - how to set them up and what to actually track.

Related Posts

GA4 Enhanced Ecommerce Tracking - What the Data Layer Needs to Look Like

10 min read

GA4EcommerceData LayerGTMTrackingGA4 Intro Series

Tracking a Next.js SPA in GTM: History Navigation, Invisible Carts, and Full E-Commerce Setup

GTMGoogle Tag ManagerGA4Google AdsGTM Expert Series

GA4 vs Universal Analytics - What Actually Changed and Why It Matters

7 min read

GA4Universal AnalyticsAnalyticsGoogle AnalyticsGA4 Intro Series
Adnan Agic

Adnan Agic

Google Ads Strategist & Technical Marketing Expert with 5+ years experience managing $10M+ in ad spend across 100+ accounts.

Need Help With Your Google Ads?

I help e-commerce brands scale profitably with data-driven PPC strategies.

Get In Touch
Back to Blog