Attribution
Meta Reporting More Purchases or Revenue Than Shopify? Seven Causes, One Week Reconciled
Meta reports more purchases or revenue than Shopify because it counts by different rules, not because orders appeared from nowhere. It credits sales made a day after someone only saw or engaged with an ad, models some results, can date a sale to the day of the ad, and counts every Purchase event at whatever value it carries. Google, TikTok and Klaviyo then claim many of the same orders.
For how attribution models split credit between channels, start with our guide to click-based attribution models. This post takes each cause with the check that confirms it, then reconciles one illustrative week. If Meta shows fewer purchases than Shopify, see Meta not tracking Shopify purchases instead. We checked every platform detail below on the platform's own help pages on October 24, 2026.
Is Meta over-counting purchases, revenue or both?
Work out which number is high first, because each one points to different causes.
Pull the same seven full days from both sides. Meta's guide to third-party reporting differences says to match the attribution window, time zone and conversion date first. Then read the gap:
| What you see | Look at first |
|---|---|
| Meta's purchase count is above Shopify's online orders | More than one Purchase per order, duplicate events, purchases from other channels |
| Meta's average order value is above Shopify's | What the event value includes: tax, shipping, discounts, refunds, currency |
| Count and value are both high, by a similar share | View-through and engage-through credit, modeled results |
| Single days are off, full weeks are close | Conversion date and time zone |
| Meta alone looks fine, but all platforms together are far above Shopify | Every platform claiming the same order |
Does Meta count purchases from people who only saw the ad?
Yes. Under Meta's default setting, a purchase counts if it happens within 7 days of a link click, 1 day of a view or 1 day of an engagement.
Meta's attribution settings page defines three standard settings: click-through (1 or 7 days after a link click), view-through (1 day after an impression) and engage-through (1 day after a click that isn't a link click, which for video ads includes a 5-second play, or 97% of a shorter video). Its Results metric gives the default as 7-day click, 1-day view and 1-day engagement.
Shopify records the order either way. A shopper who scrolled past your ad, then bought the next morning from a Google search, is a Meta purchase in Ads Manager and a Google conversion in Google Ads. Meta's note on conversion count differences says it may credit a sale to an ad the person saw and didn't click.
How to check. In Ads Manager, open Columns: Performance, scroll to Compare attribution settings and add 1-day view, 1-day click and 7-day click (Meta's steps). The reported total minus the 7-day click column is what Meta credits to views and engagements. Our guide to Meta ads attribution settings covers which setting to run.
Are some of Meta's purchases modeled?
Some can be. Meta says it may use statistical modeling where conversion data is partial or missing, for purchase counts and for their values.
Both the Results and website purchases conversion value definitions say so, and Meta's guide to annotated results says Ads Manager can show an in-product message where modeling applies. A modeled purchase is Meta's estimate of a sale it couldn't observe directly. The order may well be in Shopify, but you can't tie the claim to a specific one.
How to check. Hover over any message on the results in Ads Manager. Meta's help pages don't describe a column that separates modeled purchases from observed ones, so treat this as the part of the gap you can't measure directly.
Is Meta dating purchases to the day of the ad?
It can. Meta can report a purchase on the day the ad was served rather than the day the order was placed, so single days rarely match Shopify.
Meta's Insights API reference gives the example: someone sees the ad on January 1 and buys on January 2. By impression time the purchase lands on January 1; by conversion time, on January 2. Its troubleshooting guide says Ads Reporting can report either way. Shopify's order list goes by the date each order was placed.
How to check. Confirm your ad account and Shopify store use the same time zone, report by conversion time in Ads Reporting, and compare full weeks. If the gap nearly disappears over a week, this was the cause.
Does Meta count more than one Purchase per order?
It can, and Meta's Purchases column can also include sales that never went through your online store.
Meta's Purchases metric counts purchase events from any connected Business Tool, plus purchases made on Meta's own surfaces. Website purchases counts only those the pixel or Conversions API tracked on your website. Shopify's browser checkout event fires once per checkout, so extra Purchase events usually come from somewhere else:
- subscription renewals sent to Meta as purchases, which an Online Store order count leaves out;
- a pixel in the theme or an old script firing beside the app's pixel;
- a server-side sender whose events don't share an event ID with the browser's.
How to check. Add Website purchases next to Purchases in Ads Manager. Then, in Compare attribution settings, switch the conversion count between All conversions and First conversion, which Meta says shows only the first measurable conversion after an ad click or view (Meta's steps). A wide gap between the two means repeat orders from the same people or several Purchase events per order. Place a test order with an upsell and count the Purchase events in Events Manager's Test events.
Is Meta's purchase value different from Shopify's revenue?
Often. Meta's purchase value is whatever number your sender puts in the event's value field, and Shopify's revenue figures follow their own definitions.
Meta calculates website purchases conversion value by adding up the value parameters on your Purchase events. Shopify's finance reports define total sales as gross sales minus discounts and sales reversals, plus taxes, shipping and fees. The two disagree whenever:
- the event value includes tax and shipping and you compare it with net sales, or the reverse;
- the event value is the price before discounts;
- an order is refunded or cancelled later: Shopify subtracts it as a sales reversal, while the Purchase event Meta already received keeps its value;
- the event's currency or decimal places are wrong, which Meta's troubleshooting guide says to check when counts match but values don't.
How to check. Place a test order with a discount code and paid shipping, then compare the value in Test events with the order's subtotal and total. Divide Meta's purchase value by its purchase count and set that average against Shopify's average order value.
Are duplicate events inflating Meta's count?
They can, and they inflate purchases and revenue by the same share. Meta treats a browser event and a server event as one when the pixel's event ID matches the server's and the event names match, and it drops a repeat that carries the same event ID and event name within 48 hours. Two senders rarely share event IDs, so two server-side senders on one pixel, or a theme pixel on top of the app's, can count one order twice. Open Purchase in Events Manager and read the Event Deduplication tab, and use Meta Ads Data Advisor, which Meta's troubleshooting guide recommends for spotting duplicate pixel fires. Our guide to Meta attribution pitfalls and event duplication traces each source.
Are Google, TikTok and Klaviyo claiming the same orders?
Almost always, if you run them. Each platform credits an order to itself under its own rules, and none of them knows the others did too.
| Platform | What it counts | Source |
|---|---|---|
| Meta | 7-day click, 1-day view and 1-day engagement by default | Meta Business Help Center |
| Google Ads | 30-day click-through, 3-day engaged-view and 1-day view-through by default for new conversion actions | Google Ads Help |
| TikTok | Click-through of 1, 7, 14 or 28 days and view-through off, 1 or 7 days, set per ad group | TikTok Ads Manager help |
| Klaviyo | Last touch across its own messages, with 5-day windows for email opens and clicks on new accounts | Klaviyo Help Center |
Sources checked October 24, 2026.
A shopper who watches a TikTok, clicks a Meta ad, opens your Klaviyo email and then searches your brand on Google before buying is one Shopify order and up to four claimed conversions. Klaviyo's default even credits an email that was only opened. Each platform's number holds up on its own terms. Their sum describes nothing in your business.
How to check. Add up the revenue each platform claims for the same week and divide by Shopify's revenue. Anything above 1.0 means orders are being claimed more than once, valued differently, or both.
A worked example: one week where the platforms claim more than the store took
The numbers in this section are invented, rounded and illustrative. They come from no real store.
A Shopify brand runs Meta, Google and TikTok ads, sends email through Klaviyo, and takes 1,000 online orders and $100,000 in net sales in one week. Here's what each platform reports for that week:
| Source | Purchases claimed | Revenue claimed |
|---|---|---|
| Meta Ads Manager | 600 | $66,000 |
| Google Ads | 300 | $31,000 |
| Klaviyo | 380 | $39,000 |
| TikTok Ads Manager | 120 | $12,000 |
| Platforms combined | 1,400 | $148,000 |
| Shopify | 1,000 orders | $100,000 net sales |
Add the four together and you have more revenue than the store took: $148,000 claimed against $100,000. Now take Meta's claim apart, cause by cause:
| Step | Purchases | Revenue |
|---|---|---|
| Meta as reported | 600 | $66,000 |
| Less 1-day view-through | −120 | −$13,200 |
| Less 1-day engage-through | −30 | −$3,300 |
| Less duplicate Purchase events from a second sender | −30 | −$3,300 |
| Less tax and shipping included in the event value | 0 | −$4,200 |
| Meta, link clicks only, one event per order, on Shopify's net sales | 420 | $42,000 |
Only the duplicates are a tracking error. View-through and engage-through purchases are real orders credited under a looser rule, and the tax and shipping line is a definition. Some of the 420 may still be modeled.
Even cleaned up, 420 is more than Meta gets when each order is credited once, because 90 of those shoppers later clicked a Klaviyo email or a Google ad. Credit every order to its last click and the week adds up:
| Channel, last click | Orders | Revenue |
|---|---|---|
| Meta | 330 | $33,000 |
| Google Ads | 210 | $21,000 |
| Klaviyo | 180 | $18,000 |
| TikTok | 60 | $6,000 |
| Organic, direct and other | 220 | $22,000 |
| Total | 1,000 | $100,000 |
Last click shortchanges channels that open journeys, but any single rule applied to Shopify's orders adds up to what the store took.
Checklist: which cause applies to your store?
Run these in order on the same seven full days.
| Check | Where | If it's the cause |
|---|---|---|
| Same time zone; report by conversion time | Ad account settings; Ads Reporting | Single days differ, full weeks match |
| Reported total vs the 7-day click column | Ads Manager, Compare attribution settings | The difference is view-through and engage-through credit |
| Purchases vs Website purchases | Ads Manager columns | Purchases include sales outside your website |
| All conversions vs First conversion | Compare attribution settings | Repeat orders or several Purchase events per order |
| Event Deduplication tab; Meta Ads Data Advisor | Events Manager; your thank-you page | Two senders or two pixels counting one order |
| Test order with a discount and shipping | Events Manager, Test events | The event value isn't Shopify's revenue definition |
| Messages on the results column | Ads Manager | Modeling applies; judge full weeks |
| Sum of every platform's claimed revenue ÷ Shopify revenue | Each platform's reports | Above 1.0: orders claimed more than once |
What does a Shopify-reconciled view look like?
It starts from the orders and revenue in your Shopify account and gives each order to channels under one rule, so the channels can't add up to more than the store took.
Platform reports stay useful for comparing campaigns inside each platform. Budget across channels needs one report that counts each order once. Upstack Attribution does that for Shopify brands: it reports every channel against the revenue in your Shopify account instead of summing what each platform claims, with first click, last click and any click models, MER, new-customer ROAS and CAC, LTV and contribution margin (CM1 to CM4). Under first click or last click, each order is credited once.
What it doesn't do: its models credit clicks, so an ad someone only saw gets no credit, which is the gap Meta's view-through fills. It doesn't run marketing mix modeling or incrementality tests, and it's built for Shopify and DTC brands. For a check that needs no attribution at all, track MER, total revenue divided by total marketing spend.
Our take. Meta will never match Shopify, so stop chasing a match. Explain Meta's number cause by cause, fix the duplicates, and set budgets from a report that credits each Shopify order once. If Meta's deduplicated link-click purchases still sit well above what that report gives it, the rest is overlap with your other channels, and the open question is whether the ads caused the sales.
Frequently asked questions
Why does Facebook report more sales than Shopify?
Meta credits purchases made up to 7 days after a link click and 1 day after a view or engagement, models some results, and counts every Purchase event at the value it was sent with. Shopify counts each order once. Duplicate events and tax or shipping in the event value widen the gap.
Is Meta over-reporting conversions?
Usually it's counting by its own rules rather than inventing sales. View-through credit, modeling and other platforms claiming the same orders are by design. Duplicate Purchase events are the exception: those are real over-counting, and you can fix them by running one sender per pixel with shared event IDs.
Does Meta remove refunded orders from purchase value?
Not on its own. Meta's purchase value is the sum of the values on the Purchase events it received, so a later refund doesn't change it, while Shopify subtracts it as a sales reversal. Weeks with heavy returns push the two further apart.
Can Meta, Google, TikTok and Klaviyo all claim the same order?
Yes. Each one credits an order to itself when its own window allows, and Klaviyo counts email opens as well as clicks. One Shopify order can show up as four conversions.
See how Upstack Attribution reports every channel against your Shopify revenue.
Want similar results?
Start free for 21 days and see what clean signal does for your performance. No card, no contract.