Blog
SEO and Visibility

GA4 setup guide for beginners: step-by-step

August 15, 2026

Set up Google Analytics 4 in five moves: create a GA4 account and property → add a web data stream → copy your Measurement ID (starts with “G-”) → install the tag via Google Tag Manager, a CMS plugin, or manual gtag.js → verify in Realtime or DebugView. First data typically appears within 30 minutes. You need at least Editor access at the property level to complete the setup.

Quick-start checklist:

  1. Create a Google Analytics account (or use an existing one)
  2. Add a GA4 property and configure your reporting time zone and currency
  3. Create a web data stream and enable enhanced measurement
  4. Copy your Measurement ID (G-XXXXXXXXXX)
  5. Install the Google tag using GTM, a CMS plugin, or manual gtag.js
  6. Verify the tag fires in Tag Assistant or Realtime reports

Key takeaways

A working GA4 implementation requires the right property settings, a verified tag, and at least one marked conversion before your data is worth acting on.

Point Details
Create property first Set the correct time zone and currency at property creation — these affect how sessions and revenue are reported.
Choose your install method GTM for flexibility, CMS plugin for speed, manual gtag.js for simple static sites.
Verify before trusting data Confirm the tag fires in Tag Assistant and check Realtime reports; data appears within a short time.
Mark at least one conversion Toggle a key event (form submit, purchase) as a conversion in Admin > Events before running any campaigns.
Tech Business Development Offers a full GA4 setup and handover service — tag implementation, event design, QA, and documentation included.

Table of Contents

GA4 setup guide: create your account, property, and data stream

Google’s official Analytics setup documentation walks you through the exact sequence: account first, then property, then data stream. Here is what each step looks like in practice.

Create an account and property

Go to analytics.google.com and sign in with a Google account. If you have no existing Analytics account, click Start measuring. Otherwise, go to Admin (the gear icon, bottom-left) and click Create > Account.

Fill in the Account name (usually your company or client name), then click Next to create a property. The property is the container for your website’s data. Give it a clear name (e.g., “My Business Website”), set your Reporting time zone to match where your business operates, and choose the correct Currency. These two fields affect how sessions and revenue are reported, so get them right from the start.

You will also be asked for Industry category, Business size, and Business objectives (e.g., generate leads, drive online sales). These settings personalise the default report layout GA4 shows you. They do not affect raw data collection, but choosing accurate values means your out-of-the-box reports will be more relevant.

Editor role required: only users with Editor access at the property level (or higher) can create properties and data streams. If you are setting up GA4 for a client, confirm you have been granted that role before starting.

Add a web data stream and enable enhanced measurement

