Part of our website setup guide series

website-setup

GA4 Not Tracking Visitors? 12 Troubleshooting Steps

Praveen 7 min read
Share:
Person using MacBook Pro on desk with coffee and notebook
Photo by Austin Distel on Unsplash

You added the GA4 tracking code to your site. You waited 48 hours. You come back to check and the dashboard still shows zero active users. The Realtime report is empty. DebugView shows nothing.

I have set up GA4 on more than a dozen sites and run into every tracking issue there is. Most of the time, the fix is simple. But you need to troubleshoot in the right order, or you will waste hours checking things that are fine.

Here are 12 steps to find and fix your GA4 tracking issue.

Direct Answer

If GA4 is not tracking visitors, the most likely cause is an incorrect measurement ID, a blocking browser extension, or a delayed data processing cycle. Start by checking the Realtime report. If it shows zero users, your tracking code is not sending data. Work through the steps below in order.

Step 1: Check Your Measurement ID

This is the most common mistake I see. You copied the tracking code from GA4, but the measurement ID in the code does not match the measurement ID of your GA4 property.

In GA4, go to Admin and then Data Streams. Select your web data stream. Copy the Measurement ID. It looks like G-XXXXXXXXXX. Now check your site’s source code and confirm that the same ID appears in the gtag config line.

If you are using Google Tag Manager, check the GA4 Configuration tag and verify the Measurement ID field.

Step 2: Check the Realtime Report

Open the Realtime report in GA4. This report updates within seconds. If you visit your site while the Realtime report is open and your name does not appear in the Active users card within 30 seconds, your tracking code is not sending data.

Click around your site. Navigate to different pages. If nothing shows up in Realtime, the issue is at the code level, not a data processing delay.

Step 3: Use DebugView

DebugView is the most powerful tool for fixing GA4 tracking issues. It shows every event your site is sending in real time.

To use DebugView, enable debug mode in your browser. Add ?gtm_debug=x to your site URL if using GTM, or enable debug mode in your gtag implementation using the Google Analytics Debugger Chrome extension.

Open GA4 and go to Configure and then DebugView. If you see events flowing in, your tracking code is working and the issue is data processing. If DebugView shows nothing, your code is not installed correctly.

Step 4: Check for Ad Blockers and Browser Extensions

Ad blockers and privacy extensions are a major cause of missing GA4 data. uBlock Origin, Privacy Badger, and Ghostery all block GA4 by default.

Open your site in a private or incognito window with no extensions enabled. Visit the site and check the Realtime report in GA4. If data appears in incognito mode but not in your regular browser, extensions are the reason.

This is not something you can fix on your end. Users who choose to block tracking will not appear in your data. But understanding this helps you distinguish between a broken implementation and expected blocking.

If your site uses a cookie consent banner, GA4 might be blocked until the user gives consent. GA4’s Consent Mode allows you to send cookieless pings before consent and full events after consent.

Check that your consent solution is integrated with GA4. The consent banner should send the consent_update event to GA4 with the appropriate consent parameters. Without this integration, GA4 will not track users who decline cookies in regions like the EU.

Step 6: Check for Duplicate Tracking Code

Having two copies of the GA4 tracking code on your site causes duplicate events and can sometimes prevent tracking entirely. This often happens when you install GA4 through your CMS and also add the tag manually.

Search your site’s source code for the Measurement ID. If it appears more than once, find and remove the duplicate. The same applies to GTM. If you have a GA4 tag in GTM and also have gtag.js hardcoded in your site header, remove one.

Step 7: Check Cross-Domain Tracking

If your site spans multiple domains or subdomains, you need cross-domain tracking configured. Without it, a user who moves from your main site to your checkout subdomain is treated as a new user.

In GA4, go to Admin and Data Streams. Select your web data stream and click Configure tag settings. Under Settings for your Google tag, click Configure your domains. Add all the domains and subdomains that are part of your site.

Step 8: Check Your Filters

GA4 allows you to create filters that include or exclude specific traffic. A misconfigured filter can hide all your data.

Go to Admin and Data Settings and then Data Filters. Check if you have any active filters that might be excluding all traffic. If you see a filter set to Exclude All or with incorrect parameters, pause it and check if data starts appearing.

Step 9: Check Server-Side Tagging Configuration

If you use server-side tagging with Google Tag Manager, the setup is more complex and has more points of failure. Check that your server-side GTM container is running and that events are reaching it.

Common server-side issues include:

  • The server endpoint URL is wrong.
  • The SSL certificate has expired.
  • The server is not configured to forward events to GA4.
  • Firewall rules are blocking the connection.

Test by sending a manual event to your server endpoint using a tool like curl or Postman. If the server responds but GA4 does not show the event, the forwarding configuration is wrong.

Step 10: Wait for Data Processing

If everything above checks out but your standard reports still show zero data, you might just need to wait. GA4 can take 24 to 48 hours to process data into standard reports.

The Realtime report and DebugView are the only reliable indicators that tracking is working. If they show activity, your code is correct and the data will appear in standard reports within a day or two.

Step 11: Check Your Account Permissions

If someone else set up your GA4 property, your user account might not have the right permissions. Go to Admin and Account Access or Property Access to check your role.

You need at least Viewer or Analyst role to see reports. If you have a lower role, ask the account owner to upgrade your access.

Step 12: Create a New Property as a Test

If you have gone through all 11 steps and still see no data, create a brand new GA4 property with a new Measurement ID. Install it on a single test page that has no other tracking code. If the test property shows data but your main property does not, the issue is specific to your main property configuration. Compare the two setups side by side.

Decision Summary

If Realtime shows zero users: Start with Step 1 (measurement ID) and Step 2 (Realtime check).

If Realtime shows users but standard reports are empty: Skip to Step 10 (data processing delay).

If you use a consent banner: Check Step 5 (consent integration) before anything else.

If data stopped working after a site update: Check Step 6 (duplicate code) and Step 7 (cross-domain settings).

P

Praveen

Technology enthusiast helping people work smarter with practical guides and AI workflows.

Explore more: Browse all website-setup guides or check related articles below.