Dashcrab

Attribution

Why do Google Ads and Meta Ads both claim the same sale?

Google Ads says 62 conversions, Meta says 58, your store says 84. Why ad platforms inflate their numbers, how big the gap usually is, and which numbers to trust when you set next month's budget.

End of the month. You open Google Ads: 62 conversions. You open Meta Ads Manager: 58. You open your store, or your CRM, or wherever leads actually land: 84 sales total. 62 plus 58 is 120. That's 36 sales nobody made.

This isn't a tracking bug, or at least it doesn't have to be. It's the normal behavior of two platforms that measure with their own rules and never talk to each other. This article covers why it happens, how big the gap tends to be, and which numbers are worth looking at when you have to decide where the budget goes next month.

Each platform only sees its own slice of the journey

Someone sees your ad on Instagram on a Tuesday, clicks, looks at three products and leaves. On Thursday they search your brand name on Google, click the Search ad and buy.

To Meta, that sale is Meta's: there was a click, and the purchase happened inside the seven-day window. To Google, that sale is Google's: there was a click on the ad and the purchase happened in the same session. Both are right from where they sit, and both record the full sale. Not half of it. All of it.

The reason is simple. Meta can't see the Google search, and Google can't see the Instagram click. Each platform reports on what it can observe, and within what it can observe, its own ad was the last touch, or the only one. There is no shared "last interaction" between the two. There is one per platform.

View-through makes it worse. If that person never clicked on Instagram at all, just scrolled past the ad and bought the same day through Google, Meta still counts it.

Each platform's rules, and why you can't add them up

It helps to know what ruler each platform uses, because they are not the same ruler.

What triggers attributionMetaGoogle Ads
A click7 days after a link click30 days after a click, adjustable up to 90
An engagement without a click1 day (engage-through)3 days of engaged view for video
Just seeing the ad1 day, no interaction at all1 day of view-through on Display and YouTube

These are the defaults for website conversions as of September 2026. Meta's engage-through is a like, a comment, a save or watching a video for more than five seconds: Meta split it off from click attribution in March 2026, and before that any click on the ad counted as a click. Google's windows are in its conversion windows documentation.

On Search almost everything is a click, which is why Google usually feels like the more honest of the two reports. It is. But it has a different problem: Search captures demand that some other channel created. Brand campaigns are the clearest case. Someone discovers your product through a Reel, later types your name into Google, and comes in through the paid result. Google reports a huge ROAS on that campaign, and a good share of those sales would have come in anyway through the organic result sitting right underneath.

On top of that, both platforms use modeled conversions. Since iOS 14.5 in April 2021, when a user opts out of tracking, Meta statistically estimates a portion of the conversions it can no longer see. Google does something similar with Consent Mode. So you have two reports that mix observed data with estimates, with different windows and different definitions of what counts as a "touch." Adding them together doesn't give you "all conversions." It gives you a number that doesn't mean anything.

How much inflation, in practice

There's no universal percentage, and I'd be suspicious of anyone who gives you one. But there are reference points that help calibrate.

0.6
Incrementality factor in Haus's Meta example
29.6 → 3
Brand Search ROAS, platform vs incremental (Sellforte, demo data)
≈ 0
Incremental effect of paid brand search at eBay, 2015

Haus, which runs incrementality tests, uses a typical example: a brand spends $10,000 on Meta, the platform reports 100 conversions, and the controlled test shows 60 of them are incremental. Forty out of every hundred attributed sales would have happened anyway. They call that ratio the incrementality factor, and in this case it's 0.6.

Sellforte, using demo data, shows the extreme case on the other side: a branded Search campaign with a platform ROAS of 29.57 and an incremental ROAS of 3.02. Nearly ten times lower. And in the same dataset, YouTube reports a platform ROAS of 0.74 against 5.17 incremental, because most of what a video does happens outside anything the platform can track.

The most cited case is still eBay's, from 2015. They switched off brand search ads in the US, and almost all the traffic they lost came back through the organic result. The incremental effect of paying for your own name was close to zero.

So the inflation doesn't all point the same way. Bottom-of-funnel channels (brand search, retargeting) tend to claim a lot more than they cause. Top-of-funnel channels (video, reach) sometimes claim less. If you split the budget according to what each platform reports, you end up taking money away from the channel that creates demand and handing it to the one that collects it.

GA4 is not the referee, even if it looks like one

The usual answer is "check GA4, it sees everything." It sees more. Not everything.

