GA4 doesn’t match ads? (run this 4-step check)

· diagnoses mismatches in this exact order🌳 with a flowchart, not a lecture

Published September 10, 2026 · Updated September 14, 2026

The 60-second version

  • Most mismatches are four boring causes: broken tags, window mismatches, hidden small slices, different definitions.
  • Check in order: tag health first, then windows, then thresholds — accept definition gaps last.
  • The fix: the flowchart ends most arguments in under ten minutes.
bottom line: tags, windows, thresholds — in that order

Your GA4 dashboard reported ₹22.6 lakh in revenue for last week. Meta Ads claimed ₹31.4 lakh credited to its campaigns over the exact same days. Google Ads claimed another ₹18.9 lakh. Meanwhile, your warehouse database recorded ₹44.8 lakh in actual net sales.

Four numbers, one week, and your first reaction is to assume a tracking tag is broken.

Do not file a bug ticket yet. Roughly four out of five discrepancies between GA4 and ad platforms are caused by predictable differences in tagging, windows, sampling, or definitions. This 4-step decision tree tests each suspect in order—cheapest test first—so you can find real bugs quickly or prove the discrepancy is normal.


Step 1: Check whether your tracking tag is broken

Tagging is the only step where code is actually broken, so check it first. A broken tag has a telltale signature: a sudden step change on a specific calendar date, not a gradual or stable gap.

If GA4 has consistently reported 20% to 30% below your warehouse for months, your tag is working normally. Ad blockers, cookie consent rejections, and browser privacy features create a natural undercount. But if your capture ratio fell off a cliff on a single Tuesday, something broke in your website deployment.

Run this tag-health query to compare daily GA4 purchases against actual database orders:

Tag-Health Check: GA4 Events vs. Warehouse Orders

Your GA4-to-warehouse purchase capture ratio plunged from 0.85 to 0.50 on a single date. What should you investigate first?

If your capture ratio stays steady between 0.70 and 0.90, your tagging setup is healthy. Move to Step 2.


Step 2: Normalise lookback windows and view credit

If your tracking tags are working, the next suspect is the attribution window. GA4 defaults to a data-driven model across all channels with a 30-day lookback for user acquisition, while Meta defaults to 7-day click and 1-day view.

Three window differences cause most perceived mismatches:

  1. Lookback duration. A customer who clicked an ad 20 days ago and buys today is credited in GA4 and Google Ads, but has expired from Meta's 7-day click window. For higher-priced products where shoppers deliberate for weeks, lookback differences alone create a 15% to 25% gap.
  2. Click versus view-through credit. Meta's default reporting includes purchases that occurred after an ad impression without a click. GA4 attributes view-through impressions to direct or organic search unless you specifically model them. Always separate Meta's click-only revenue from view-through revenue before comparing it to GA4.
  3. Cross-channel credit sharing. GA4 divides credit fractionally among organic search, email, and paid ads. Meta awards 100% of the credit to itself. One ₹3,499 sale might appear as 0.5 conversions in GA4 and 1.0 conversions in Meta.

The 34% gap that was two windows, not a bug

Real audit example
Meta reported₹31.4L attributed7-day click + 1-day view
GA4 data-driven₹20.7L to paid socialFractional credit, view excluded
Meta click-only₹22.1LAfter separating view-through
Residual gap~6%Consent + ad blockers, completely normal
Separating out Meta's 1-day view-through revenue closed 75% of the discrepancy immediately. The remaining 6% was normal tracking undercount.

Step 3: Check whether small slices are hidden

Small slices of data hide unexpected traps. When looking at small numbers, GA4 applies data thresholding and report sampling:

  • Data thresholding hides small slices. To prevent advertisers from identifying individual users, Google Analytics suppresses rows in reports when visitor counts are low. If you break down conversions by a single creative on a single day in a specific city, GA4 quietly hides rows that have only 1 or 2 sales.
  • Explorations can sample heavy datasets. Standard GA4 reports use pre-aggregated tables, but custom Exploration tabs sample large datasets, creating slight numerical variations.

When diagnosing discrepancies, always aggregate to a weekly level and avoid making decisions on slices with fewer than 100 conversions. Slices under 100 events are dominated by thresholding and privacy noise rather than tracking errors.


Step 4: Accept different counting definitions

