Analytics and tracking

GA4 setup mistakes that break your reports, and how to fix each one

Nine common GA4 configuration mistakes, from data retention and internal traffic to payment gateway referrals and AI assistant traffic, checked against Google's docs.

By The Growth Folks® 7 min read

Most GA4 problems never show up as errors. The reports load, the charts look normal, and the numbers are wrong. Your own team inflates traffic, a payment gateway takes credit for sales, or half your campaign traffic sits under “Facebook” and the other half under “facebook”. Below are nine common mistakes and the fix for each, checked against Google’s own help documentation at the time of writing (October 2026).

The first check for any of them needs no developer; most take five minutes in the Admin screen. You need the Editor role on the property to change settings. Several fixes only apply to data collected after you make them, which is the best reason to do them now instead of waiting for a report to look odd.

Admin settings that cost you data

1. Leaving data retention on the short setting

GA4 keeps user-level and event-level data for a set period. According to Google’s data retention article, standard properties can choose 2 months or 14 months. Analytics 360 adds 26, 38 and 50 months.

The setting only affects explorations and funnel reports. Standard reports are untouched, and that is why this mistake hides so well. Last year looks fine in your standard reports, then you build an exploration comparing this quarter with the same quarter last year and the older data isn’t there.

To fix it, go to Admin, Data collection and modification, Data retention, and choose 14 months unless your privacy policy or legal advice says otherwise. Google says a longer period applies to data you have already collected, but anything deleted under the old setting is gone for good. Change it before you need the report.

2. Counting your own team as customers

Staff, agencies and developers visit your site all day. In a small business they can be a noticeable share of traffic, and they trigger test purchases and sign-ups.

GA4 handles this in two steps, per Google’s internal traffic guide:

  1. Define internal traffic in your web data stream’s tag settings, using IP addresses (exact, ranges in CIDR notation, or a regular expression).
  2. Create a data filter to exclude that traffic. Filters can be in Testing, Active or Inactive state.

There are two traps. Google says once a filter is active “the effect on the data is permanent”, so excluded data is never processed; run it in Testing first and check the results. And IP-based rules miss remote staff on home broadband and mobile data. For a remote team, ask your developers for a separate rule based on a cookie or URL parameter, or accept some leakage.

The order that works: set up the rule, leave the filter in Testing for a week, check the “Test data filter name” dimension, then activate.

Referral and cross-domain leaks

3. Letting payment gateways steal credit for sales

A customer clicks your Google ad, adds to basket, pays on an external payment page and comes back to your thank-you page. Without the right setting, that return visit can be credited to the payment provider instead of Google Ads.

Google’s unwanted referrals article uses this exact example. You add domains to the List unwanted referrals setting in your web stream (up to 50 conditions), and GA4 marks matching events so the domain is no longer reported as a traffic source.

Google notes a catch. Users who had already arrived from that domain before you added it keep that attribution, and their later direct visits can still be credited to it, so the gateway will linger in reports for a while.

Look through Traffic acquisition for any payment gateway, password reset service, booking engine or single sign-on domain, and add each one to the list. Self-referrals from your own domain are excluded automatically.

4. Missing cross-domain measurement

When the journey crosses root domains (a marketing site on yourbrand.com and a shop on yourbrand-shop.com, for example), GA4 treats each domain as separate by default. Google’s cross-domain article says a user who visits both on one device counts as two users and two sessions without cross-domain measurement.

Use the same G- measurement ID on both domains and list them under Configure your domains in the web stream settings. GA4 then passes IDs between domains with a _gl parameter in the URL.

To test it, click a link from one domain to the other and confirm _gl appears in the destination URL. Google names redirects that strip query strings, and scripts that block click events, as common reasons it fails.

Subdomains of the same domain (www. and shop.) don’t need this. Google’s unwanted referrals article says self-referrals from your own domains and subdomains are excluded automatically.

Campaign and source data

5. Inconsistent UTMs and case sensitivity

Google’s campaign URL guide is blunt: “Parameter values are case sensitive”, so utm_source=google and utm_source=Google are different values. The same page recommends one unique utm_source per platform, one utm_medium per channel, and lowercase as standard practice.

There’s a subtlety. Google’s default channel group definitions are not case sensitive, so Email and email may both land in the Email channel while still appearing as separate rows in any source or medium report. A medium like e-mail or newsletter is worse: it matches no channel rule and shows up as Unassigned.

Write a UTM naming convention with an approved list of sources and mediums that match GA4’s channel rules, and get everyone building links from the same template or tool. Our free UTM builder extension can enforce lowercase and approved values.

6. Ignoring (not set) landing pages and sources

