Why don't Meta, Google Ads and Shopify agree on my purchases, and when is the gap worth fixing?
Short answer
Meta, Google Ads and Shopify count the same sales by different rules, so three different purchase numbers are often normal, not proof of broken tracking. As of October 2026, Meta's standard attribution can credit a purchase up to 7 days after an ad click or 1 day after an ad view, Google Ads dates it by the ad impression, and Shopify's marketing channel report gives each order to one channel by last non-direct click. Look closer when one platform alone reports more purchases than your store had orders, purchases arrive with no value, or counts jump or drop overnight.
For one month, a Shopify store shows three purchase counts: orders in Shopify, purchases in Meta Ads Manager and conversions in Google Ads. Many owners blame a broken pixel. Often wrongly: each system counts by its own rules, and the gap can run either way. This guide is part of the Shopify tracking topic; platform details are in the Meta Pixel & Conversions API and Google Ads conversions topics.
Why do Meta, Google Ads and Shopify show three different purchase numbers?
Shopify counts orders, and its marketing reports decide which channel gets credit. Meta and Google Ads count the purchases their own ads can claim. Attribution is that crediting rule.
The rules differ in three ways. The model: Shopify's Performance by marketing channel report defaults to last non-direct click, which gives 100% of the credit to the last channel a customer came through, not counting direct visits. The window: Meta gives an ad credit for a website purchase that follows a view or click of that ad within a chosen number of days. The date: in Google's words, "Google Ads reports conversions on the ad impression date. Other reporting tools attribute them to the conversion date."
So one order can be a Meta purchase, a Google Ads conversion and a Shopify order credited to only one of them, which is why the gap runs both ways.
How does each platform decide which purchase to count?
| Shopify marketing reports | Meta Ads Manager | Google Ads | |
|---|---|---|---|
| Counts | Online Store orders, credited by the model you pick | Purchases by people shown your ads | Conversions after this account's ad interactions |
| Default model | Last non-direct click | The ad set's attribution setting | Data-driven for most actions |
| Window | None; the first referrer resets after 30 days with no order | Standard: 1 or 7 days after a click, 1 day after a view | 30 days after a click unless changed |
| Date | Day the order was placed, in finance reports | Impression or conversion time, chosen in Ads Reporting | Ad impression date |
| Duplicates | One order is one order | Browser and server copies merge on event name and event ID | A repeated transaction ID (order number) in one action is dropped |
Data-driven attribution splits credit between ad interactions based on past data. For website actions, Google Ads counts every conversion after an ad interaction by default, so a shopper who buys twice within the window gives Google Ads two conversions, even if Shopify credits the second order elsewhere.
How big a gap is normal, and when does it mean broken tracking?
No help page cited here gives a normal gap size, so judge the pattern. Compare like with like: the same 28 days in every report, one time zone, Google Ads by conversion time.
| What you see | Verdict | Why |
|---|---|---|
| Meta plus Google Ads exceed your orders | Normal | Both can claim one sale |
| Shopify credits Meta with fewer orders than Ads Manager | Normal | Meta also credits ad views |
| Last week's Google Ads conversions keep rising | Normal | They can arrive up to 90 days after the click |
| One platform alone reports more purchases than all online orders | Warning sign | Can be a second tag sending the same purchase |
| Purchases with no value or the wrong currency | Warning sign | Check value and currency in the purchase event; one owner reported a Meta bug behind such a spike |
| Purchases double overnight while orders stay flat | Get help | A new app, pixel or tag may be sending copies |
| Purchases drop to near zero while orders hold | Get help | The purchase event may have stopped firing |
What gap does a tracking vendor call too big?
One vendor's numbers are rough, not rules. In a 2022 Shopify Community thread, a store owner called a 30% gap too high: Google Ads showed about 130 conversions for every 100 in Shopify. Analyzify, a tracking app, agreed: "We mostly observe 5% to 15% with the Analyzify clients." It also asked about cookie-consent apps blocking scripts.
How do I reconcile Shopify, Meta and Google Ads in 15 minutes?
You need view access to Shopify, Meta and Google Ads, no code. Use the last 28 full days everywhere.
- Count real orders. In Shopify, take online orders only: no point-of-sale, draft or test orders. Use one time zone in all three, as Meta's troubleshooting advises.
- Check Meta's tracking. Meta Events Manager lists the events your site sends to Meta. Open your Pixel's Purchase event: it includes unattributed events, so compare it with all orders. If the Conversions API (Meta's server-to-server connection) also sends purchases, compare browser and server counts one at a time, because the total is not deduplicated. If each sends every purchase, each should sit near your orders, not above.
- Check Meta's attribution. Ads Manager shows only purchases attributed to people shown your ads. Set its attribution columns to show click-through purchases (after a click) and view-through ones (after only seeing an ad) separately. Shopify credits the channels a shopper visited from, and Meta notes outside tools may struggle to credit ad views, so compare Shopify with the click-through column.
How do I check Google Ads and Shopify in the same pass?
- Check Google Ads for the same 28 days. Under Goals, Conversions, Summary, confirm that exactly one purchase action is Primary: Primary actions drive bidding and the main Conversions column. Its Count setting should be Every. Then add the Conversions (by conv. time) column, which Google suggests for lining up with other tools.
- Switch Shopify's model. In the Performance by marketing channel report, switch to any click, which gives full credit to every channel the customer clicked; Shopify suggests it for reconciling with each channel's reports.
- Set free listings aside. Free listings are unpaid product spots on Google; Merchant Center reports them as organic. Google Ads counts only conversions after its own ads, so a free-listing order with no ad click is not in Google Ads. Shopify's channel report splits each channel by traffic type, such as paid and organic, so compare Google Ads with Google's paid row.
Then put your orders and the larger of Meta's browser and server Purchase counts into the calculator.
What does a wrong gap cost in ad spend?
A wrong reading costs money both ways. First, a real duplicate. Smart Bidding, Google Ads' automated bidding, optimizes each auction for conversions or their value, using the Conversions column. Meta warns: "Without deduplication, you may see artificially high conversion numbers, which can mislead optimization and budget allocation decisions."
A made-up example: a store spends $3,000 a month on Google Ads and gets 60 real orders worth $5,400. An old tag still fires on 40 of them as a second primary conversion action. A transaction ID only removes repeats within one action, so Google Ads reports 100 purchases worth $9,000. Reported return on ad spend (revenue divided by spend) is 3.0. The real figure is 1.8, and Smart Bidding sees the 3.0.
Second, a false alarm. If the gap is only attribution rules, cutting Meta's budget because Shopify credits it with fewer orders, or paying for a repair, wastes money.
Has a gap moved real ad budgets?
Vendors report both causes, each about an unnamed client. Elite Brands, an agency, says duplicates made a Shopify store's Meta return look like 3.5, not about 1.7, as it scaled. Ruler Analytics says a store scaling Facebook on a reported return of 7–8 found roughly 40% over-crediting against backend orders, largely from attribution overlap; moving budget "improved overall margin without increasing total spend."
When are the built-in Shopify apps for Meta and Google enough?
For many stores, the built-in apps are enough. The Facebook & Instagram app on its Enhanced or Maximum data-sharing level sends purchases through the Meta Pixel and the Conversions API, a server-to-server connection that browser ad blockers can't block. Meta says partners such as Shopify handle deduplication parameters automatically. The Google & YouTube app creates a purchase conversion action in Google Ads and sets it as the account default. Google's pages differ on whether add to cart and checkout started become defaults too, so check that purchase is the only Primary action.
Leave the setup alone if all of these hold:
- one Meta sender, with no old Meta Pixel in the theme code;
- one Google sender, with no legacy Google Ads tags next to the app;
- each platform's purchases, by conversion time, sit at or below your online orders;
- every purchase carries a value in your currency;
- the gap stays steady from month to month.
Then the gap is most likely attribution rules, not a fault.
When is it worth paying for a fix, and what does it cost?
A fix pays off when one platform alone exceeds your orders, purchases arrive with no value or counts jump overnight. Layered tracking, such as the Google & YouTube app next to older tags, is another case: Google says it can count one action more than once.
Start with the free outside check: $0, no passwords, an answer within 1 business day. If it's only attribution rules, you hear that, with no quote. Where a price is a range, the exact fixed price comes in writing before any work:
| Service | Price | When it fits |
|---|---|---|
| Free outside check | $0 | Not sure there's a problem |
| Audit, view-only access | $0 | You want each platform's share of real orders |
| Meta Pixel + Conversions API fix | $300–400 | Meta alone exceeds your orders |
| GA4 e-commerce + Google Ads fix | $350 | Google Ads has duplicate or missing purchases |
| Both fixes, bought separately | $650–750 | Both platforms are off |
| Monitoring | $250 a month | Meta, GA4 and Google Ads checked against orders |
The audit counts toward a fix within 30 days. The full package adds Consent Mode v2, how Google tags respect cookie choices, to both fixes for $600. See all prices.
FAQ
Why does Meta show more purchases than Shopify?
Usually it's Meta's counting rules, not a broken Meta Pixel. Meta credits purchases within its window after a click or an ad view, and notes that outside tools may struggle to credit ad views. Shopify's default model also gives each order to one channel: if a shopper clicked a Meta ad and later a Google ad, Shopify credits Google. Look closer when one Meta source alone exceeds your online orders.
Does Google Ads count a purchase on the day of the sale?
Not in its default columns, which use the ad impression date. To line up with Shopify's order dates, add the Conversions (by conv. time) column, as Google suggests.
Should I change Shopify's attribution model?
Only in the report, when you compare platforms. Shopify offers five models, including any click and linear; other reports showing sales by channel start on last click. Any click credits more orders than you received, so Shopify suggests it for one channel at a time or for reconciling.
Sources (24)
- [1]
Shopify Help Center, Marketing reports (October 10, 2026)
- [2]
Meta Business Help Center, About actions attributed to your ad (October 10, 2026)
- [3]
Google Ads Help, Data discrepancies: Factors and troubleshooting (October 10, 2026)
- [4]
Meta Business Help Center, Differences between event counts in Meta Ads Manager, Ads Reporting and Events Manager (October 10, 2026)
- [5]
Google Ads Help, About attribution models (October 10, 2026)
- [6]
Meta Business Help Center, About attribution models and attribution settings (October 10, 2026)
- [7]
Google Ads Help, About conversion windows (October 10, 2026)
- [8]
Meta Business Help Center, Troubleshoot common reporting differences between Meta Ads Reporting and third-party reporting tools (October 10, 2026)
- [9]
Meta Business Help Center, About deduplication for Meta Pixel and Conversions API events (October 10, 2026)
- [10]
Google Ads Help, Use a transaction ID to minimize duplicate conversions (October 10, 2026)
- [11]
Google Ads Help, About conversion counting options (October 10, 2026)
- [12]
Meta Business Help Center, About conversion count differences between Meta Ads Reporting and third-party reporting tools (October 10, 2026)
- [13]
Google Merchant Center Help, How to avoid duplicated tracking events (Google & YouTube app on Shopify) (October 10, 2026)
- [14]
Google Merchant Center Help, Track your product performance (October 10, 2026)
- [15]
Google Ads Help, About Smart Bidding (October 10, 2026)
- [16]
Shopify Help Center, Facebook data sharing (October 10, 2026)
- [17]
Google Merchant Center Help, Understand the conversion actions tracked in Google Ads (October 10, 2026)
- [18]
Shopify Help Center, Meta pixel (October 10, 2026)
- [19]
Google Ads Help, Set up conversion tracking with the Google & YouTube app on Shopify (October 10, 2026)
- [20]
Shopify Help Center, Finance reports (accessed October 14, 2026)
- [21]
Shopify Community (user report), Anyone else experiencing 30% conversion discrepancy between Google Ads and Shopify Analytics? (February 6, 2022)
- [22]
Shopify Community (user report), 0 value purchase events are appearing against campaigns for our brand (February 20, 2025)
- [23]
Elite Brands, We Fixed a Brand's Meta Pixel Tracking: +20% ROAS Impact (May 26, 2026)
- [24]
Ruler Analytics, How Double-Counting Conversions in Ad Platforms Skews Your Budget Allocation (March 5, 2026)
Get the next change by email
A short email when a change can break your numbers: what changed, who it affects and what to check in 5 minutes.
