Analytics

The GA4 setup mistakes that make your data lie

TS Talha Shahzad··7 min read
The short version
  • Google Analytics 4 is event-based and requires manual configuration compared to the old Universal Analytics.
  • Missing configuration tags on landing pages or subdomains will cause severe traffic underreporting.
  • Failing to exclude your own domain and payment gateways results in self-referrals that ruin attribution.
  • Default GA4 data retention is set to two months, meaning historical user data is discarded prematurely unless changed.

If you are asking why is my GA4 data wrong or missing traffic, the answer usually lies in a silent configuration error. Most Google Analytics 4 dashboards are quietly broken, meaning founders and marketers are making critical budget decisions based on partial or flat-out incorrect traffic data.

Unlike the old Universal Analytics, which worked reasonably well out of the box, GA4 is a blank slate. If you do not configure it precisely, it will omit traffic, misattribute conversions, and distort your entire marketing funnel.

After auditing dozens of setups, I have found that almost every broken dashboard suffers from the same handful of setup mistakes. Correcting these errors is the only way to turn your analytics back into a reliable source of truth.

Why GA4 is fundamentally easier to break

Universal Analytics was page-view centric. You pasted a script on your site, and it automatically understood page loads, sessions, and referrals with minimal intervention. GA4 is entirely event-based. Every interaction, from a page view to a button click, is treated as a standalone event.

This architectural shift gives you more flexibility, but it also removes the safety net. If a tag fires slightly out of order, or if a parameter is formatted incorrectly, GA4 simply drops the data without warning.

Furthermore, Google changed many of the default settings in GA4 to prioritize privacy and data control. While this is good for compliance, it means the default out-of-the-box configuration is intentionally limited. If you leave GA4 on its default settings, you are actively choosing to collect incomplete data.

1. Missing page-view tags and broken subdomains

The most basic reason your traffic is missing is that the GA4 configuration tag is not firing on every page. This is especially common on sites that use multiple platforms, such as a Webflow site for the main marketing pages and a separate platform like HubSpot or a custom portal for landing pages and subdomains.

If a visitor lands on a landing page that lacks the GA4 tag, they are invisible. If they then click a link to your main website where the tag is present, GA4 registers them as a brand-new visitor. This error does two things: it hides the initial visit entirely, and it attributes the subsequent pages to direct traffic rather than the actual referral source.

To fix this, you must ensure your Google Tag Manager container or the global gtag.js script is loaded in the header of every single page across all domains and subdomains you control. Do not rely on platform integrations to handle this automatically; verify the tag presence manually.

2. Misconfigured conversion events undercounting outcomes

In GA4, conversions are no longer set up using page destinations or duration goals. Instead, you must track a specific event first, wait for it to appear in your reports, and then manually toggle it as a conversion.

This multi-step process introduces several opportunities for error:

  • Delayed activation: Toggling an event as a conversion only applies to data collected after the toggle is flipped. It does not retroactively mark past events as conversions.
  • Non-unique events: If you mark a generic event like click as a conversion, GA4 will count every single click on the website as a conversion. You must create a custom event, such as generate_lead or demo_requested, and mark only that specific event.
  • Form submission failures: Many automated form integrations fire a generic form submission event even when the form validation fails. If a user enters an invalid email address and gets an error message, GA4 may still record a successful conversion.

If your conversion numbers look suspiciously high or low, you need to audit the exact trigger conditions in Google Tag Manager. I always recommend using custom event triggers that only fire when a form actually submits successfully to your database.

Want a website that turns visitors into customers, not just compliments?

Book a 15-min intro

3. Self-referrals and missing referral exclusions

If you look at your acquisition reports and see your own domain listed as a top referral source, your attribution is broken. This is known as a self-referral.

Self-referrals occur when a user moves from one page of your site to another, and GA4 treats the transition as a brand-new session started by a referral from your own site. This completely wipes out the original traffic source. If a user originally came from a organic search, but triggers a self-referral before buying, Google will attribute the sale to your own domain instead of search.

