Google Ads, GA4 and your shop report different sales. Here is why.

Each tool counts a different thing, at a different moment, with a different view of the customer. Part of the gap is normal and will stay. The rest is usually a tracking problem, and it quietly trains your bidding on the wrong numbers.

Three numbers for the same month.

This is what we see in almost every company before we start:

Google Ads2,904 sales · counts by ad click date and credits itself
Meta2,311 sales · counts views and clicks in its own window
your shop1,987 orders · real orders, minus cancellations

None of these tools is lying. They answer different questions. The trouble starts when nobody can say which part of the gap is expected and which part is a leak. Then every meeting begins with the same question: which one is right?

Where the gaps come from.

Attribution: every ad platform gives itself credit for a sale that happened after one of its ads. If a customer clicked a Google ad and saw a Meta ad, both report the sale. GA4 shares the credit across channels, so it shows fewer per channel.

Timing: Google Ads reports a conversion on the day of the ad click, GA4 and the shop on the day of the purchase. A click on the 30th and an order on the 2nd land in different months.

Consent and browsers: visitors who decline cookies, use ad blockers or browse in Safari are partly invisible to GA4. Google Ads fills some of that gap with modeled conversions, the shop sees every order. Three tools, three different blind spots.

Implementation: the purchase tag fires twice when the thank-you page reloads, fires before the payment fails, or has no transaction ID to remove duplicates. Revenue is sent gross in one tool and net in another. These are not differences in method. These are leaks.

Returns: the shop subtracts cancellations and returns. The ad platforms never hear about them unless you tell them.

Which gaps are normal, and which cost you money.

normala stable gap between platforms and shop that you can explain by attribution and timing
red flagGoogle Ads reports more conversions than the shop has orders
red flagthe gap is very different from one market to the next
red flagthe gap jumps after a website release
red flagthe purchase event has no transaction ID

Why this matters: smart bidding optimizes on the number it sees. If Google Ads counts duplicates, it pays for customers it already had. If it misses a third of the sales in one market, it moves budget away from the market that actually sells. Nobody notices, because the dashboard still looks busy.

See in 30 seconds whether your purchase setup leaks.

How to get to one number everyone trusts.

The goal is not identical numbers in every tool. That will never happen, and anyone who promises it is guessing. The goal is a gap you can explain, that stays stable, and one agreed source of truth for every meeting.

reconcilematch one week of orders to platform conversions, order by order
fix the leaksduplicates, timing of the purchase event, net instead of gross value
agree on the truthfor each KPI, one source: the shop for revenue, the platforms for optimization
watch ita daily check of the gap per market, with an alert when it moves

Behind most stubborn gaps there is a missing measurement plan: nobody ever wrote down what a conversion is, where it is counted and who owns it.

From a client who brought us back.

“If you need analytics you can actually trust, Tom from Web Wombats is the person to call. I worked with him as an external partner at Medela and brought him back at Ypsomed because he delivers every time.”

Margarita Colombo, Associate Director Digital Marketing at Ypsomed, before that Global Digital Marketing Manager at Medela

Questions about conversion discrepancies.

Why does Google Ads show more conversions than GA4?

Google Ads credits itself for every conversion after an ad click within its conversion window, reports on the click date and adds modeled conversions for visitors without consent. GA4 shares credit across channels and counts on the session date. A difference of this kind is expected. Many more conversions in Google Ads than orders in your shop is not, and usually points to duplicates.

Why does GA4 show less revenue than our shop?

GA4 only sees visitors it is allowed and able to track. Declined cookies, ad blockers and browser limits remove part of the sessions, so GA4 revenue is usually lower than the shop. If the gap is large or changes from month to month, check that every order sends a purchase event with a transaction ID and the right value.

Which number should we report to management?

Revenue and orders from the shop or ERP, because that is money that actually arrived. Platform numbers are for steering campaigns inside each platform. Mixing the two in one report is where most arguments start.

Can server-side tracking close the gap?

Partly. Server-side tracking recovers sales lost to ad blockers and browser limits for visitors who consented, and it makes duplicates easier to control. It does not make visitors who declined cookies visible, and it should not.

How long does it take to find the cause?

The obvious leaks show up in a reconciliation of one week of orders. Finding the cause per market and fixing it properly is the first part of a tracking audit.

Keep reading