In short
Because the two systems are counting different things on different dates. Google Ads credits a conversion back to the day of the click that led to it, inside an attribution window that can stretch for weeks, and it includes modelled and cross-device conversions your order export cannot see. Your store counts orders on the day they were placed and knows nothing about clicks. Add duplicate tags, view-through credit and a conversion action that counts more than purchases, and the gap widens further. Some of it is expected, and some of it is a defect worth fixing.
Google reports on the click date, your store reports on the order date
This alone explains a large share of the difference in any month. When someone clicks an ad on the twenty-eighth and buys on the third of the following month, Google Ads puts that conversion in the first month, against the click. Your store puts the order in the second month.
Across a stable period the two roughly even out. Across a month where spend rose sharply, or the month after a big sale, they do not, and the ads account will show conversions that your bank statement has not caught up with. Any comparison made on calendar months without accounting for this will find a gap that is not really there.
The attribution window sets how far back Google will look. A longer click window catches more of the considered purchases and pushes more conversions into earlier days. Check what your conversion action is set to before you assume the difference is a tracking fault.
The fix is to compare like with like. Either pull Google Ads data by conversion date rather than by click date, which the interface supports, or reconcile on a period long enough for the shift to wash out.
Counting rules add conversions your order list will never contain
Three settings change the total without anything being broken. The first is the counting option: a conversion action set to count every conversion will record two orders from the same shopper as two, which is correct for purchases, while an action set that way for a non-purchase event can multiply quickly.
The second is view-through and engaged-view credit. On video and display inventory, Google can credit a conversion to an impression the person saw without clicking. That is a legitimate measure of a different thing, and it is not an order your store can attribute to an ad. Look at whether the surplus lives in campaigns that carry those placements.
The third is modelling. Where consent or browser restrictions prevent an observed conversion, Google estimates conversions it cannot see directly and reports them alongside observed ones. Those are not invented orders, they are an estimate of orders that did occur but could not be tied to a click, and they behave like real revenue in aggregate while never matching a single row in your order export.
Each of these is worth understanding rather than switching off. Turning off modelling does not create accuracy, it just moves the error to the other side.
Duplicate and misconfigured tags are the part that is actually broken
Start looking here when the surplus is large, sudden, or the same order appears twice. The most common cause on Shopify is more than one purchase tag on the same event: a native channel connection, a Tag Manager container and a leftover snippet in the theme all reporting the same order.
The second most common is a conversion action set up on the wrong event or on a page that reloads. A purchase action that fires on any view of the order status page will count the same order again every time the shopper refreshes or returns to that link from an email.
The third is multiple conversion actions all marked as primary. If a purchase and a begin checkout action are both counted in the conversions column, the total is not orders and the bidding is optimising towards the mixture.
Check it by taking a single day, pulling every conversion Google recorded, and comparing the count with the orders your store created that day plus the ones from clicks in the preceding days. If a single order identifier appears more than once, the problem is tags rather than attribution, and no reporting change will fix it.
A reconciliation you can run in an afternoon
Capture the click identifier with the order. Storing the Google click identifier on the order record, through a checkout attribute or a customer event, gives you the join that makes every other question answerable, because you can then look at each order and see whether an ad click preceded it.
Without that, use a coarser method. Pick a period of at least a month, pull Google Ads conversions by conversion date, pull store orders for the same period, and compare totals rather than individual rows. Then split the ads figure by campaign type to see how much of the surplus sits in placements that carry view-through credit.
Whatever the outcome, decide which number governs which decision. Store orders and store revenue govern profit, budget and stock. Google Ads conversions govern bidding, because that is the signal the bidding actually uses, and forcing it to match your accounting usually makes the bidding worse rather than better.
Write the expected gap down once you know it. A stable, explained difference is a working measurement setup. A gap that moves without a cause is the one to investigate.
Where a month's surplus came from
- Conversions reported by click date
- 486
- Same period counted by conversion date
- 441
- Store orders in the period
- 402
- Sitting in video and display placements
- 24
- Duplicated by a second purchase tag
- 15
- Remaining unexplained
- Zero, once both are removed
Illustrative figures showing the shape of a reconciliation. The value of splitting it this way is that each line points at a different action rather than a single verdict.
Related questions
Should I switch off view-through conversions?
You cannot remove them from the platform's own measurement, but you can report on click-based conversions separately and judge video and display campaigns on that basis. The better approach is to keep the data and test whether those placements produce incremental orders, rather than deleting the number.
Are modelled conversions real orders?
They are estimates of orders that happened but could not be observed, usually because consent or browser restrictions blocked the identifier. They are not invented sales, and they are also not rows you can match to your order export. Treat them as an aggregate estimate rather than a list.
Which number should I use to judge whether the account is profitable?
Your store's revenue and margin, compared with total ad spend across the same period. Platform conversion counts are built for bidding, not for accounting. Use them to steer campaigns and use your own books to decide whether the channel is worth the money.