Some (not set) is normal. A lot of it means something is broken. Google’s (not set) article lists the main causes.

  • Landing page (not set): the session has no page_view event. A frequent cause is someone returning to an open tab after the session timed out and interacting without reloading.
  • Source/medium (not set): the session has no session_start event. Google points to a Google tag that does not fire on the Initialization trigger in Tag Manager.
  • Consent mode set up wrongly: Google says using default for all consent values can stop the first events being sent, losing session_start. It recommends the update command when a user responds to the banner. Our Consent Mode v2 set-up tactic walks through it.
  • Google Ads (not set): accounts not linked, or auto-tagging off.
  • Incomplete or incorrect UTM parameters.

Build an exploration of landing page and session source/medium filtered to (not set), and look for patterns by device, browser or date. A sudden jump usually lines up with a site or tag release.

Reading reports correctly

7. Misreading thresholded data

A small warning icon next to suspiciously round or missing numbers usually means the report is thresholded. According to Google’s data thresholds article, GA4 withholds data so nobody can infer an individual’s identity, particularly in reports with demographics or search query data. You can’t change the thresholds.

Check the data quality indicator at the top of the report. Widening the date range can bring withheld rows back, Google suggests. Keep away from narrow demographic slices on low-traffic pages, and for precise work export raw events to BigQuery.

8. Too many, or the wrong, key events

GA4 now calls its conversions key events and keeps the word “conversions” for what you use in Google Ads. According to Google’s key events article, standard properties can mark up to 30 events as key events and 360 properties up to 50.

Teams tend to go wrong in two ways. One is marking everything: scrolls, video plays and page views as key events inflate your “key event rate” until it means nothing. Key events should be outcomes you would pay for, like purchases, qualified leads, sign-ups and trial starts. The other is importing the same action into Google Ads twice, once from GA4 and once from a Google Ads tag, with both set as primary. Bidding then optimises to double counts.

List your key events and cut them to the three to five that stand for real business outcomes. Then check which conversion actions in Google Ads are set as primary.

New traffic sources

9. Not separating AI assistant traffic

Visitors now arrive from ChatGPT, Gemini and other assistants, and for a long time GA4 lumped them into Referral. Since May 2026, Google’s default channel group includes an AI Assistant channel for sources such as ChatGPT, Gemini, Deepseek, Copilot and Grok. Search Engine Journal reported that matching sessions get the medium ai-assistant, and that Google has not published its full list of recognised referrers.

Those sources add some caveats. Google’s AI Overviews and AI Mode count as Organic Search, not AI Assistant. Visits with no referrer still land in Direct, so links copied out of assistant apps may be undercounted. And coverage of any given assistant isn’t guaranteed, so check your Referral report for assistant domains that haven’t been reclassified.

Read the AI Assistant channel next to Referral. If an assistant you care about still shows up as a referral, build a custom channel group for it. Our AI search visibility tactic covers how to earn more of this traffic in the first place.

These nine are settings. Tags, events and ad platform pixels can break in their own ways, and a tracking audit before scaling covers that fuller pass. A browser extension such as Pixel & Tag Checker shows what each page actually sends.

Questions people ask

Why does GA4 only show two months of data in explorations?

GA4's data retention setting controls how long user-level and event-level data is kept for explorations and funnel reports. Standard properties can choose 2 or 14 months. If yours is set to 2 months, older data drops out of explorations, although standard reports are not affected.

Why is my payment gateway showing up as a referral in GA4?

When customers return from an external payment page, GA4 can treat the gateway as a new traffic source. Add the gateway's domain to the unwanted referrals list in your web data stream settings so it stops taking credit for sales.

Why does GA4 show (not set) as a landing page?

According to Google, (not set) can appear as the landing page when a session has no page_view event. Common causes include sessions that restart after a timeout without a page reload, and consent or tag configurations that drop the start of a session.

Where does ChatGPT traffic appear in GA4?

Since May 2026, GA4's default channel group includes an AI Assistant channel for recognised assistants such as ChatGPT and Gemini. Google says AI Overviews and AI Mode stay in Organic Search, and visits with no referrer still land in Direct.

Sources

  • ga4
  • google-analytics
  • tracking
  • utm
  • data-quality

Get the next article

One email a week: the newest article, one practical growth tactic and any new free tools.

Free account

Create your free account

Keep lessons, quiz scores and your certificate in sync across devices. Lessons you already finished in this browser are added automatically.

At least 8 characters.

By continuing you agree to our terms and privacy policy. We store your name, email and course progress. Your account includes our newsletter with new lessons and tactics; unsubscribe from any email.

Cookie settings

Choose which cookies we may use. You can change this any time from “Cookie settings” at the bottom of every page.

Necessary

Sign-in, security checks and remembering this choice.

Always on

Cookie policy