Guide / GA4 Setup

The Complete GA4 Setup Guide

A practical, end to end guide to setting up Google Analytics 4 the right way: from creating your property and installing GA4 to configuring data collection, events, custom dimensions, audiences, reporting and validation.

01.01By Sid TondonPUBLISHED 2026-06-289 MIN1,901 WORDSGUIDE

Google Analytics 4 is powerful, but it does not configure itself. A default install collects page views and a handful of automatic events, yet most of what makes GA4 genuinely useful (reliable conversions, clean traffic sources, custom data and reports you can trust) only exists once you set it up deliberately.

This guide walks through the entire GA4 setup in the order we follow on client projects: from creating the property and installing tracking, through configuring data collection, events, custom dimensions and audiences, to validating that the data is actually correct. Work through it top to bottom for a clean build, or jump to the section you are fixing.

GA4 vs Universal Analytics: what actually changed

If you came from Universal Analytics, the first thing to understand is that GA4 is not a new skin on the old tool. It is a different model. Universal Analytics counted sessions and pageviews; GA4 counts events, where every interaction (a page view, a click, a purchase) is an event with parameters. That single change is why so many UA habits do not translate, and why a thoughtful setup matters more than it used to.

A few differences shape every decision later in this guide:

Universal AnalyticsGoogle Analytics 4
Sessions and pageviewsEvents and parameters
Views and filtersData streams and data filters
GoalsKey events (formerly conversions)
Up to 20 custom dimensions (free)50 event-scoped + 25 user-scoped custom dimensions
Bounce rate by defaultEngagement rate and engaged sessions

You do not need to memorise these. The point is that GA4 rewards a plan: decide what you want to measure, then configure the property to capture it cleanly. The rest of this guide is that process, in the order we run it on client projects.

Plan your measurement before you touch GA4

The most common reason a GA4 property is a mess is that nobody decided what it should track before turning it on. Spend an hour on a simple measurement plan and you will save weeks of cleanup.

Write down, in plain language:

  • The business outcomes that matter (a purchase, a qualified lead, a booking, a signup).
  • The micro conversions that lead to them (add to cart, form start, pricing page view, demo request).
  • The context you will want to slice by later (plan type, content group, logged-in state, user role).

That list becomes your events, your key events, and your custom dimensions respectively. Naming matters: agree a convention (lowercase, underscores, verbs for events such as generate_lead) and stick to it, because GA4 will not let you rename an event or custom dimension after the fact. If you are unsure what is realistic to track on your stack, our GA4 implementation work always starts here, with the plan, not the tag.

Create your account, property and data stream

GA4's hierarchy is Account > Property > Data stream. An account is your organisation, a property is the dataset for a product or site, and a data stream is the source of data feeding it (a website, an Android app or an iOS app).

  1. In Admin, create (or choose) an account, then Create property. Set the reporting time zone and currency carefully: these cannot be changed retroactively for past data, and a wrong time zone quietly shifts every daily report.
  2. Add a Web data stream for your site. GA4 generates a Measurement ID (format G-XXXXXXXXXX); you will need it to install tracking.
  3. Leave Enhanced measurement on for now (we tune it in the next sections).
Pro tip: use one property per brand or product, not one per subdomain. Subdomains of the same site belong in the same property with cross-domain tracking, not separate properties, so the user journey stays joined up.

Install GA4: gtag.js or Google Tag Manager

You have two ways to get GA4 onto your site, and the choice shapes everything you do afterwards.

Option A: the Google tag (gtag.js)

Paste the Google tag snippet into the <head> of every page. It is the fastest path to a working pageview, and fine for a simple site that will never need much custom tracking.

Option B: Google Tag Manager (recommended)

Install Google Tag Manager once, then deploy your GA4 configuration tag and every event through it. This is what we recommend for almost every business, because it keeps tracking maintainable: you add events without touching site code, you control firing with triggers, and you can move to server-side later without re-tagging the site. If you want the click-by-click version of a clean first install, our step-by-step GA4 setup walks through it.

Whichever route you choose, confirm the tag fires once (not twice) on a page load before moving on. Duplicate GA4 tags are the single most common setup fault we find in audits, and they inflate every number downstream.

Configure data collection settings

This is where a default install becomes a trustworthy one. Work through each setting:

  • Enhanced measurement: GA4 auto-collects scrolls, outbound clicks, site search, video and file downloads. Keep what is useful and turn off what creates noise. If your site has search, confirm site search is capturing the right query parameter.
  • Google Signals: decide whether to enable Google Signals for cross-device and demographics data, weighing it against the reporting thresholds it can introduce.
  • Internal traffic: stop your own team from polluting the data by setting up an internal traffic filter and activating it.
  • Unwanted referrals: add your payment gateways and auth domains to the unwanted referrals list so Stripe or PayPal do not steal credit for your conversions.
  • Cross-domain: if you span multiple domains, configure cross-domain tracking so one journey is not split into two users.
  • Data retention: raise event data retention to the maximum (14 months) so your explorations can look back further than the two-month default.
