Attribution

Facebook Ads vs Shopify sales: why Ads Manager shows more

Facebook Ads vs Shopify sales: why Ads Manager reports more purchases than your store, how to reconcile the two step by step, and which number to trust.

·Updated ·9 min read·By the ROASaurus team

Key takeaways
  • Ads Manager is usually higher than Shopify because, with its default setting, Meta counts purchases up to 7 days after a click and 1 day after a view, plus modeled conversions.
  • Every ad platform claims the orders its ads touched, so platform numbers added together exceed your real order count.
  • Align the period, time zone, date basis, currency and tax before you compare any numbers.
  • If Ads Manager shows more purchases than your store had orders in total, look for duplicate purchase events first.
  • Use Ads Manager to compare ads inside Meta, and store revenue and gross profit to decide whether advertising pays.

Ads Manager usually shows more sales than Shopify because the two count different things. With its default attribution setting, Meta credits a purchase to an ad when it happens within 7 days of a click or 1 day of a view. It adds modeled conversions, and Ads Manager reports the purchase on the day of the ad impression. Shopify counts each order once, on the day it was placed.

Neither number is wrong, but they answer different questions. This guide lists the causes of the gap, walks through a reconciliation of one example month with real arithmetic, and shows which number to use for which decision.

Why does Ads Manager show more sales than Shopify?

Most gaps come from seven causes. Five of them follow from how Meta counts. Two of them are tracking problems that you should fix.

CauseWhat happensFix needed?
Click-through windowMeta credits purchases up to 7 days after a click, also when the click was in the previous periodNo
View-throughMeta also credits purchases by people who only saw the ad, within 1 dayNo
Modeled conversionsMeta estimates some conversions it cannot observe directlyNo
Every platform claims the saleMeta, Google, TikTok and email each count the same orderNo
Reporting date and time zoneAds Manager reports on the day of the ad impression; Shopify uses the order day in the store time zoneNo, but align them before you compare
Currency, tax and shippingThe purchase value is built differently from the Shopify figure you compare it withCheck: the value may be wrong
Duplicate eventsThe same order reaches Meta twice with different event idsYes
Most of the gap is expected. Duplicates and wrong purchase values are the parts to fix.

Attribution windows and view-through conversions

Click-through window

Meta's default attribution setting for new ad sets is 7-day click or 1-day view. A purchase counts for an ad when it happens within 7 days after someone clicked that ad. The click and the purchase do not have to be in the same reporting period, so a click near the end of one month can add a purchase near the start of the next.

Ads Manager can show more than one window. Open the Columns menu and choose Compare attribution settings: Ads Manager then shows results for settings such as 1-day view, 1-day click, 7-day click and 28-day click side by side, whichever setting the ad set uses. Use this to see how much of the total comes from each part.

View-through conversions

The 1-day view part counts purchases by people who saw an ad, did not click it, and bought within a day. Shopify cannot see these at all, because there was no visit from the ad. For a brand with a lot of video or retargeting reach, view-through can be a large share of the reported purchases. Some of those buyers would have bought anyway, for example existing customers who were going to order that day.

Modeled conversions

Not every conversion can be tied to a known person. Meta uses statistical modeling to estimate conversions when its data is missing or partial, for example because of people's privacy choices. Modeled purchases fill a gap in Meta's view, but they do not correspond to specific orders in your store. You cannot match them one by one.

Why every platform claims the same sale

Each ad platform only sees its own ads. If a customer clicks a Meta ad, then a Google ad, then an email, and then buys, Meta counts the order, Google counts it and your email tool counts it. None of them knows about the others. Add the platform numbers together and you get more sales than you had.

Example store, one month: purchases claimed and real orders
Meta Ads Manager
212
Google Ads
138
Klaviyo (email)
175
TikTok Ads Manager
64
Sum of all claims
589
Orders in Shopify
450
Illustrative numbers. The platforms claim 589 purchases for 450 real orders, because many orders had touches from more than one channel.

This is not a bug. It is what self-attribution means: each platform measures its own ads with its own rules. It becomes a problem when you add the numbers up, or when you move budget based on them. To compare channels fairly, every order must be credited once, with one rule for all channels. That is the job of an attribution model, and the options are compared in attribution models for ecommerce.

Dates, time zones, currency and tax

