If you have ever stared at Meta claiming 78 purchases while Shopify shows only what actually shipped, you have already met modeled conversions. They are not a bug, and Meta is not lying. They are a deliberate estimate filling a gap that privacy changes tore open. This guide explains exactly how they work, how much they can inflate your numbers, and how to read past them to your real per-order profit.
What are Meta modeled conversions?
A modeled conversion is a statistically estimated sale. When Meta cannot directly tie a purchase to an ad click or view — because the user opted out of tracking, blocked the pixel, or declined cookies — it does not simply drop that sale. Instead, it observes buyers it can see, builds a model of how they convert, and extrapolates to the cohort it cannot see.
Meta then reports that estimate as a conversion. Per Meta's Business Help Center, modeled conversions appear in your results alongside directly observed ones, without a separate asterisk or column by default. So the "purchases" figure you optimize toward is a blend of counted sales and educated guesses.
Shopify, by contrast, never models anything. It records a completed checkout on its own server, so its order count is the source of truth for how many sales happened. Meta's number answers a different question: how many sales its ads plausibly influenced. Those are not the same question, so the numbers should never be expected to match.
Why modeled conversions exist
The trigger was Apple's App Tracking Transparency prompt, launched with iOS 14.5 in 2021. When a user taps "Ask App Not to Track," the click identifier that lets Meta connect an ad to a purchase gets stripped.
Add browser-level blockers and cookie-consent declines on top. Field estimates put ad-blocker and consent-affected traffic at roughly 10–25% of users. That is a large slice of buyers Meta simply cannot observe with deterministic tracking anymore.
Modeling is Meta's answer to that blind spot. Rather than under-report and let advertisers flee to platforms that "see" more, Meta estimates the missing conversions. This is the same reason so many stores see reconciliation headaches — the mechanics behind them are covered in our guide to reconciling your ecommerce data.
How big is the gap? A worked example
Say you run a print-on-demand mug store and drive a week of Meta ads. One hundred real orders come in. Here is a plausible breakdown of that cohort, framed as an illustration, not a market fact:
- 55 buyers clicked a Meta ad within seven days before buying.
- 15 only saw an ad within a day before buying — no click.
- 30 came last from Google, organic search, or direct.
Meta's default attribution window is 7-day click plus 1-day view. So it already claims the 55 clickers and the 15 view-through buyers: 70 conversions. Then it adds modeled conversions for the iOS and blocked buyers it could not see directly — say 8 more. Meta reports 78 purchases.
That math — 70 windowed + 8 modeled = 78, against Shopify's 100 real orders — lands right inside the 20–35% Meta-over-Shopify gap that is considered normal on the default window. Most of that excess is view-through plus modeling, not fraud.
The trap is not the gap itself. It is that the modeled 8 flow silently into your ROAS. If you spent $800 on ads and Meta credits itself $3,120 in revenue, your dashboard shows a 3.9x return. Strip the estimates and view-through, and the number your bank actually supports is lower — a point Wicked Reports makes about modeled conversions feeding straight into reported performance.
Modeled conversions versus lost tracking
It is worth separating two different problems, because they have different fixes.
Methodology gaps you cannot "fix"
View-through credit, click-date reporting, and last-click-versus-window differences are structural. Even with perfect tracking, Meta and Shopify measure different things, so a gap remains. No plumbing closes it.
Tracking gaps you can narrow
Genuinely lost events — blocked pixels, closed tabs before the thank-you page, consent declines — are real data loss. Better server-side tracking recovers many of them. That is the whole point of the Conversions API, which we weigh up in is server-side tracking on Shopify worth it. The signal loss that started this whole mess is unpacked further in our breakdown of iOS tracking loss on Facebook ads.
Here is the catch most vendor blogs miss: fixing tracking gaps reduces the need for modeling, but it does not remove the methodology gaps. Even a flawless setup leaves a structural gap, and Meta keeps modeling the sliver it still cannot see.
A common myth: "add CAPI and my numbers will match"
They will not. And if your conversion count jumps after you add the Conversions API, that is usually a warning sign, not a win.
When both the browser pixel and the server send the same purchase without a shared deduplication key, Meta counts it twice. Meta deduplicates only when the two copies share an event_id and event_name, and only if the second arrives within 48 hours of the first. Miss that, and a store can show Meta purchases at nearly twice its Shopify orders — a dedup misconfiguration, not real demand. The full mechanics are in our piece on Facebook CAPI versus pixel duplicate events.
Done right, redundant pixel-plus-server tracking should keep your count stable while recovering blocked events — not inflate it.
What modeled conversions do to your profit
Modeling is a measurement problem, but its real cost is a decision-making problem. You scale the campaigns your dashboard says are winning. If those winners are propped up by estimated conversions, you pour spend into ads that keep less than they appear to.
Walk one order through to the cash. Say a mug sells for $40 subtotal, plus $5 shipping and $4 tax, so the customer is charged $49. Your costs:
- Fulfillment (product + shipping through your print partner): $18
- Shopify Payments processing, at the Basic-plan US rate of about 2.9% + 30¢: 2.9% × $49 = $1.42, + $0.30 = $1.72
- Ad spend allocated to win this order: $8
- Tax you collect but must remit: $4
Real kept profit = $49 − $4 tax − $18 fulfillment − $1.72 fees − $8 ad spend = $17.28 per order. That is arithmetic on your actual costs, and no attribution model changes it.
Now notice what a modeled ROAS hides. If Meta over-credits itself with estimated conversions, the "return" it shows on that $8 of spend looks fatter than $17.28 of true margin supports. Optimize on the inflated figure and you can happily scale an ad set that is quietly thinning your bank deposit. Attribution and profit are different layers — the difference is exactly what a multi-touch attribution tool is built to expose.
How to read past the estimates
You do not need to eliminate modeled conversions — you cannot. You need to stop treating a modeled ROAS as ground truth. Three habits help:
- Compare on trailing 7- to 14-day windows, never single days. Meta reports on the click date; Shopify on the order date, so daily comparisons desync even when totals agree.
- Anchor on Shopify's order count and total sales for how many sales and how much revenue. Anchor on Meta only for directional influence.
- Judge ad sets on per-order profit after fulfillment, fees, and spend — not on platform-reported return.
That last habit is where a live profit layer earns its keep.
PodVector connects your Shopify, Meta Ads, Google Ads, Printify, and Printful accounts into one live data warehouse and computes your true per-order profit — the real margin you keep after fulfillment, fees, and ad spend, not a modeled ROAS. Victor, its AI employee, reads your Meta ad data and proposes moves, then executes the ones you approve on the Shopify side. Victor does not touch your ad account; he shows you which "winners" survive once the estimates are stripped out. Start with PodVector and see your real numbers.
FAQs
Are modeled conversions fake sales?
No. They are statistical estimates of real but unobservable conversions — iOS opt-outs, blocked pixels, consent declines — not fabricated demand. Per Meta's help documentation, they estimate purchases Meta cannot directly attribute. They can over- or under-shoot, but they represent something real.
Why does Meta show more purchases than Shopify?
Three reasons stack up: view-through conversions (credit for ads seen, not clicked), click-date reporting, and modeled conversions. A 20–35% gap on the default window is considered normal. Shopify only counts completed checkouts, so it is the source of truth for order volume.
Can I turn off modeled conversions?
Not directly. Modeling is baked into how Meta reports when tracking signal is missing. You can narrow the need for it with clean server-side tracking, and you can choose a shorter attribution window to tighten the credit rules — but the estimate itself is not a toggle you control.
How do I know how much of my ROAS is modeled?
You cannot see a precise breakdown, but you can measure the gap. Compare Meta's attributed revenue for a period against Shopify's recorded revenue for the same period. If Meta is consistently higher, part of the difference is view-through and modeled estimates. Reconciling the two systems is the subject of our data reconciliation hub.
Do modeled conversions account for refunds?
Generally no. Shopify reduces net sales when an order is refunded, but Meta typically keeps the original conversion. So after refunds, Meta's totals stay inflated while your Shopify and payout numbers drop — another reason to reconcile against store-side truth, not platform-reported figures.