AdPix Blog

GA4 data discrepancies: why your numbers differ and how to reconcile them

GA4 data discrepancies explained: eight causes, why Google Ads clicks never match sessions, and a 30-day side-by-side plan to tell a definition gap from a bug.

10 min read

Key takeaways

  • Two analytics tools never report identical numbers. Session rules, bot filtering, consent, blocked tags, processing delays, sampling, time zones and referral settings each move the count in a known direction.
  • A gap that stays at the same percentage week after week is a definition difference. A gap that jumps in one week is a tracking problem, and that is the one worth your time.
  • Compare the most countable metrics first: page views, then events, then conversions against your order database. Leave users and sessions for last, because every tool defines them differently.
  • Google Ads clicks and GA4 sessions measure different things. Google lists invalid-click filtering, repeat clicks, returning users, bookmarks, stripped GCLIDs and slow pages as normal reasons they differ.
  • Pick one source of truth per metric before the comparison starts: your backend for orders and revenue, the ad platform for spend and clicks, analytics for behavior and paths.

GA4 data discrepancies are normal: two analytics tools never count the same traffic identically, and GA4 will not match your ad platforms or your order database either. The differences come from about eight known causes, including how sessions are defined, which bots are filtered, how declined consent is handled and which tags get blocked. What matters is whether the gap is stable. A steady gap is a definition difference you can live with; a gap that moves from one week to the next means something in your tracking broke.

Data discrepancy is the difference between two systems’ counts of what should be the same thing, such as page views in two analytics tools or purchases in an analytics tool and in the store’s backend. It is usually expressed as a percentage of the number you treat as the reference.

Why do GA4 numbers differ from other analytics tools?

GA4 and any second tool disagree because they make different choices at every step between a visitor’s browser and your report. Some choices remove traffic, some split or merge it, and some only shift it between days or channels. Knowing which direction each cause pushes tells you where to look.

Cause What GA4 does Metrics it moves How to check
Session rules A session ends after 30 minutes of inactivity by default; the timeout can be raised to 7 hours 55 minutes Sessions, engagement rate Compare the timeout setting in both tools
Bot filtering Known bots are excluded automatically; you cannot switch it off or see how many were removed Page views, sessions, users Compare a page bots rarely reach, such as the thank-you page
Consent Without consent, behavior can be modeled for eligible properties under the Blended identity Users, sessions Check the reporting identity and your banner’s accept rate
Blocked or late tags A tag that never loads sends nothing Everything, unevenly by browser Compare by browser and device
Processing delay Data can take 24 to 48 hours to settle Recent days Compare only days older than 3 days
Sampling and thresholds Large explorations may be sampled; small rows may be withheld Segments, long date ranges Read the data quality icon
Time zone Days are cut in the property’s time zone Daily totals Set both tools to the same zone
Referral settings Unwanted referrals are ignored as traffic sources Channel split Compare your exclusion lists

Bot filtering is a good example of how invisible these choices are. Google says known bots are identified “using a combination of Google research and the International Spiders and Bots List” and that “you cannot disable known bot traffic exclusion or see how much known bot traffic was excluded.” A second tool with a different list, or none, will count more page views, and neither report tells you how many.

Consent is the other large one. Google’s behavioral modeling “uses machine learning to model the behavior of users who decline analytics cookies,” but only for properties with at least 1,000 events a day with analytics storage denied for 7 days, and at least 1,000 daily users who granted consent on 7 of the previous 28 days. A small site never qualifies, so declined visits simply disappear from its GA4 users. A large site may see modeled users that no other tool has.

Which metrics should you compare first?

Start with the metric both tools define the same way and move toward the ones they define differently. Page views are the simplest thing any tag counts. Users are the hardest, because each tool identifies people with its own cookies, IDs and modeling.

  1. Page views on a few key pages. Home page, a category page, the checkout page. If these disagree a lot, the tags are not installed the same way, and nothing further down the list is worth comparing yet.
  2. Specific events. Add to cart, form submit, sign-up. Both tools should fire them on the same trigger.
  3. Conversions against your backend. Purchases or leads in each tool divided by the count in your order database or CRM. This is the only comparison with a real ground truth.
  4. Sessions by channel. Expect gaps here from session rules, referral settings and attribution.
  5. Users. GA4 shows active users in reports, which Google defines as users who “engaged with your site or app,” while total users counts anyone who “triggered any event.” Another tool may count every visitor. Treat this comparison as the least informative.

Write the metric definitions down before you look at numbers. Comparing a tool’s “visitors” to GA4’s active users and calling the gap a discrepancy is the most common mistake in these tests.

How do you run a 30-day side-by-side comparison?