Impression date or order date?

Ads Manager reports a conversion on the day of the ad impression. Meta's reporting API can use either the impression day or the conversion day, and its documentation gives an example: a person sees an ad on 1 January and buys on 2 January. With impression time, the purchase appears on 1 January. With conversion time, it appears on 2 January. Shopify always uses the order date. Near the end of a period, the same order can land in different months in the two reports.

Time zones

Your ad account and your store each have their own time zone. If the ad account runs on Pacific time and the store on Central European time, every day in one report is shifted by about nine hours against the other. Daily numbers then never match, even when the monthly total is close.

Currency, tax and shipping

Ads Manager shows the purchase value that your pixel or server sends. Many setups send the order total, which includes tax and shipping. In Shopify, Total sales includes tax and shipping, while Net sales does not. Both Shopify figures also subtract returns, while the purchase value in Ads Manager stays as it was sent. Compare the purchase value with the matching Shopify figure, in one currency. If your store sells in several currencies, check that each purchase is sent with the currency code of its own amount.

Duplicate purchase events

Duplicates are the one cause that is plainly an error. They happen when the same order reaches Meta twice with different event ids, so Meta cannot tell that it is one purchase. Common sources:

  • Two apps send the same pixel, for example Shopify's Facebook & Instagram channel and a tracking app.
  • A pixel code pasted in the theme runs next to an app.
  • A browser event and a server event for the same order do not share an event id.
  • The thank-you page fires the purchase again when the buyer reloads it.

Here is a quick test. If Ads Manager reports more purchases than your store had orders from all sources in the same period, you very likely have duplicates. The fixes are in how to prevent double counting and in duplicate purchase events.

How to reconcile Ads Manager and Shopify, step by step

  1. Pick one closed period

    Use a full past month, not the current week. Late conversions keep arriving for days after a period ends.

  2. Align time zone and date basis

    Put both reports in one time zone, and note whether Meta reports on impression time or conversion time.

  3. Count orders before revenue

    Compare the number of purchases first. Revenue adds questions about tax, shipping and currency on top.

  4. Separate clicks from views

    Compare attribution settings in Ads Manager and take the 7-day click results on their own.

  5. Rule out duplicates

    Compare Meta purchases with all store orders, and check that browser and server events share an event id.

  6. Match the rest to orders

    List the store orders with a Meta click before them, from the click ids and UTM parameters in your own tracking data. What is left over is orders another channel closed, and modeled or unmatched conversions.

  7. Compare revenue on one basis

    Remove tax and shipping from both sides before you use the numbers for profit decisions.

A worked example

An example store spends $5,000 on Meta over four weeks. Ads Manager reports 212 purchases with a purchase value of $16,960. The store had 450 orders in total. Its own click data credits 150 of them to Meta, with last click and a 7-day window.

Example store: purchases per week
Store orders credited to MetaAds Manager purchases
Week 1
36
49
Week 2
39
55
Week 3
37
52
Week 4
38
56
Ads Manager is 36% to 47% above the store every week. A steady gap points to how Meta counts. A sudden jump in one week points to a tracking problem, such as duplicates.

Working through the steps explains each of the 62 extra purchases:

From 212 Ads Manager purchases to 150 store orders
Ads Manager purchases
212
View-through, 1-day view
−34
Date and time zone shift
−11
Duplicate events
−7
Last click from another channel
−6
Modeled or not matched
−4
Store orders credited to Meta
150
Illustrative breakdown: 212 − 34 − 11 − 7 − 6 − 4 = 150. Only the 7 duplicates are an error. The rest is how Meta counts.

Next, compare revenue. The 150 orders brought in $9,750 in net sales, plus $600 of shipping and $2,070 of VAT, so customers paid $12,420 in total. The same four weeks give three different ROAS figures:

Revenue usedAmountROAS on $5,000
Ads Manager purchase value, 212 purchases$16,9603.39
Store orders credited to Meta, total paid with VAT and shipping$12,4202.48
The same orders, net sales without VAT and shipping$9,7501.95
The drop from 3.39 to 1.95 is not lost sales. It is the same activity counted with different rules, and with tax and shipping removed. Only the last figure can be compared with a break-even ROAS.

Which number should you trust?

