If you run Meta ads for a Shopify store, you have probably stared at two dashboards that disagree. Facebook says it drove 78 purchases; Shopify shows 100 orders and credits Facebook with maybe 55. Neither is broken. The gap starts with the attribution window facebook uses to assign credit — and once you understand how that window works, the mismatch stops feeling like a bug and starts looking like arithmetic.
What is the Facebook attribution window?
An attribution window is the amount of time after someone interacts with your ad during which Meta will take credit for a resulting purchase. Two kinds of interaction count:
- A click — the person taps your ad, then converts later.
- A view — the person scrolls past your ad without clicking, then converts.
Meta reports the conversion on the date of the click or view that earned the credit, not the date of the purchase. A click on Monday that turns into a sale on Thursday shows up in Ads Manager on Monday. Shopify records that same order on Thursday. So even when totals eventually reconcile, any single-day comparison is off by construction — always compare on a trailing 7-to-14-day window instead.
The Facebook default attribution window
The facebook default attribution window today is 7-day click + 1-day view, according to Foreplay's 2025 attribution guide and Jon Loomer's 2026 breakdown. Here are the windows you can choose from:
| Window | What it counts | Notes |
|---|---|---|
| 1-day click | Conversion within 24h of clicking the ad | Most conservative; closest to Shopify last-click |
| 7-day click | Conversion within 7 days of clicking | The current default's click half |
| 1-day view | Conversion within 24h of seeing the ad (no click) | The view-through half; primary inflation source |
| 1-day engaged-view | Watched 10+ seconds of a skippable video, converts within a day | Video-specific |
The table above is sourced from Foreplay's attribution guide. The longer windows merchants remember — 28-day click, 28-day view, and 7-day view — were removed after Apple's iOS 14 privacy changes in 2021, per the same guide. That is why a campaign you ran years ago and one you launch today can credit conversions very differently even with identical spend.
Why the window inflates your Facebook numbers
Three mechanics push Meta's count above Shopify's, and none of them is a tracking error:
- View-through conversions. With the default 1-day view window, Meta credits a purchase made within a day of seeing an ad the buyer never clicked. Shopify has no concept of a view — it only records a completed checkout, so it files that buyer under whatever they actually clicked last.
- Modeled conversions. When a pixel is blocked or a user opts out of tracking, Meta estimates the conversion with a statistical model and reports the estimate. Shopify never models; it counts only real orders.
- No refund reversal. Shopify lowers net sales when an order is refunded. Meta generally keeps the original conversion, so its total stays high after the refund.
Add these up and a 20–35% gap between Meta-reported purchases and Shopify orders is normal on the default window, according to Vaizle and TrackBee. Ad blockers and consent declines push in the other direction, suppressing pixel events for roughly 10–25% of users per Elevar's field data. The net of these opposing forces is the number you argue with every morning.
Worked example: one week, two sales numbers
Say you sell print-on-demand mugs. In one week you get 100 real orders at $40 subtotal each ($49 with $5 shipping and $4 tax). Of those 100 buyers:
- 55 clicked a Meta ad within seven days before buying.
- 15 only saw a Meta ad within one day before buying — no click.
- 10 clicked a Google ad last.
- 20 came from organic search or direct.
- 8 later request refunds.
Meta Ads Manager reports about 78 purchases. Walk it: 55 click-through + 15 view-through = 70 from the window. Add roughly 8 modeled conversions recovering blocked buyers, and Meta shows ≈78. It does not subtract the 8 refunds, and the pixel passes subtotal only, so revenue reads 78 × $40 ≈ $3,120.
Shopify reports 100 orders. It attributes by last non-direct click: about 55 to Facebook, 10 to Google, 35 to search/direct/other. The 15 view-through buyers clicked nothing, so Shopify does not credit Facebook for them. After the 8 refunds (≈$49 each), total sales fall from $4,900 to about $4,508.
One week, 100 real sales, and your two tools show 78 versus 100 and $3,120 versus $4,508. Every figure is internally correct. Shopify's order count is the truth about how many sales happened; Meta's number is its best guess at how many its ads influenced. Reconciling those two questions — instead of forcing them to be equal — is the whole job, and it is the same discipline behind reconciling your ecommerce data across every platform you run.
What a Facebook attribution window change actually does
Here is where merchants trip. There are two different "windows" in Ads Manager:
- The attribution setting decides which conversions Meta optimizes toward and reports as the headline number. Changing it retrains the campaign going forward.
- The comparison window only re-slices data you already recorded, for viewing. Changing it does not retrain anything.
A facebook attribution window change on the setting has real teeth. Switching a campaign from 7-day-click + 1-day-view down to 1-day-click can cut reported conversions by roughly 40%, per TrackBee — with zero change to your actual sales. You did not sell less; you simply told Meta to claim credit over a narrower window. Narrowing to 1-day-click also pulls Meta's count closer to Shopify's last-click view, which is why some merchants prefer it for reconciliation even though it starves the optimization algorithm of signal.
If your Facebook number suddenly doubled rather than shifted, that is not the window — it is almost certainly a deduplication problem. When the browser Pixel and server-side Conversions API both send a Purchase without a shared key, Meta counts it twice; the two copies are only collapsed when they share an event_id and arrive within 48 hours of each other, per Meta's deduplication docs. A store showing Meta purchases at roughly 2× Shopify orders has a dedup misconfiguration, not a windfall.
How to reconcile the gap instead of chasing it
No attribution window setting will make Meta and Shopify match, because the mismatch is structural — different questions, different methods. What you can do is stop treating platform-reported numbers as revenue and start reconciling to the source of truth: your actual orders and the cash that lands in your bank.
That means comparing on trailing windows, watching for a stable ratio rather than equality, and knowing that even your bank deposit differs from your sales report — a Shopify payout is a batch of balance transactions minus fees and refunds, not a day's orders, as we cover in the guide to why your Shopify payout doesn't match sales. If you rely on multiple credit models to see the full journey, the trade-offs are laid out in our rundown of multi-touch attribution tools, and the everyday symptom — dashboards that quietly disagree — is diagnosed in why your Shopify dashboard reporting isn't accurate.
This is the problem PodVector is built to end. PodVector connects Shopify, Meta Ads, Google Ads, Printify, and Printful into one live data warehouse and computes your true per-order profit — so instead of guessing whether Meta's 78 purchases or Shopify's 100 orders is "real," you see what each order actually earned after ad spend, fees, and product cost. Victor, our AI operator, reads that data and proposes moves; he does not touch your ad account, and any changes he executes are Shopify-side, with your approval. He reads your Meta and Google ad data to explain the gap — he never edits a campaign or a budget for you.
See your true per-order profit with PodVector
If you also sell on other marketplaces, the same reconciliation logic applies to inventory and orders — see how to sync Etsy with Shopify for the operational side of keeping two storefronts honest.
FAQs
What is the current Facebook default attribution window?
It is 7-day click plus 1-day view, meaning Meta credits a sale if the buyer clicked within seven days or viewed within one day before purchasing, according to Foreplay's 2025 guide and Jon Loomer. The old 28-day options were retired after iOS 14 in 2021.
Why does Facebook show more purchases than Shopify?
Because Facebook counts view-through conversions and modeled (estimated) conversions that a completed Shopify checkout never records, and it does not remove refunds. A 20–35% gap on the default window is normal, per Vaizle and TrackBee. The two tools answer different questions — "did my ad influence this?" versus "did a sale happen?"
Should I change my attribution window to 1-day click?
It depends on your goal. A 1-day-click setting pulls Meta's count closer to Shopify's last-click view and reduces view-through inflation, but it can cut reported conversions by roughly 40% and starves the optimization algorithm of signal. Many advertisers keep the default for optimization and reconcile the difference separately rather than narrowing the window.
Does changing the attribution window change my actual sales?
No. The attribution setting only changes which conversions Meta claims and optimizes toward going forward; the comparison window only re-slices data you already have. Neither creates or destroys a single real order — they only change how credit is displayed.
Why did my Meta purchases roughly double after I added the Conversions API?
That is a deduplication misconfiguration, not more sales. The browser Pixel and server CAPI must share an event_id so Meta collapses the two copies into one within a 48-hour dedup window. Correct redundant setup keeps your count stable while recovering blocked events — it should not inflate it.
Will fixing my tracking make Facebook and Shopify match?
No. Better tracking (like CAPI) recovers lost events, but it cannot close the methodology gap — view-through credit, modeling, click-date reporting, and last-click versus window are structural. Even with flawless tracking, expect Meta to sit above Shopify. Aim for a stable, explainable ratio, not equality.