If your tags are intact, your windows are aligned, and your data slices are large enough, any remaining difference is not an error. It is a permanent difference in how systems define business events:

  • Counting rules differ. Google Ads allows you to count "every" transaction or "one" conversion per user; GA4 counts key events based on session rules. Repeat purchases will naturally show different totals across tools.
  • Attribution models differ. GA4 splits fractional credit across all touchpoints, while ad platforms credit full value to their own final click. Fractions and whole numbers cannot reconcile row-for-row.
  • Revenue definitions differ. One system records gross cart value before discounts, while another records net cash after customer refunds, sales taxes, and shipping fees.

Document your system's baseline gap—such as "GA4 paid social reports approximately 25% lower than Meta click revenue"—and stop re-investigating it each week.


The four-step check as a flowchart

Run this diagnostic checklist in sequence whenever a stakeholder asks why GA4 does not match ad manager figures:

Run the tree in order cheapest test first

  • Step 1 — Tagging: confirm capture ratio is stable at ≥0.7 with no sudden step change
  • Step 2 — Windows: split Meta click vs view-through and align lookback lengths
  • Step 3 — Slices: aggregate to weekly grain, use standard reports, and require ≥100 conversions
  • Step 4 — Definitions: document the residual gap and route each number to its intended job

GA4 vs. Ad Platform Decision Tree

Process Flow
1

Tagging: check capture ratio

Run the tag-health query. A stable ratio above 0.70 means collection is fine. A sudden drop signals a code release or consent banner change.

2

Windows: align lookback periods

Separate Meta click revenue from view impressions and align lookbacks. This step resolves most reporting gaps.

3

Slices: aggregate up

Check for hidden thresholded rows on low-volume cuts. Aggregate to weekly views with at least 100 conversions.

4

Definitions: document baseline

Acknowledge different counting rules and net revenue calculations. Record the baseline gap as your standard operating reality.

Route each number to its proper job:

  1. GA4: Use for website user journeys, navigation paths, and cross-channel landing behavior.
  2. Ad Platforms: Use for bidding, audience targeting, and creative testing inside each channel.
  3. Warehouse Database: Use for actual revenue, net cash, customer counts, and blended CAC.

Frequently asked questions

How big a gap is normal between GA4 and Meta?

There is no single universal percentage. Depending on your privacy consent settings, customer device mix, and consideration cycle, a 20% to 35% gap between GA4 and Meta is common. What matters is ratio stability. A stable 25% gap is a healthy system fingerprint; a gap that shifts 15 points in one week indicates a real change.

Should I switch GA4 to last-click attribution to match ad platforms?

No. Keep GA4 on data-driven attribution for your regular reporting so you can observe multi-touch customer journeys. Use the Model Comparison tool as a temporary diagnostic to see how much of a gap comes from fractional credit, but do not weaken your main analytics setup.

My capture ratio fell from 0.85 to 0.50 on a single date. What now?

A sudden step drop on a specific date indicates an engineering break. Check your code repository releases, Google Tag Manager container version history, and cookie consent banner updates for that calendar day. Most severe drops trace back to checkout redirects or misconfigured consent banners.

Can server-side tagging make GA4 match my warehouse perfectly?

Server-side tagging improves your capture ratio by bypassing ad blockers and Safari cookie expiration, but it cannot eliminate attribution window gaps, fractional modeling, or tax and shipping definitions. Expect a healthier capture ratio (around 0.85 to 0.95), not a 100% match.


Takeaways for your next report

  • Investigate discrepancies in order: tagging first, then windows, sampling, and definitions.
  • A healthy tracking tag maintains a stable capture ratio around 0.70 to 0.90 rather than a perfect 1.0.
  • Separate Meta view-through revenue from click revenue before making comparisons against GA4.
  • Small slices hide rows through thresholding; aggregate to weekly data with at least 100 conversions.
stick this on your Monday report

Related: how attribution windows shift numbers, how to track conversion lag, and how blended CAC measures true acquisition costs.

Free tool

Blended CAC Calculator

Total spend across every channel, divided by total new customers — the acquisition cost number that reconciles with what you actually spent.

Chinmay Raibagkar

Chinmay Raibagkar

About author →

Founder of DataLens AI. He helps non-technical teams read their ad and database numbers with confidence — which number to trust, what to do next, and what to ignore.

Glossary terms referenced