Run both tags on every page for at least 30 days, compare settled data weekly, and judge the gaps by their stability rather than their size. Two weeks set the baseline; the remaining weeks show whether it holds.

Before day one:

  • Install the second tag on every template, including checkout and thank-you pages. A tag manager container makes this one change instead of many.
  • Set both tools to the same time zone and currency.
  • Give conversions identical names and triggers in both tools.
  • Tag every campaign link with the same UTM scheme. Mixed casing such as Instagram and instagram becomes two sources in most tools.
UTM link builderTag campaign links so every click is credited to the right channel.Try it free

Each week: pull the same date range, ending at least three days ago, from both tools and from your backend. Record each metric and the gap as a percentage. A spreadsheet with one row per week and one column per metric is enough.

A worked example

A hypothetical online store runs GA4 and a second analytics tool side by side for four weeks. The backend records 300, 310, 290 and 300 orders, 1,200 in total.

Week Backend orders GA4 purchases GA4 share Second tool purchases Second tool share Page view gap (GA4 vs second tool)
1 300 261 87.0% 255 85.0% −5.8%
2 310 270 87.1% 264 85.2% −6.1%
3 290 203 70.0% 252 86.9% −6.3%
4 300 261 87.0% 255 85.0% −5.9%
Total 1,200 995 82.9% 1,026 85.5%

Read it in two passes. The page view gap stays between −5.8% and −6.3% every week, so it is a stable definition or filtering difference and needs no fix. The purchase share is the interesting part. GA4 captures 87% of backend orders in weeks 1, 2 and 4 and 70% in week 3 (203 ÷ 290), while the second tool stays near 85% throughout. One tool moved on its own, which points at a GA4-specific change that week, such as a checkout redesign that dropped the purchase tag. In week 4 the share returns to 87%, so the fix worked.

Notice what the totals hide. Over the full month GA4 caught 82.9% of orders and the second tool 85.5%, which could be read as “the second tool is more accurate.” It is not: in three normal weeks GA4 caught slightly more. The weekly view shows a three-day bug, while the monthly view would have produced a wrong conclusion about the tools.

Why don’t Google Ads clicks match GA4 sessions?

Google Ads counts clicks on ads and GA4 counts sessions on your site, so they were never meant to match. Google’s troubleshooting page lists the usual reasons, and most of them are not errors.

  • Invalid clicks. “Google Ads filters out invalid clicks, while Google Analytics initially reports all sessions before potential filtering.”
  • Repeat clicks. “A user might click your ad multiple times in a short period,” which is several clicks and one session.
  • Returning users. People who come back during the campaign can add sessions without new clicks.
  • Bookmarks. A bookmarked landing page URL with its click ID records sessions with no click.
  • Slow pages. A visitor who leaves before the tag runs is a click with no session.
  • Technical issues. “GCLID stripping, incorrect tag implementation, or session ID changes on the website.”

Conversions differ by date as well as by count. Google Ads “attributes conversions to the date of the ad click,” while GA4 reports the conversion event on the day it occurs. A purchase on Monday from a click the previous Friday lands in two different weeks.

If clicks and sessions diverge sharply for one campaign only, check its landing page first: a redirect that drops the query string removes both the click ID and the UTM tags.

Which number should you trust?

Trust the system that owns the event. Your backend owns orders and revenue, the ad platform owns spend, impressions and clicks, and the analytics tool owns behavior: which pages, paths and channels led to the orders. Decide this before the comparison, so nobody argues later about which tool is “right.”

Question Source of truth Why
How many orders, how much revenue? Backend or payment system It records every paid order, with or without consent or a tag
What did ads cost, how many clicks? Ad platform It bills you on its own counts
Which channel and campaign drove orders? Analytics tool It sees the visit before the order
Where do visitors drop off? Analytics tool Only the tag sees page-by-page behavior
Did a campaign cause extra sales? A lift test Neither click counts nor attribution answer it

Then use the analytics tool for proportions, not totals. If an analytics tool captures a stable 87% of backend orders, its split of those orders by channel is still useful, and you can report revenue from the backend and channel shares from analytics. Our website tracking guide shows how to plan events and purchase fields so that share stays high.

When is a discrepancy a real problem?

A discrepancy is a real problem when it changes suddenly, when it affects one page, browser or channel far more than others, or when it changes a decision. A stable 6% gap in page views changes nothing. A conversion rate that is 2% in one tool and 3% in the other changes which campaign gets the budget.