The main causes of self-referrals are:

  • Missing cross-domain tracking: If you send users from mysite.com to checkout.mysite.com without configuring cross-domain tracking, the session breaks.
  • Unconfigured third-party tools: If you use a third-party booking scheduler or payment gateway (like Stripe or PayPal), the user leaves your site to pay and then returns. Without an exclusion, GA4 attributes the conversion to the payment provider.

To resolve this, navigate to your GA4 Data Streams, select your web stream, click Configure Tag Settings, and then select List of Unwanted Referrals. Add your own domain and the domains of any third-party tools, booking engines, or payment processors you integrate with.

4. Unlinked Google Ads breaking attribution

If you run Google Ads but have not explicitly linked your Ads account to your GA4 property, your campaign data will not match.

Unlinked accounts cause GA4 to categorize your paid traffic as organic search or direct traffic. You lose the ability to see which campaigns, ad groups, or keywords drove specific actions on your site. You also lose the ability to inject GA4 conversions back into Google Ads to train your bidding algorithms.

Linking the accounts is simple, but it requires administrator access on both platforms. Once linked, enable auto-tagging in your Google Ads settings. Auto-tagging appends a unique identifier (the gclid parameter) to your destination URLs, allowing GA4 to automatically map the visitor to the correct campaign.

5. The default two-month data retention trap

This is the most critical default setting mistake in GA4. By default, Google sets the retention of user-level and event-level data to exactly two months.

This does not mean your standard aggregated reports will disappear after 60 days. It does mean that your custom explorations, funnel reports, and segmentations cannot look back further than two months. If you want to compare this quarter's user behavior to the same quarter last year using custom reports, you cannot do it under the default settings.

To fix this, go to your GA4 Admin panel, select Data Settings, click Data Retention, and change the Event Data Retention setting from two months to 14 months. Save the change immediately. This is not retroactive, so the sooner you change it, the more historical data you preserve.

How to audit your setup and trust your numbers

Do not wait for your monthly reporting cycle to discover that your tracking is broken. Run a structured audit using these steps:

  1. Verify with DebugView: Open GA4, navigate to Admin, and select DebugView. In a separate browser window, open your site using Google Tag Assistant. Click through your conversion funnel and verify that the events fire in real time with the correct parameters.
  2. Check the Realtime report: Open the site on your phone or a separate device and verify that a new active user appears in the Realtime report. If it does not, your configuration tag is either missing or blocked.
  3. Audit your referral list: Regularly check the Tech details and Traffic Acquisition reports for unexpected referrals. If you see payment processors or your own domains, add them to your exclusion list.
  4. Compare to backend database: Your analytics conversions will never match your database perfectly due to ad blockers and browser privacy features. However, they should be within 10-15% of your actual sales or signups. If the discrepancy is larger, your tracking is broken.

If you suspect your analytics setup is providing incomplete or misleading information, a systematic analytics audit can identify the specific gaps. Ensuring your data is clean is the absolute baseline for any optimization work. If you build on top of broken tracking, you are simply optimizing for the wrong numbers.

Prefer to hire through Upwork?
Top Rated Plus, 100% Job Success, 450+ projects shipped. See the reviews and start a contract.
Hire me on Upwork

FAQ

Why is my GA4 data wrong or missing traffic?

It is usually caused by missing configuration tags, misconfigured cross-domain tracking, self-referrals, or incorrect filter settings. Unlike Universal Analytics, GA4 does not track everything out of the box and requires strict tag deployment.

How do I know if my GA4 is tracking correctly?

Use the GA4 DebugView and Google Tag Assistant to verify that events are firing in real time. You should also check the page_view event counts against your server logs or backend database to identify discrepancies.

Why does my own website show up as a referral in GA4?

This happens when your cross-domain tracking is not set up correctly or you have not added your own domain to the List of Unwanted Referrals. It causes GA4 to start a new session and attribute traffic to your own site instead of the original source.

All posts
the next step is small

Want a site that does this for you?

15 minutes, no deck, no pressure. Worst case, you leave with a free plan.

keep reading

More notes