After creating the property, GA4 prompts you to add a data stream. Select Web, then enter your site’s primary URL (include the correct protocol: https://) and a Stream name. Click Create stream.

On the next screen, toggle Enhanced measurement to on. This single switch automatically tracks page views, scrolls (90% depth), outbound clicks, file downloads, site search queries, video engagement (YouTube embeds), and form interactions — without writing a single line of custom code. For most beginners, enhanced measurement alone covers the majority of what they need to measure.

Find your Measurement ID and tag instructions

Your Measurement ID (formatted as G-XXXXXXXXXX) appears at the top of the data stream detail page. This is the ID you will paste into GTM, your CMS plugin, or your gtag.js snippet. To find the full tag snippet, click View tag instructions on the same page, then choose either Install manually or Install with a website builder or CMS.

Pro Tip: Bookmark the data stream detail page. You will return here often to grab the Measurement ID, check stream status, and review enhanced measurement settings. The path is Admin > Data Streams > [your stream name].


How to install GA4 on your website

Three methods exist: Google Tag Manager (GTM), a CMS plugin or native integration, and manual gtag.js. The right choice depends on your site setup and how much control you want over future tag changes.

Which method should you use?

Use GTM if you plan to add more tags later (Google Ads, Facebook Pixel, etc.), want to manage everything from one place, or need granular event tracking without touching code repeatedly. GTM is the professional standard for a reason.

Close-up of network cables and tech gadgets on desk

Use a CMS plugin or native field if you are on WordPress, Shopify, Wix, Squarespace, or HubSpot and want the fastest possible setup without touching code at all.

Use manual gtag.js if your site is a simple static HTML site, you have no CMS, and GTM feels like overkill.


Method 1: Google Tag Manager (step-by-step)

GTM’s documentation describes this as the recommended approach for professional, scalable implementations. Here is the exact flow:

  1. Go to Tagmanager and create an account and container for your website (select Web as the target platform).
  2. GTM gives you a container snippet. Paste the first part immediately after the opening <head> tag and the second part immediately after the opening <body> tag on every page of your site.
  3. Inside GTM, click Tags > New > Tag Configuration and choose Google Analytics: GA4 Configuration (or Google Tag in newer GTM interfaces).
  4. Enter your Measurement ID (G-XXXXXXXXXX) in the field provided.
  5. Under Triggering, select Initialization - All Pages (this fires the tag before other tags, which is the correct order for GA4).
  6. Save the tag, then click Preview in the top-right corner of GTM. This opens Tag Assistant.
  7. Enter your site URL in Tag Assistant. Browse a few pages. Confirm the GA4 configuration tag appears under Tags Fired on each page.
  8. Back in GTM, click Submit and then Publish to push the tag live.

Pro Tip: Always test in GTM Preview before publishing. A tag that shows “Tags Fired” in Tag Assistant is confirmed working — publishing without this check is the most common reason beginners spend an hour wondering why no data appears.


Method 2: CMS plugin or native integration (step-by-step)

Many platforms accept your Measurement ID directly, no code required. Google’s CMS setup guide lists which platforms support native G- ID entry.

Platforms that accept a G- Measurement ID natively:

Platform Native G- ID support Recommended approach
WordPress (Site Kit) Yes Install Google Site Kit plugin, connect GA4
Shopify Yes Online Store > Preferences > Google Analytics field
Wix Yes Marketing & SEO > Google Analytics
Squarespace Yes Analytics > Google Analytics
HubSpot Yes Settings > Tracking & Analytics > Tracking Code
WooCommerce Yes (via plugin) Use Site Kit or a dedicated GA4 plugin
Magento Partial Paste gtag.js into custom HTML block

For WordPress, the cleanest approach is Google’s own Site Kit plugin. Install it, connect your Google account, and it handles the Measurement ID placement automatically. If you prefer a lighter plugin, paste the G- ID into any plugin that has a dedicated GA4 field.

For Shopify, go to Online Store > Preferences and paste the G- ID into the Google Analytics field. Shopify handles the rest.

For platforms that only accept a UA- ID (older setups), paste the full gtag.js snippet into a custom HTML block or contact your CMS vendor to request native GA4 support.


Method 3: Manual gtag.js (step-by-step)

Google’s tag setup guide describes the manual install as copying the snippet from Admin > Data Streams > [your stream] > View tag instructions > Install manually.

The snippet looks like this (your actual G- ID replaces the placeholder):

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Paste this block immediately after the opening <head> tag on every page of your site. If your site uses a shared header template, adding it once there covers all pages.


Comparing the three installation methods

Factor Google Tag Manager CMS plugin / native Manual gtag.js
Setup speed Moderate Fast Fast
Flexibility High — add any tag later Low — GA4 only Low — code edits needed
Debugging Excellent (Tag Assistant) Limited Basic (browser console)
Long-term maintainability Excellent Good for simple sites Poor at scale
Coding required Minimal None Basic HTML
Best for Professional or growing sites Beginners on major CMSs Simple static sites

For most small business owners, a CMS plugin gets you running in under 15 minutes — see our Google Business Profile setup: a guide for UK small businesses for helpful step-by-step advice. If your site will ever run more than one marketing tag, set up GTM now and save yourself the headache later. The Analytics Mania walkthrough covers real-world GTM examples in detail if you want a deeper reference.


How do you verify that GA4 is working?

Verification is not optional. A tag that looks installed but fires on the wrong pages, or fires twice, corrupts your data from day one.

Three ways to confirm your tag is working:

  • Tag Assistant: Go to Tagassistant, enter your site URL, and browse a few pages. Under Tags Fired, you should see your GA4 Measurement ID listed. If it appears under Tags Not Fired, the tag is not reaching that page.
  • GA4 Realtime report: In GA4, go to Reports > Realtime. Open your site in another tab and browse around. Within a minute or two, you should see yourself appear as an active user. Google notes that full data processing can take up to 30 minutes, but Realtime shows hits almost immediately.
  • DebugView: In GA4, go to Admin > DebugView. With Tag Assistant open and connected to your site, DebugView shows every event firing in real time, including event parameters. This is the most detailed verification tool available.

Common verification problems and quick fixes:

  • No data in Realtime: Check that you are looking at the correct GA4 property (not a Universal Analytics property). Confirm the Measurement ID in your tag matches the one in your data stream exactly.
  • Tag shows “Not Fired” in Tag Assistant: The snippet is either missing from that page’s <head>, or a caching plugin is serving an old version of the page. Clear your site cache and test again.
  • Events appear duplicated: You likely have both a GTM-installed tag and a manual gtag.js snippet on the same page. Remove one.
  • DebugView shows no device: Make sure Tag Assistant is actively connected to the browser session. Refresh the Tag Assistant connection and reload your site page.

Pro Tip: Test in an incognito browser window with your ad blocker disabled. Ad blockers and browser extensions frequently suppress GA4 tags, which makes it look like the installation failed when it actually worked fine.


How to configure events and conversions in GA4

GA4 is built entirely around events. Every interaction — a page view, a button click, a form submission — is recorded as a named event with optional parameters. This is a fundamental shift from Universal Analytics, which tracked pageviews and “hits” as separate data types. The event-based model gives you far more flexibility for cross-platform tracking and custom reporting.

What enhanced measurement tracks automatically

With enhanced measurement enabled, GA4 collects these events without any custom code:

  • page_view — every page load
  • scroll — when a user reaches 90% of a page
  • click — outbound link clicks
  • file_download — PDF, ZIP, and other file downloads
  • view_search_results — on-site search queries
  • video_start, video_progress, video_complete — YouTube embeds
  • form_start, form_submit — form interactions (where detectable)

Creating custom events

When you need to track something enhanced measurement does not cover (a specific button click, a custom form, a checkout step), you have two options:

  1. In GA4 directly: Go to Admin > Events > Create event. You can create a new event based on conditions from an existing event (e.g., trigger a lead_form_submit event when a page_view fires on your thank-you page URL).
  2. Via GTM: Add a new tag in GTM with the event type Google Analytics: GA4 Event, name the event (e.g., contact_form_submit), add parameters, and set the trigger to the relevant interaction (a click on a specific button, for example).

GA4 event naming conventions to follow:

  • Use lowercase letters and underscores only (e.g., add_to_cart, not Add To Cart)
  • Be descriptive but concise (under 40 characters)
  • Avoid spaces, hyphens, or special characters
  • Use Google’s recommended event names where they apply (e.g., purchase, generate_lead) so GA4’s built-in reports populate correctly

Marking events as conversions

In GA4, go to Admin > Events. Find the event you want to track as a conversion and toggle Mark as conversion to on. GA4 will now count every instance of that event as a conversion in your reports.

To verify it is firing, open DebugView and trigger the conversion on your site. The event should appear highlighted in the DebugView stream within seconds.

Migrating from Universal Analytics: UA goals map roughly to GA4 conversions, but the logic is different. A UA destination goal (thank-you page visit) becomes a page_view event filtered by page path in GA4. A UA duration goal has no direct GA4 equivalent — you would need a custom event. Plan your conversion list before migrating rather than trying to replicate UA goals one-for-one. For tracking campaign performance accurately, getting conversions right from the start matters more than any other configuration step.


Once your tag is verified and events are flowing, spend 20 minutes on these settings. Most beginners skip them and regret it later.

Key settings to configure

Navigate to Admin > Property settings to review your property name, time zone, and currency. Then work through these:

  • Data retention: Go to Admin > Data settings > Data retention. The default is two months. Change it to 14 months if you want year-over-year comparisons in Explore reports. This setting does not affect standard reports, only the Explore section.
  • Data filters: Go to Admin > Data filters. Create a filter to exclude your own internal traffic (your office IP address). Without this, your own browsing inflates session counts and skews behaviour data.
  • Link Google Ads: Go to Admin > Google Ads links and connect your Ads account. This lets GA4 import conversion data into Google Ads and gives you audience lists for remarketing. The Google Ads setup process covers the linking steps in detail.
  • User permissions: Go to Admin > Account access management or Property access management to add team members. Assign the least-privileged role that lets each person do their job (Viewer for most, Editor for those managing tags, Administrator only for account owners).
  • Attribution settings: Go to Admin > Attribution settings. GA4 defaults to data-driven attribution, which is fine for most sites. If you are running a simple setup, leave it as-is.

GA4 collects user data, which means consent matters. If your site serves users in jurisdictions with privacy laws (GDPR in Europe, CCPA in California), you need a consent management platform (CMP) integrated with GA4’s Consent Mode.

Consent Mode tells GA4 how to behave when a user declines cookies. With it enabled, GA4 uses modelled data to fill in gaps from users who opted out, rather than dropping them entirely. Without it, you lose data and potentially violate privacy regulations.

For most small business sites, a CMP like Cookiebot, OneTrust, or a similar tool handles the consent banner and passes consent signals to GA4 automatically. Check that your CMP supports Consent Mode v2, which is the current standard.

Pro Tip: If privacy or page-load performance is a concern, look into server-side tagging via GTM’s server container. It moves tag execution off the user’s browser, reduces client-side JavaScript load, and gives you more control over what data leaves your server. It requires a server container setup and a small hosting cost, but for high-traffic sites it is worth the investment.

The GA4 Setup Assistant inside Admin is a useful guided checklist for beginners to track progress through core configuration steps and confirm fundamentals are in place before moving on.


GA4 troubleshooting checklist

Run through this list in order when data looks wrong or is not showing up at all.

When no data appears:

  1. Confirm you are viewing the correct GA4 property (not a Universal Analytics property or a different GA4 account).
  2. Check that the Measurement ID in your tag exactly matches the G- ID in your data stream (a single character mismatch stops all data collection).
  3. Open Tag Assistant and confirm the tag fires on your site. If it does not appear under “Tags Fired,” the snippet is missing or blocked.
  4. Clear your site’s cache (server-side and any caching plugin) and test again.
  5. Disable any ad blocker or browser extension and test in an incognito window.
  6. If using a CMS plugin, confirm the plugin is activated and the G- ID is saved correctly in the plugin settings.
  7. Check that your data stream is active (Admin > Data Streams — the stream should show a green status indicator).

Common errors and fixes:

  • Duplicate events: Two tags are firing the same Measurement ID. Check GTM for duplicate tags and confirm no manual gtag.js snippet exists alongside a GTM-installed tag. Remove the duplicate.
  • UA ID pasted instead of G- ID: Universal Analytics IDs start with “UA-”. GA4 requires a G- ID. If you pasted a UA- ID into a GA4 field, replace it with the correct G- ID from your data stream.
  • Cookies blocked: Some browsers block third-party cookies by default. This affects GA4 data collection. Consent Mode helps model the missing data, but some gap is expected.
  • GTM container not published: A common beginner mistake. Changes saved in GTM are not live until you click Submit > Publish. Preview mode only tests — it does not push tags to real users.

Quick debugging commands:

  • Type dataLayer in your browser’s developer console (F12 > Console) to see if GA4 events are being pushed.
  • Use GTM’s Preview mode to step through tag firing logic without publishing.
  • Check the DebugView stream in GA4 for event-level detail in real time.

When should you hire a professional for GA4 setup?

DIY setup works well for a straightforward single-domain site with basic conversion tracking. A few scenarios call for professional help:

  • Your site spans multiple domains or subdomains and needs cross-domain tracking configured
  • You need server-side tagging for privacy compliance or performance
  • You are running Google Ads campaigns and need conversion data flowing accurately into Ads
  • You have custom funnels, e-commerce tracking, or complex event hierarchies
  • You inherited a broken GA4 setup and need an audit before trusting the data

What a professional GA4 setup typically includes

A proper professional engagement covers more than just pasting a tag. Expect:

  • Account and property creation with correct time zone, currency, and data retention settings
  • GTM container setup with a GA4 configuration tag and event tags for key interactions
  • Custom event design based on your business goals (lead forms, calls, purchases)
  • Linking to Google Ads and Google Search Console
  • User permissions configured by role
  • Internal traffic filters and data quality checks
  • Post-implementation QA: Tag Assistant screenshots, DebugView validation, and Realtime confirmation
  • A handover document listing every event, its trigger, and where it fires

A GA4 setup done right is not just a tag on a page. It is a documented measurement plan — every event named, every conversion justified, every permission assigned deliberately. When something breaks six months later (and something always does), that documentation is the difference between a 10-minute fix and a full audit.


How to configure user permissions and roles in GA4

GA4 has two levels of access management: account level and property level. Getting this right protects your data and keeps your team working efficiently.

Go to Admin > Account access management to manage who can see or edit across all properties in the account. Go to Admin > Property access management to set permissions for a specific property only. Property-level permissions override account-level ones when they are more restrictive.

GA4 roles and what they allow:

  • Administrator: Full control, including deleting the property and managing all users. Assign this only to account owners.
  • Editor: Can create and edit data streams, events, conversions, and audiences. This is the role for your analytics manager or agency.
  • Marketer: Can create audiences and conversions but cannot change tag or stream settings. Good for campaign managers.
  • Analyst: Can create and edit reports and explorations but cannot change configuration. Suitable for reporting-only team members.
  • Viewer: Read-only access to all reports. Use this for stakeholders who need to see data but should not touch settings.

Add a user by clicking Add users in either access management screen, entering their Google account email, and selecting the appropriate role. Remove access immediately when a team member or agency relationship ends. Leaving stale Editor or Administrator access is a common and avoidable data security risk.


Linking GA4 to Google Search Console (GSC) brings organic search query data directly into GA4 reports, so you can see which search terms drive traffic alongside on-site behaviour. This is one of the highest-value integrations available for free.

Step-by-step:

  1. Confirm you have Editor or Administrator access in GA4 and Owner access in Google Search Console for the same property.
  2. In GA4, go to Admin > Search Console links.
  3. Click Link and then Choose accounts.
  4. Select the Search Console property that matches your website and click Confirm.
  5. Choose the GA4 web data stream to associate with it and click Next > Submit.

The link takes effect within 24 hours. Once active, go to Reports > Acquisition > Search Console in GA4 to see organic queries, clicks, impressions, and click-through rates alongside GA4 session and conversion data.

A few things to know: GSC data in GA4 is available for the past 16 months only, and it appears at the session level (not the user level). If your site is new to GSC, verify ownership there first before attempting the link. For a broader look at how GA4 data feeds into marketing analytics workflows, the integration with Search Console is usually the first recommended step after basic setup.


How to set up cross-domain tracking in GA4

If your website spans more than one domain (for example, yourbrand.com and yourshop.yourbrand.com or a separate checkout domain), GA4 treats users crossing between them as separate sessions by default. Cross-domain tracking fixes this so a single user journey is counted as one session.

Step-by-step:

  1. In GA4, go to Admin > Data Streams > [your web stream] > Configure tag settings.
  2. Under Settings, click Configure your domains.
  3. Click Add condition and enter each domain you want included (e.g., yourbrand.com, checkoutdomain.com). Use the Contains match type for flexibility.
  4. Save the settings.

GA4 automatically appends a _gl parameter to links between the listed domains, which carries the session identifier across. No additional code is needed when using the gtag.js or GTM installation.

For subdomains (e.g., shop.yourbrand.com and blog.yourbrand.com): GA4 handles subdomains of the same root domain automatically when they share the same Measurement ID. You only need the cross-domain configuration for entirely separate domains.

After setup, verify by navigating from one domain to the other while Tag Assistant is active. The _gl parameter should appear in the URL of the destination page, and DebugView should show a continuous session without a new session_start event firing on the second domain.


GA4 data streams beyond the web: app streams

GA4 is built for cross-platform measurement, which means a single GA4 property can hold multiple data streams: one for your website, one for your iOS app, and one for your Android app. All streams feed into the same property, so you can analyse web and app behaviour together.

To add an app stream:

  1. In GA4, go to Admin > Data Streams > Add stream.
  2. Choose iOS app or Android app.
  3. Enter your app’s bundle ID (iOS) or package name (Android) and a stream name.
  4. Download the GoogleService-Info.plist (iOS) or google-services.json (Android) configuration file provided by GA4.
  5. Add the Firebase SDK to your app and integrate the configuration file. GA4 app tracking runs through Firebase, so you will need a Firebase project linked to your GA4 property.

For most small business website owners, app streams are not immediately relevant. If you have a mobile app alongside your website, the key advantage of GA4 is that both streams share the same event schema, so a purchase event on your app and a purchase event on your website roll up into the same conversion report. That unified view is something Universal Analytics could never provide cleanly.


What most beginners get wrong about GA4

The most common mistake is treating GA4 setup as a one-time task. You paste the tag, see data in Realtime, and move on. Six months later, you discover your conversion count is inflated because you never filtered out internal traffic, or your “leads” conversion is firing on every page load because the thank-you page URL was too broadly matched.

The second most common mistake is skipping the Measurement ID check. A single digit wrong in the G- ID and your data goes nowhere. Always copy-paste the ID directly from the data stream page rather than typing it manually.

Three habits that keep GA4 clean long-term:

  1. Use consistent event naming from day one. Once an event name is in GA4, changing it means losing historical data under the old name. Decide on your naming convention before you create custom events.
  2. Document every change. When you add a new event or conversion, write down what it tracks, what triggers it, and the date it went live. A simple spreadsheet works. Without this, you will not know whether a spike in conversions is real or a duplicate tag.
  3. Use GTM for anything beyond the basics. Even if you start with a CMS plugin, move to GTM when you add a second tag. The automated reporting workflows that make GA4 data genuinely useful depend on clean, well-structured tag management.

GA4 setup handled for you, fast

Spending hours in GTM and DebugView is not the best use of your time if you are running a business. Tech Business Development sets up GA4 from scratch — account and property creation, GTM container, custom event design, Google Ads and Search Console linking, user permissions, and a full QA handover with validation screenshots — so you get clean data from day one without the trial and error.

Tech Business Development

The setup is fast, the deliverables are documented, and you know exactly what is being tracked and why. No guessing whether the tag fired, no discovering six months later that conversions were double-counted. If you want a working GA4 implementation without the DIY learning curve, see what’s included in the services and get in touch to book a setup consultation.


Sources

Official documentation and practical references used to build this guide:


FAQ

What is a GA4 Measurement ID and where do I find it? Your Measurement ID is a unique identifier for your GA4 data stream, formatted as G-XXXXXXXXXX. Find it at Admin > Data Streams > [your stream name]. It appears at the top of the stream detail page.

How long does it take for GA4 data to appear after installation? Realtime reports show hits within a minute or two. Full data processing for standard reports takes up to 30 minutes after the tag first fires.

Can I use GA4 and Universal Analytics at the same time? Universal Analytics stopped processing data in July 2023. GA4 is the current standard. You cannot send new data to a UA property.

Do I need Google Tag Manager to use GA4? No. GTM is recommended for professional setups, but you can install GA4 directly via a CMS plugin or by pasting the gtag.js snippet into your site’s <head> tag.

What is enhanced measurement and should I enable it? Enhanced measurement automatically tracks scrolls, outbound clicks, file downloads, site search, and video engagement without custom code. Enable it for every web data stream — there is no downside for most sites.

How do I know if my GA4 tag is firing correctly? Use Tag Assistant at tagassistant.google.com to see which tags fire on each page, and check GA4’s Realtime report to confirm active users appear when you browse your site.

What permissions do I need to set up GA4? You need Editor access at the property level to create data streams, configure events, and manage tag settings. Administrator access is required to manage user permissions and delete properties.

How do I exclude my own visits from GA4 data? Go to Admin > Data filters and create a filter based on your IP address. This prevents your own browsing from inflating session and event counts.

Share this post