Watch out: several of these settings only affect data going forward. Get them right early, because GA4 does not retroactively clean historical data.

Set up events and key events (conversions)

With collection configured, build the events from your plan. GA4 has three kinds you will work with:

  • Automatically collected and enhanced measurement events (page_view, scroll, click) that you get for free.
  • Recommended events with reserved names and parameters (such as purchase, generate_lead, sign_up). Use these names where they fit, because GA4 unlocks extra reporting for them.
  • Custom events for anything specific to your business.

Deploy events through GTM with a clear trigger for each, and pass meaningful parameters (value, currency, item details for ecommerce). Once an event is firing correctly, mark the important ones as key events (GA4's term for conversions). Only promote genuine outcomes to key events; if everything is a conversion, nothing is. Verify each one in DebugView before you rely on it.

Register custom dimensions and metrics

Event parameters do not appear in standard reports until you register them. This step turns the context you planned into something you can actually segment by.

Register your event parameters as custom dimensions (for text values such as plan type, author or content group) and your numeric parameters as custom metrics (for values such as quote amount or items in cart). Decide the scope deliberately: event-scoped for attributes of a single action, user-scoped for attributes that describe the person across their visits.

Pro tip: you have a finite budget (50 event-scoped and 25 user-scoped custom dimensions on the free tier), so register what you will use, not everything you could. Name them to match your parameters exactly, since the registration is case sensitive.

Build your audiences

Audiences group users by behaviour so you can analyse them and, if you link Google Ads, remarket to them. They are also one of GA4's most underused features.

Start with a few that map to your funnel: cart abandoners, trial signups, high-intent visitors who saw pricing but did not convert. Learn the builder with our guide to creating a custom audience, then use audience triggers to fire an event the moment a user joins an audience, which lets you turn audience membership into a measurable, actionable signal rather than a passive list.

Build audiences early: they are not retroactive for membership timing in every case, and the sooner they exist, the sooner they fill.

Channel groupings and traffic sources

GA4 assigns every session to a channel (Organic Search, Paid Social, Direct and so on) using its default channel groupings. Most of the time the defaults are fine, but they depend entirely on your campaigns being tagged correctly with UTM parameters. Garbage in, garbage channel.

Two checks save you from the classic traffic-source mess:

  • Tag every campaign URL with consistent UTMs, and keep an eye on your referral traffic report for sources that should be campaigns but are showing as referral or direct.
  • If the defaults do not fit your business, build custom channel groups rather than reinterpreting the data by hand every month.

Reports and explorations you will actually use

GA4's standard reports are a starting point; the real analysis lives in Explorations. Once your data is clean, a handful of views answer most questions:

  • The landing page report for understanding where sessions begin and which entry points convert.
  • A funnel exploration to see where users drop out of your key journeys.
  • A path exploration to discover the routes people actually take, rather than the ones you assume.
  • Site search terms to learn, in your visitors' own words, what they cannot find.

Build two or three explorations that map to real questions your team asks, save them, and share access. A report nobody opens is not measurement.

Users, access and the limits to know

Before you hand the property over, set up access and understand the constraints you are working within.

Grant access by role, not by reflex: assign user permissions at the lowest level each person needs (Viewer, Analyst, Editor, Administrator), and review them periodically. Over-granting Administrator is a quiet security and data-integrity risk.

Then keep three realities in mind so reports do not surprise you:

  • Data freshness: GA4 is not instant. Understand the processing time and data freshness windows before you panic about a number that has not updated.
  • Data sampling: large or complex explorations can be sampled. Know how to spot and reduce data sampling so you are not making decisions on an estimate you did not realise was one.
  • Property limits: events, parameters and custom definitions all have caps. The GA4 limits are generous but not infinite, and hitting them silently breaks things.

Validate your GA4 setup

A setup is not done when the tags are live; it is done when you have proven the data is correct. Skipping this step is how broken tracking survives for months.

Validate in layers: use DebugView and Tag Assistant to confirm events fire with the right parameters, check the Realtime report end to end, then let a day of data land and sanity-check it against another source. For a thorough, repeatable process, follow our complete GA4 audit guide, and after any launch run a post-launch tracking validation pass before you trust the numbers.

The standard to aim for: every key event fires once, with correct values, attributed to the right source, and you can explain any discrepancy. That is a GA4 setup you can build decisions on.

If you would rather have this done and validated for you, that is exactly what our GA4 implementation and GA4 audit services exist for.

Need this built?

Want this implemented on your site, correctly?

We set up GA4, GTM and server-side tagging like this for clients every week. Book a 15-minute call.