Each number is right for the decision it was built for. Use them side by side, not as rivals.

DecisionNumber to useWhy
Which ad, ad set or creative works better inside MetaAds ManagerThe same rules apply to every ad, and it is the data Meta optimizes on
How to split budget between Meta, Google and TikTokOne store-side attribution modelEach order is credited once, with one rule for all channels
Whether advertising pays overallStore revenue and gross profit against total ad spendIt does not depend on any attribution model
Accounting, refunds and taxShopifyIt holds the real orders and refunds

Translate your break-even into Ads Manager terms

You set targets in Ads Manager, but your break-even ROAS comes from your store's margin. If Ads Manager steadily reports more revenue than the store, translate the break-even with the ratio between the two. In the example, Ads Manager reports $16,960 and the store has $9,750 in net sales on the same orders, a ratio of 1.74. Break-even ROAS explains how to calculate the starting point.

Break-even in Ads Manager=break-even ROAS × (Ads Manager revenue ÷ store net revenue)

With a 40% gross margin rate, break-even ROAS is 1 ÷ 0.40 = 2.5. In Ads Manager terms: 2.5 × 1.74 = 4.35. The example campaign shows 3.39 in Ads Manager, so it is below break-even on the store's numbers.

This method treats the store's click data as the truth. Part of the view-through revenue may be real, so the true break-even in Ads Manager terms can be a little lower. Check it over a few months against your total revenue and total ad spend across all channels.

How ROASaurus helps

ROASaurus sends purchases server-side from your order data, with the same event id as the browser pixel, so Meta keeps one copy of each order. Its attribution report credits every order once across all channels, with twelve models from last click to data-driven Markov and Shapley and Total Impact. You can switch the lookback window between 1 and 90 days or unlimited, and the report shows the share of orders it could attribute. Spend synced from your connected ad accounts gives ROAS and CPA per campaign. By default ROASaurus counts no view-through conversions, so expect its numbers to be lower than Ads Manager; the Clicks & views model adds the view-throughs Meta reports, modelled onto your orders. The reasons are summarized in how attribution works.

Sources

  1. Meta Business Help Center: How conversions are attributed in Commerce Manager
  2. Meta Business Help Center: Compare attribution settings in Meta Ads Manager
  3. Meta Business Help Center: About Meta's modeled conversions
  4. Meta for Developers: Ad Account, Insights
  5. Shopify Help Center: Analytics data points (fields) reference

In ROASaurus

Keep reading

AttributionEcommerce attribution models: last click, linear and moreAttribution models for ecommerce compared: last click, first click, linear, data-driven and survey-based, worked through on one customer journey.AttributionPost-purchase survey attribution: what clicks missPost-purchase survey attribution asks buyers how they found you. Learn how to write the question, handle bias and combine the answers with click data.AttributionUTM parameters for Facebook and TikTok ads: a naming systemUTM parameters for Facebook ads and TikTok ads: the dynamic values each platform fills in, a naming system to copy and the mistakes that break tracking.
FAQ

Questions, answered

Why does Facebook show more purchases than Shopify?

With its default setting, Meta counts purchases up to 7 days after a click and 1 day after a view, adds modeled conversions, and reports them on the day of the ad impression. Shopify counts each order once on the order date, so Ads Manager is usually higher.

Which is more accurate, Ads Manager or Shopify?

Shopify is the reference for how many orders and how much revenue you had. Ads Manager is the better tool for comparing ads with each other inside Meta, because it applies the same rules to every ad.

How big a gap between Ads Manager and Shopify is normal?

There is no fixed normal gap. It depends on your attribution setting, your share of video and retargeting, and how many channels you use. A gap that stays stable week to week is usually expected; a sudden jump usually means duplicate events.

Does Ads Manager include tax and shipping in the purchase value?

Ads Manager shows the value your pixel or server sends. Many setups send the order total, which includes tax and shipping, so compare it with Shopify Total sales, or remove tax and shipping before you use it for profit decisions.

Should I turn off view-through attribution?

Not necessarily. The attribution setting of an ad set also affects how Meta optimizes delivery. You can keep it and still read the 7-day click results on their own when you compare with your store.

Every sale, traced to the ad that earned it

Server-side tracking, profit and lifetime value in one app. 14-day free trial, no credit card.

Start your free trial →