Skip to main content

Is Your GA4 Lying to You? Here’s What to Check First

By

10 min read

Share this story

Marketing analytics dashboard showing performance graphs on a laptop screen.

In the new era of “Optimizing content for AI overviews”, Google Analytics 4 (GA4) has been live long enough for most teams to assume their setup is fine. In fact, the platform is more complex than Universal Analytics ever was, and the default configuration leaves gaps that may silently corrupt your data. 

Below is a checklist of the six most common GA4 setup mistakes; the ones that cause real data to diverge from reality. The gaps that your dashboards won’t flag. Work through each one. Fix what you find. And your marketing reports will thank you…

  1. Conversion events not configured properly

This is the most common GA4 mistake, and it’s probably the most damaging.

GA4 replaced goals with ‘Key Events’ (formerly called conversions). But unlike Universal Analytics, GA4 doesn’t automatically track meaningful actions. It does collect several basic events through Enhanced Measurement, but it doesn’t know which actions matter to your business. Unless you’ve marked meaningful events as Key Events, your reporting won’t reflect real conversions. 

What to check:

  •       Go to Admin → Data Display → Events and review which events are marked as Key Events (the star icon).
  •       Verify that form submissions, phone clicks, thank-you page views, and any other meaningful actions are included.
  •       Check that each key event is firing correctly in DebugView (Admin → Data Display → DebugView) using a test device.
  •       If you use Google Tag Manager, audit your tags. It’s surprisingly common for conversion tags to fire on every page, rather than only on confirmation pages.

It’s surprisingly common to find no meaningful Key Events configured at all, or to find page_view incorrectly marked as one. It means your conversion data is meaningless.

Why this matters

Get this right and your conversion data tells you what’s actually working, not just what’s getting traffic.

  1. Self-referral traffic inflating sessions

Self-referral occurs when your own domain appears as a traffic source in GA4. This artificially inflates session counts, breaks attribution, and makes your channel data unreliable. This problem is far more common than people realise.

The two most common causes are third-party platforms – a payment processor, a booking engine, a separate checkout domain – that redirect users back to your site mid-journey, and subdomain transitions where cookie domains are configured inconsistently or the subdomain runs under a separate GA4 property. In both cases, GA4 may start a new session or lose attribution between domains, causing your own domain to appear as a referral source.

What to check:

  • In Reports → Acquisition → Traffic Acquisition, filter by Source/Medium. If your own domain appears as a referral source, you have a self-referral problem.
  • Go to Admin → Data Streams → [your stream] → Configure tag settings → Show more → List unwanted referrals. Add your own domain and any third-party platforms that users pass through.
  • If users move between subdomains that use different cookie domains or run under a separate GA4 property (e.g. shop.yoursite.com and www.yoursite.com), enable cross-domain measurement under Configure tag settings → Configure your domains.

Why this matters

Adding your domain to the unwanted referrals list ensures that GA4 correctly attributes sessions to the traffic source that actually drove them, keeping your channel data accurate and your conversion reporting trustworthy.

  1. Internal IP traffic not excluded

Every time someone from your team browses the website – whether checking a page, testing a form, or reviewing a blog post – they’re generating sessions in GA4. So is your development agency. So is your freelance designer. Unless you’ve explicitly excluded internal traffic, your data includes all of it. For example, a developer repeatedly testing a checkout flow will show up as conversions.

What to check:

  •       Go to Admin → Data Streams → [your stream] → Configure tag settings → Show more → Define internal traffic.
  •       Add IP addresses for your office, remote workers, and any agencies with access to your site.
  •       Then go to Admin → Data Filters → Internal Traffic → set as active not ‘testing’.
  •       Note: GA4 only supports IP-based filtering natively. For more granular exclusions, use a custom dimension via Google Tag Manager.

The filter being set to ‘Testing’ is a surprisingly frequent oversight. It means the filter exists but does nothing to your live data.

Why this matters:

For smaller sites with modest traffic volumes, internal visits can meaningfully skew engagement metrics, bounce rates, and conversion counts. Excluding internal IPs ensures your data reflects real user behaviour, so every decision you make is based on actual customer activity.

  1. Cross-domain tracking gaps