GA4 records the Meta click (if the UTM is set properly) and the Google click (through the gclid), and with data-driven attribution it splits the credit between them instead of handing the whole sale to each. Since late 2023 only two models are left: data-driven and last click. First click, linear, time decay and position-based are gone.

But GA4 has its own holes. It doesn't see impressions, so Meta's view-through conversions simply don't exist for it. It loses users who reject cookies. It counts the conversion on the day it happens, while Google Ads counts it on the day of the click, so monthly totals never reconcile between the two even when they're measuring the same thing. And data-driven attribution is a black box: it splits credit on a basis you can't audit.

It's useful as a third opinion, mostly to confirm that two platforms are stepping on each other. It isn't a referee.

What to look at when you set the budget

Five things, in order.

1. The real total, first. Sales or leads from the source that actually gets paid: your store, your CRM, your booking system. That number is the ceiling. If the platforms add up to more than that, the difference is overlap, not growth. In the example at the top, the ceiling is 84 and the platforms report 120.

2. Blended efficiency. Total revenue divided by total ad spend, every channel together. Some people call it MER. It moves more slowly than platform ROAS and won't tell you which campaign to fix, but it doesn't lie. If you raise Meta spend 30% and this number doesn't move, you've learned something no Meta report was ever going to tell you.

3. Platform ROAS only for comparisons inside the platform. A 4x ROAS on Meta against a 6x on Google says nothing, because they're measured with different rulers. It does work for comparing two Meta campaigns against each other, or two Google ad groups.

4. Match the windows before you compare. Set Meta to 7-day click only, no view-through, and Google to 7-day click. It won't remove the overlap, but it shrinks it, and at least you stop comparing 7 days against 30.

5. Turn something off and watch. It's the cheapest incrementality test there is. Pause a channel, or a brand campaign, or one region, for two or three weeks, and watch the real total. If sales hold, that channel was billing you for demand that already existed. If they drop, you now have a measure of what it actually contributed. Meta offers Conversion Lift tests with a control group and Google has geo experiments, but for a small team a clean, well-documented pause already tells you a lot. Mind the seasonality: don't pause your brand campaign the week of Black Friday and draw conclusions.

On tracking: yes, you should have consistent UTMs, Meta's Conversions API and Google's enhanced conversions. But be clear about what that fixes and what it doesn't. Better tracking makes each platform count its own conversions more accurately. It doesn't stop them from counting the same ones.

To see the real total next to what each platform reports without building the spreadsheet, Dashcrab brings your store, your CRM and your ad accounts into one dashboard. And if you want the full journey, Dashcrab Attribution splits each sale across the channels that drove it, without counting it twice.


Attribution windows follow Meta's and Google Ads' documentation as of September 2026, and every account can change them. Haus's numbers are an illustrative example and Sellforte's are demo data, not customer results.

Frequently asked questions

Why do Google Ads and Meta add up to more than my real sales?

Because each platform only sees its own ads and records the full sale if there was a click or a view inside its window. If someone went through Instagram and then Google before buying, both keep the whole sale. Neither one deduplicates against the other, so the total counts the same purchase twice.

What is the default attribution window for Meta and Google Ads?

By default Meta counts 7 days after a link click, 1 day after an engagement such as a like or a save, and 1 day after simply seeing the ad. Google Ads counts 30 days after a click, adjustable up to 90, 3 days of engaged view for video and 1 day of view-through. These are the values as of September 2026, and every account can change them.

Does GA4 show the real number of conversions?

It shows more than each platform on its own, but not everything. It splits credit across the clicks it records, doesn't see impressions, loses people who reject cookies and counts the conversion on the day it happens, not the day of the click. It works as a third opinion, not as a referee.

Which number should I use to set the budget?

First the real total from the source that gets paid: your store, your CRM or your booking system. Then blended efficiency, which is total revenue divided by total ad spend. Each platform's ROAS is useful for comparing campaigns inside that same platform, not for comparing one platform against another.

How do I know if a channel drives sales or just claims them?

Turn it off and watch. Pause a channel, a brand campaign or one region for two or three weeks and look at the real total. If sales hold, that channel was billing you for demand that already existed. If they drop, you have a measure of what it contributed, as long as the test doesn't overlap a strong seasonal date.

Does better tracking fix double counting?

No. Consistent UTMs, Meta's Conversions API and Google's enhanced conversions make each platform count its own conversions more accurately, but they don't stop them from counting the same sale. For that you need to look at the full journey from outside the platforms.