Work through the usual suspects in this order:

  1. Tag coverage. Is the tag on every template, especially checkout and pages built by a different team or plugin?
  2. Duplicate firing. A tag installed both in code and in a tag manager doubles page views in one tool only.
  3. Redirects and parameters. Does any redirect drop UTM tags or click IDs?
  4. Sampling and thresholds. Is the GA4 number from a sampled exploration? Our guide to GA4 data sampling explains the 10 million event quota and how to spot it.
  5. Late data. Did you compare days that had not finished processing? Google says GA4 “ignores events that arrive more than 2 calendar days, plus today” late.

If the comparison is part of choosing a replacement for GA4, add your own criteria to the gap check: which reports your team opened, which ones were missing, and how much work the setup took. The Google Analytics alternative guide gives a decision table for that choice, and the Matomo vs Google Analytics comparison covers the self-hosted option.

Where does AdPix fit in a side-by-side test?

AdPix runs alongside Google Analytics without interfering, so it can be the second tool in exactly this kind of test. AdPix is a web analytics platform that replaces Google Analytics 4: realtime, acquisition, engagement, conversion and e-commerce reports, plus attribution, lift testing and marketing mix modelling, with no data sampling and a free plan.

For the comparison itself, three facts matter. Install takes adding the AdPix code or importing a GTM container, so the second tag can go live on every page in one change. AdPix reports are not sampled, which removes one of the eight causes from the table above. And the Free plan includes 100,000 events a month with 30 days of raw data, which suits a small site’s 30-day test; a busier site should check its monthly event count first, since Starter raises the limit to 1 million events.

Two features from the Starter plan up are relevant to discrepancies specifically: invalid traffic detection, for teams that suspect bots or click fraud behind a gap, and built-in consent management, so the consent banner and the measurement come from the same product. The AdPix features overview lists what each plan includes. AdPix data is hosted in Iran; readers elsewhere should check their own legal requirements on data location before adding any second tool.

Before you remove anything, keep a copy of your history. The guide to exporting GA4 data covers report downloads, the Data API and BigQuery, and lists what cannot be recovered later.

Start this week: write down the five metrics you will compare and their source of truth, put the same UTM scheme on next week’s campaigns, and record your first settled week as the baseline.

UTM link builder

Tag campaign links so every click is credited to the right channel. The free plan covers 100,000 events a month, no credit card. Setup takes under five minutes.

Frequently asked questions

Why does GA4 show different numbers from my other analytics tool?

Because each tool defines sessions and users its own way, filters bots differently, loses a different share of visits to consent choices and blocked scripts, and may use another time zone or processing delay. A steady percentage gap is normal; a gap that suddenly changes points to a tagging problem.

How big a discrepancy between GA4 and another tool is normal?

Google's help pages on sessions, bots and consent give no acceptable range, and the size depends on your audience, consent setup and tag placement. Measure your own baseline over two clean weeks, then investigate any week where the gap moves well outside it.

Why don't Google Ads clicks match GA4 sessions?

Google Ads filters invalid clicks and counts every click, while GA4 counts sessions on your site. Repeat clicks, returning visitors, bookmarked ad URLs, stripped GCLID parameters and visitors who leave before the tag loads all make the two numbers differ.

Should I trust GA4 or my backend for orders?

Trust your backend or payment system for the number of orders and revenue. Use GA4 or any analytics tool for which channels, pages and journeys led to those orders, and track what share of backend orders the analytics tool captures.

How long does GA4 take to finalize data?

Google says data processing can take 24 to 48 hours, and reports may change during that time. GA4 also ignores events that arrive more than two calendar days late, so compare tools only on days that have fully settled.

Sources and methodology

GA4 and Google Ads behavior comes from the Google help pages listed in sources, read on 6 November 2026. The store in the worked example and all of its numbers are hypothetical; the second tool in the example is unnamed on purpose and does not describe AdPix or any real product. Gap percentages are simple ratios computed in this article. AdPix facts come from adpix.io.

  1. Google Analytics Help: Session
  2. Google Analytics Help: Known bot-traffic exclusion
  3. Google Analytics Help: [GA4] Behavioral modeling for consent mode
  4. Google Analytics Help: Data freshness
  5. Google Ads Help: Clicks and sessions discrepancy for Google Ads and Google Analytics
  6. Google Analytics Help: [GA4] Understand user metrics
  7. Google Analytics Help: Identify unwanted referrals
  8. Google Analytics Help: About data sampling

This article was drafted with AI assistance and reviewed by the AdPix team before publishing. Editorial policy

About the authorFounder, AdPix · Builder of AdPix

Founder of AdPix, the web analytics platform built for Iranian teams. Every article on this blog is reviewed by the founder before it is published.

Web analyticsAttributionCampaign measurement

Analyze your data, decide with more confidence

With AdPix, analyze campaign performance and grow in step with your business needs.