If your customer journey spans more than one domain (which is common for e-commerce, lead generation, and SaaS businesses), but you haven’t configured cross-domain tracking, GA4 is counting each domain transition as a new session from an unknown source.

This breaks attribution entirely. A user who arrived via a paid search ad, passed through a third-party checkout on a separate domain, and then landed on your thank-you page may be attributed to ‘(direct)’ in your reports. Your paid media ROI calculation is therefore wrong.

What to check:

  • Admin → Data Streams → [your stream] → Configure tag settings → Show More → Configure your domains. Add every domain in your user journey.
  • Verify the configuration by clicking a cross-domain link and checking DebugView to confirm the same user journey continues without a new session being attributed. If no new session is triggered, cross-domain tracking is working correctly.
  • If you’re using a third-party platform (Shopify, Stripe, Calendly, etc.), check whether that platform supports GA4 cross-domain parameters. Some don’t, and workarounds may be needed.

Why this matters:

Configuring cross-domain tracking ensures the full customer journey is captured as a single session, so your attribution data accurately reflects which channels are driving conversions.

  1. Data stream mismatches

GA4 uses data streams to collect information from your website, iOS app, and Android app. Each stream has its own Measurement ID. If the wrong Measurement ID is implemented on your site, or if you have multiple IDs firing on the same page, your data will be duplicated, fragmented, or associated with the wrong property.

This is especially common after site rebuilds, CMS migrations, or when multiple teams have had access to Tag Manager over the years.

What to check:

  • In GA4, go to Admin → Data Streams and note the Measurement ID (G-XXXXXXXXXX).
  • Open your website, view the page source or use a browser extension (such as GA Debugger or Tag Assistant), and confirm that only one Measurement ID is firing, and that it matches the one in your GA4 property.
  • Check your Google Tag Manager container for duplicate or outdated GA4 configuration tags from previous setups.
    • Look for duplicate tracking setups: more than one Google Tag on the page, multiple GTM containers loading, or a hardcoded GA4 snippet running alongside a GTM-fired GA4 tag. Any of these will double-count your data.
  • If you’re running a staging or development environment, ensure it isn’t sending data to your live GA4 property.

Why this matters:

A mismatched or duplicated Measurement ID means you could be making decisions based on inflated, incomplete, or entirely wrong data – without any obvious sign in GA4 that something is off.

  1. Google Signals affecting reported user counts

Google Signals is a feature that, when enabled, allows GA4 to associate data from users who are signed into their Google accounts across devices. The intention is to give you a more accurate cross-device view of user behaviour and unlock demographic data.

The problem is data thresholding. When Google Signals is active, GA4 applies privacy thresholds to certain reports. In practice, this means that when user counts in a given row or segment fall below a certain level, GA4 withholds that specific data to protect user identity. For smaller sites, this can result in a large proportion of your demographic or interest data being hidden (indicated by a warning icon at the top of the report).

What to check:

  • Data Collection Settings: Go to Admin → Data collection and modification → Data collection. If thresholding is hiding too much data, you may need to disable Google Signals here.
  • Reporting Identity note: Since early 2024, Google Signals no longer factors into the Reporting Identity calculation, so switching between Blended and Observed won’t change cross-device deduplication anymore. Whether Device-based identity still helps with thresholding is debated among practitioners – test it on your own property, rather than assuming it will or won’t help.
  • Weigh the trade-off: Disabling Google Signals will remove thresholding from demographic and interest reports, at the cost of losing that data entirely. As of 15 June 2026, Google has decoupled Google Signals from Google Ads entirely. The two settings used to jointly govern whether advertising data reached Google Ads, but now Google Signals only controls enriched reporting inside GA4. Whether that data reaches Google Ads is now governed exclusively by your Consent Mode ad_storage signal, independent of the GA4 toggle.

Why this matters:

