How come Google Ads shows more, or fewer, sales than what's actually in your revenue figures? I've been asked that question a few times now.
A concrete example: Google Ads says the campaigns brought in ten sales. Your accounting, your backend or your CRM counts seven. Meta reports eight on its side. Meta and Google Ads together makes eighteen, and the backend says seven? Huh?
For people in the trade the explanation is fairly simple. For everyone else it's a bit harder. I'll try to keep it clear: every source is right. They just count differently.
First, some clarity.
What is a conversion?
A conversion can mean anything. Depending on your business, a primary conversion is usually a sale, a booking or a lead. For Google Analytics or Google Ads it's a submitted form, a confirmation page or a button.
Your CRM most likely counts actual orders, bookings or leads. In your CRM or backend I wouldn't call it a conversion at all. I'd call it what it is.
Why conversions differ from what your CRM reports
What is a conversion window, and which day does Google put the sale on?
Google Ads counts a sale up to thirty days after the click, by default at least. Someone clicks your ad on 20 September, orders on 3 October, and Google puts that order on 20 September. On the day of the click, not the day of the sale.
Your CRM simply books that order on 3 October.
That has two consequences. Your monthly report on 1 October doesn't yet show everything Google Ads contributed, because sales keep coming in from clicks made that month. And an order that comes in today may sit in September in Google. Compare your CRM figures for October with Google Ads for October, and they won't match by definition.
Google Ads does have "by conversion time" columns that put the sale on the day of the conversion instead of the day of the click. Useful next to your CRM. I wouldn't use them to judge campaigns.
Attribution model: last click versus data-driven
Inside Google Ads you choose how a sale gets divided. With last click the whole sale goes to the last keyword. With data-driven attribution, which Google now switches on by default, that same sale is split into pieces across the keywords that came before it. So you see 0.4 sales on one keyword and 0.6 on another. Your CRM doesn't know a 0.4 customer.
Between platforms it gets more confusing still. Google Ads and Meta each keep their own books, and each claims the sale for itself. Someone sees your ad on Instagram, searches for you on Google a week later, clicks and orders. Meta counts them. Google counts them. You have one order. Add up your platform reports and you'll always land above your real revenue. Always.
Consent
Cookie banners have been part of the web since 2018. Whoever declines is not measured by Google. Google partly fills that gap with modelling: an estimate of how many sales the unmeasured visitors would account for. That estimate stays an estimate. Your CRM simply counts everyone who paid, cookies or not.
That 50 percent or more of your visitors decline shouldn't surprise you. On top of that, some browsers delete cookies automatically after a few days, Safari after seven. The result is that you can't follow more than half of your visitors, which was different before the GDPR.
View-through conversions
View-through conversions are conversions that get counted without anyone actually clicking on an ad. The user only saw the ad and converted later, usually within a day of seeing it.
Say someone sees your ad on Facebook, googles your brand and then places an order on your website after clicking an organic Google result. Meta will count that as a conversion for its platform. Google Ads doesn't do this by default, but you can look at it there too.
There is something to be said for view-through conversions. I've been able to show a few times that a click isn't strictly necessary to contribute to real conversions.
Conversion tracking is not the same as a payment
Sometimes a confirmation page is treated as a conversion. I mean the page someone sees after placing an order or sending a contact form. The moment someone lands there, Google Ads counts a sale or a lead. But orders that never get paid land there too: the bank transfer that never arrives, the deposit that isn't made.
For bookings with a deposit this is the biggest gap of all. And in hospitality there's one more layer. Someone who books a stay with free cancellation until a certain date counts fully in Google on the day of the booking. If they cancel three weeks later, the booking simply stays in Google Ads. Technically you can send cancellations back to Google, but I know few businesses that do. Your CRM knows.
What's left
Returns, cancellations after payment, time zones and currencies add a few more percent. Small, but it explains the last cents.
Then there's an obvious one: bookings or orders through customer service, by phone or email. Those don't show up in your online analytics platforms either.
So which one do you trust?
Both, for different things.
Your CRM or your backend is what you use to judge your business. That's the real revenue, with the real payments and the real cancellations. No estimated customers, no half sales.
The platforms are what you use to judge your campaigns, inside that platform. Which keyword does better than the other, which ad, which audience. That's what they're good at, because inside their own walls they count everything the same way. As long as you don't compare Google with Meta, and neither with your accounts, you can steer on them just fine.
The problem starts when you take a decision with one number that belongs to the other. Raising your ad budget because Google says it pays off, while half of those "sales" are unpaid deposits. Or stopping a campaign because the CRM counts less than the platform, while the difference is just the conversion window.
How do you know what actually drives more or better conversions?
I already wrote an article on incremental value. But there are plenty of ways to find out what works and what doesn't.
For a number of clients I've linked the actual orders and bookings, the ones from the order system, to website traffic. Per order I then see the first source that brought that customer in, the last source before the order, and which pages they looked at in between. That works from the moment the link exists.
Thanks to that method I was able to work out for one client what share of sales came from new customers and what share from returning ones. Because we knew that, we could calculate the cost per acquisition properly, and actually lower the cost per order: existing customers we brought back at the right moment at no cost, instead of buying them again through ads.
To close. If you can bring everything under one hood, you have to doubt less about what works and what doesn't. You put all your numbers side by side, on the same order, and you see where the difference sits. Usually it's a combination of three or four causes from above, and usually a campaign's real contribution is smaller than the platform says and bigger than zero. Or maybe you're paying for campaigns to play it safe, while those customers would have landed on your website organically anyway. If you're in doubt, just get in touch.