Performance Marketing
Why don't ad platform sales match GA4?

In short
Ad platform and GA4 sales numbers do not match because of different attribution rules, different time windows, view-through conversions, reporting date differences and data lost to consent choices or browsers. Some gap is normal. The right approach is to compare every tool with real orders in your store admin and set an acceptable range of variance for each.
Contents
- Why don't ad platform sales match GA4?
- What are the main causes of the gap?
- Why is attribution the biggest factor?
- When does the reporting date matter?
- Why does GA4 show fewer sales?
- Which gaps are normal and which are errors?
- How do you reconcile the numbers step by step?
- Example: one month's reconciliation table
- What can you do to shrink the gap?
- Key takeaways
Why don't ad platform sales match GA4?
Ad platforms and GA4 report different sales numbers because each answers a different question: Meta and Google Ads count the impact of their own ads under their own rules, while GA4 splits credit across all channels. Time windows, view-through conversions, reporting dates and consent-related data loss widen the gap. Some difference is normal; the real job is telling normal gaps from errors.
The typical picture: Meta shows 420 purchases, Google Ads shows 380, GA4 credits those two channels with 450 combined, and the store admin shows 900 orders for the month. Which is right? Each may be right by its own definition. What matters is knowing the definitions.
What are the main causes of the gap?
| Cause | Ad platform | GA4 | Effect |
|---|---|---|---|
| Attribution | Credits its own ads | Splits credit across channels | Platform totals can exceed real sales |
| Time window | Meta: 1 or 7-day click, 1-day view; Google Ads: per conversion action | Default 90-day lookback for purchases | Same sale can land in different channels |
| View-through | Meta can count post-impression conversions | Click and session based | Meta high, GA4 low |
| Reporting date | Google Ads uses the click date | GA4 uses the conversion date | Gaps at day and month boundaries |
| Data loss | Partly recovered via server-side integrations | Affected by declined cookies and blockers | GA4 can look lower |
Why is attribution the biggest factor?
Under its standard attribution setting, Meta counts events within 1 or 7 days after a link click, and can also count events within 1 day after an impression and within 1 day after a non-link engagement. Google Ads works with its own conversion window and attribution model. If a customer saw an Instagram ad and the next day searched for your brand on Google and bought, the sale can appear in both Meta and Google Ads. GA4 assigns it to one channel or splits it according to its model.
That is why adding up platform sales and comparing with real revenue is misleading. The total often exceeds actual orders.
When does the reporting date matter?
According to Google Ads help content, Google Ads records a conversion on the date of the ad click, while Google Analytics records it on the date the conversion happened. A customer who clicks on 31 January and buys on 2 February is a January sale in Google Ads and a February sale in GA4. The gap shows up clearly in daily reports and month-end closes. Google Ads conversion counting can also be set to "Every" or "One"; with "One", a second purchase from the same click is not counted.
Why does GA4 show fewer sales?
The most common reason is measurement loss. When a user declines cookie consent, tags do not write cookies; advanced Consent Mode fills part of the gap with modeling, but not all of it. Ad blockers, browser restrictions and in-app browsers also make GA4 lose sessions or attribute them to the wrong channel. Meta can receive events from your server through the Conversions API, so it may be less affected by these losses.
A note on terms: what GA4 used to call "conversions" are now "key events". "Conversion" now refers to actions used in Google Ads to measure campaign performance and optimize bidding. Make sure you are comparing the same definition.
Which gaps are normal and which are errors?
There is no fixed threshold, because the gap depends on your channel mix, consent rate and purchase cycle. These signals, however, usually point to an error:
- More platform sales than store orders: If a single ad platform reports more purchases than total store orders for the same period, events are most likely double counted. This happens when the pixel and Conversions API run together without deduplication.
- A sudden break: If the gap was stable for months and changed overnight, look for a technical event such as a theme update, checkout change or tag error.
- Value mismatch: If purchase counts are close but revenue differs a lot, value definitions differ: currency, VAT or shipping included or not.
- High Unassigned or Direct: If these channels are large in GA4, UTMs and auto-tagging are not working properly.
How do you reconcile the numbers step by step?
- Pick the source of truth. For order count and revenue, your store admin or accounting system is the only true source.
- Align definitions. Same date range, same time zone, same currency and the same revenue definition (VAT and shipping included or not).
- Calculate the capture rate. Divide GA4's total purchases by store orders. This shows how many orders GA4 sees; track it monthly.
- Check deduplication. In Meta Events Manager, confirm that pixel and server events match on the same event_id.
- Document attribution settings. Write down the windows used by Meta ad sets and Google Ads conversion actions, and do not compare campaigns with different settings in one table.
- Add a cross-channel metric. Track total revenue divided by total ad spend as an efficiency ratio that does not depend on attribution.
- Set an acceptable variance range. Use a few months of history to define the normal gap for each tool, and alert when it moves outside that range.
Example: one month's reconciliation table
As an example, an accessories brand's numbers for one month:
| Source | Purchases | Revenue | Share of store |
|---|---|---|---|
| Store admin (truth) | 900 | 1,350,000 TRY | 100% |
| GA4 (all channels) | 790 | 1,190,000 TRY | 88% |
| Meta (7-day click, 1-day view) | 420 | 610,000 TRY | - |
| Google Ads | 380 | 560,000 TRY | - |
| Meta + Google Ads combined | 800 | 1,170,000 TRY | Paid alone nearly equals the whole store |
Here GA4 captures about 88% of orders. Meta and Google Ads combined almost equal the entire store, even though sales are known to come from organic search, email and direct traffic too. That suggests the two platforms are jointly claiming part of the same sales. Decisions should rely on trends and cross-channel efficiency rather than raw platform numbers.
What can you do to shrink the gap?
- Server-side events: Meta Conversions API and Google's enhanced conversions reduce browser-related losses. See our server-side tracking guide for details.
- A correct GA4 setup: Confirm the purchase event fires once per order with value and currency. The steps are in our GA4 ecommerce tracking guide.
- Consent Mode: Passing consent choices to tags correctly supports both compliance and modeling.
- Tagging discipline: Consistent UTMs on every campaign link and auto-tagging in Google Ads.
These steps shrink the gap but never remove it. Instead of aiming for zero difference, aim for a gap that is stable and explainable.
Key takeaways
- Ad platforms credit their own ads while GA4 splits credit across channels, so the numbers never match exactly.
- Time windows, view-through conversions and reporting dates widen the gap.
- Your store admin is the source of truth; calibrate every tool against it.
- More platform sales than store orders, sudden breaks and value mismatches are error signals.
- Shrink the gap with server-side tracking, a correct GA4 setup and tagging discipline, and keep it stable.
If you want to see how much of the gap between your ad platforms, GA4 and store data is normal, the Performetic team can review your measurement setup in a free growth analysis.
Frequently asked questions
Why does Meta show more sales than GA4?
Meta can credit its own ads with conversions within 1 or 7 days after a click and within 1 day after an impression. GA4 splits credit across all channels and does not count view-through conversions the way Meta does. Declined cookies also hit GA4 harder, while Meta can receive server events through the Conversions API.
How much difference between GA4 and my store is normal?
There is no universal rate; it depends on your consent rate, browsers and setup quality. Divide GA4 purchases by store orders and track that capture rate for a few months. A stable rate is fine; sudden drops or values above 100% point to a technical error.
Why do Google Ads and GA4 show the same campaign's sales on different days?
Google Ads records a conversion on the date of the ad click, while GA4 records it on the date of the purchase. If a customer clicks on the last day of a month and buys the next month, the sale lands in different months in the two tools. The gap is most visible in daily reports and month-end closes.
Which number should I use for budget decisions?
Platform data is fine for daily campaign and creative optimization because the algorithms learn from it. For total budget decisions, a cross-channel ratio of real store revenue to total spend, and controlled incrementality tests where possible, provide a more reliable basis.
Sources
- About attribution models and attribution settings (Meta Business Help Center)
- Create conversions from Google Analytics events in Google Ads (Google Ads Help)
- Conversions vs. key events in Google Analytics (Google Analytics Help)
- Select attribution settings (Google Analytics Help)
- Consent mode overview (Google for Developers)