If Google Signals thresholding is hiding a significant portion of your audience insights, you may be optimising campaigns on incomplete data, especially on smaller sites. In that case, you face a trade-off: switching to a device-based reporting identity to try to reduce Signals-related thresholding in standard reports (results may vary and are worth testing), or disabling Signals outright and accepting the loss of demographics/interest data in exchange for cleaner counts elsewhere.

It’s also worth noting that since 15 June 2026, Google Ads remarketing and cross-device advertising behaviour no longer depend on the GA4 Google Signals toggle at all; they’re controlled solely by Consent Mode’s ad_storage signal. This means adjusting Google Signals now only affects what you see in GA4 reporting; it won’t, by itself, turn ad features on or off in Google Ads. If ad_storage isn’t correctly configured to reflect visitor consent (particularly defaulting to denied before consent is given for EEA/UK visitors), that’s a separate compliance exposure worth checking, regardless of your Google Signals setting.

Separately, ensure Consent Mode is correctly implemented. An incorrect ad_storage signal won’t usually affect GA4 traffic reporting, but it can significantly impact advertising attribution and audience activation – while a misconfigured analytics_storage signal will directly degrade your GA4 data itself. 

Run the audit, then act on it

These six issues are not edge cases. They appear in the majority of GA4 setups we review at Digivate, often in combination. Individually, each one introduces noise into your data. Together, they can make your analytics functionally useless for decision-making.

The good news? Most of these problems are fixable within GA4’s own admin settings, without any development work. The bad news? GA4 rarely alerts you when tracking has been misconfigured, so problems can persist unnoticed for months. You have to actively look.

If you’d like some support running a structured GA4 audit, our analytics team works with marketing managers and founders to identify exactly where their tracking is falling short – and what to do about it. After all, good data is the foundation of good marketing decisions.

FAQs

What are the most common GA4 setup mistakes?

The six most common GA4 mistakes are: conversion events not configured properly, self-referral traffic inflating sessions, internal IP traffic not excluded, cross-domain tracking gaps, data stream mismatches, and Google Signals affecting reported user counts.

Why does my GA4 data not match reality?

GA4 data diverges from reality when meaningful events aren’t marked as key events, self-referrals inflate sessions, internal traffic isn’t filtered, cross-domain tracking is broken, data streams are mismatched, or Google Signals applies thresholding. These gaps silently corrupt your data.

How do I know if my GA4 setup is broken?

Run this GA4 audit checklist: Go to Admin → Data Display → Events to verify meaningful events are marked as key events, Admin → Data Filters to check internal traffic exclusions, Admin → Data Streams to verify your Measurement ID and configure cross-domain tracking, and Admin → Data collection and modification → Data Collection to check whether Google Signals is enabled and whether your reports are showing thresholding warnings. For self-referrals, check Traffic Acquisition in Reports → Acquisition.

What is a GA4 audit checklist?

A GA4 audit checklist is a structured set of six critical checks for tracking gaps: conversion events, self-referrals, internal IP exclusion, cross-domain tracking, data stream mismatches, and Google Signals. It’s the audit most teams haven’t run, but need to.

How do I fix common GA4 mistakes?

Fix them in GA4’s admin settings: mark meaningful events as key events, add your domain to the unwanted referrals list, exclude internal IPs via Data Filters, configure cross-domain domains, verify your Measurement ID is correct, and disable Google Signals in Data Collection settings if thresholding is distorting your counts. Most fixes can be made directly in GA4’s admin settings with no development work.

Share this article

  • Analytics
  • Google

Tiago Otani

Tiago Otani is a digital marketing and SEO specialist, entrepreneur, and CEO of two companies in Brazil. With more than 20 years of experience building and leading businesses, he has developed a strong background in growth strategy, digital performance, and brand development. He also served as Head of Marketing at a startup that was later acquired by a Silicon Valley company, bringing a unique combination of strategic vision, business leadership, and hands-on execution to every project he leads.

More insights to fuel your growth

Dive deeper into strategies that transform businesses

View all

What’s holding your growth back?

In under 5 minutes, you’ll get a custom scorecard on where your digital marketing stands - and what to fix next.

Start Your Growth Audit