Meta and your store will never agree, and the fix is not to make them agree. Open your attribution window wider rather than tighter, segment new customers from existing ones so that a wide window stays honest, and take the verdict at your profit and loss. Most advice tells you to tighten up to be conservative. That starves the campaign of the data it needs and still does not give you a number you can bank.
An attribution window is the period after someone sees or clicks an ad in which Meta will still claim credit for a purchase. It is a setting you choose, not a measurement you receive, and Meta documents the models and windows it offers.
The Two Numbers Differ by Design, and Neither One Is Lying
Meta counts what it believes it influenced, inside the window you set it. Your store counts orders. They are answering different questions, so a gap is the expected state, not evidence that something broke.
Three things widen that gap on their own. Meta can claim a purchase from someone who only saw an ad and never clicked. It can claim an order from a customer who was already coming back to you. And every other platform you run is doing exactly the same thing, so the numbers you add up across channels can exceed the sales your store actually made.
None of that is a bug report. It is what an attribution model is: an opinion about credit, not a count of money. The count of money is in your store.
Open the Attribution Window Wider, Not Narrower
Here is the part that runs against almost everything else written on this topic. A wider window feeds the campaign more conversion data, and more conversion data is what helps it optimize.
Tightening the window feels responsible. It produces a smaller, more defensible-looking number. What it actually does is hide conversions from the algorithm that is trying to learn who your buyers are. You get a more conservative report and a worse-performing campaign.
Wanting Accurate Tracking and Rejecting the Platform's Verdict Are Two Different Things
This is the distinction that makes the rest of it work, and it is easy to get backwards. I do want in-platform accuracy. Clean, correct tracking is worth building and worth checking. What I reject is judging the business through one platform's lens.
The platform number has a real job: it is a feedback signal that helps the algorithm find more buyers. Feed it well and it works better for you. That is why clean data matters, and it is worth cleaning up properly when it is wrong.
What it is not is your source of truth. Once you stop asking Meta's number to be your profit number, the pressure to make it small and defensible disappears, and you can set the window to whatever makes the campaign perform.
A Wide Window Only Stays Honest if You Split New Customers From Existing Ones
Widening the window without this next step is genuinely bad advice, so treat them as one instruction rather than two.
The risk is obvious once you see it: a wide window lets retargeting take credit for sales that already happened through another channel, from people who were coming back to you anyway. The wider you open it, the more of that you collect.
What makes it safe is segmentation at the account level:
- Turn on account-level audience signals so the platform knows who your existing customers are.
- Upload customer-list audiences from your store, and keep them current.
- Exclude existing customers from prospecting, so your acquisition campaigns are only paying for new people.
- Exclude new customers from retargeting, so the two do not double up on the same person.
With those exclusions in place, a wide window mostly widens what prospecting can learn from. Without them, it widens what retargeting can claim.
Do Not Do Any of This Too Early
Segmentation has a cost, and founders underrate it. Data accumulates at the ad-set level, so splitting campaigns splits the learning. Two half-fed ad sets learn slower than one well-fed one.
Under about $20k/month per channel
Run one CBO campaign, no audience restrictions, prospecting and retargeting together, and let the data pile up. Open the window, skip the split.
Over about $20k/month per channel
Separating new from existing becomes optional but recommended, and the exclusions above are how you do it.
If you are under the threshold, the honest answer is that your attribution setup is not your problem yet. Your break-even is.
What Three Different Windows Do to the Same Month
Here is one month of spend, viewed through three window settings. The $50 unit economics are a real example. The campaign figures are made up to teach.
Illustrative example
| What you are looking at | The number |
|---|---|
| Ad spend for the month | $5,000 |
| Meta reports, 1-day click window | 140 purchases, 1.4x |
| Meta reports, 7-day click window | 210 purchases, 2.1x |
| Meta reports, 7-day click and 1-day view | 260 purchases, 2.6x |
| What your store actually recorded | 300 orders, 200 new |
| The verdict | $25.00 per new customer |
Meta reported three different results for one month, and the business had the same month all three times. The window changed what Meta could see and learn from. It did not change how many orders came in, and it did not change whether they cleared $27.70.
That is the whole argument for setting the window on what helps the campaign, rather than on what produces a number you feel able to defend.
Take the Verdict at Your Profit and Loss
The numbers worth trusting come from outside the ad platform: your store's revenue and your ad spend. Contribution margin tells you what you keep per order after every cost, and MER, your total revenue divided by your total ad spend, tells you whether the whole program is efficient. Neither can be inflated by a setting.
One change to how you set targets follows from this. Frame the goal as a blended break-even cost per acquisition, not as a ROAS target. A ROAS goal is a platform goal, and the platform's number moves when you change a window. A break-even CPA comes from your own economics and holds still. The full build for break-even and contribution margin is here, and if you want the longer comparison of which number to trust when they disagree, that is worked out here.
Where Tools Actually Help, and Where They Do Not
Tools do not fix the problem in this article, because the problem is not that your measurement is imprecise. Attribution is a modelling choice. What a tool can do is give the platform a better thing to optimize toward.
The specific use worth paying for: run a new-customer-only conversion event through a third-party tool, so prospecting optimizes on new customers rather than on all purchases. Tools that do this: UpStackified, Hyros, and Triple Whale. I have used UpStackified and it worked well.
What to Change This Week
- 01
Widen your attribution window.
If you tightened it to be conservative, that decision was costing you optimization data.
- 02
Check your exclusions before you widen.
Existing customers out of prospecting, new customers out of retargeting, customer lists uploaded and current.
- 03
Skip the split if you are under about $20k a month on that channel.
One campaign, prospecting and retargeting together, and let it learn.
- 04
Reset your target as a break-even cost per new customer.
Work it from your own economics, not from a ROAS number you would like to see.
- 05
Read the verdict from your store, monthly.
Contribution margin and MER, calculated outside the platform.
Want to work out your own setting? Paste this into any AI tool:
AI Prompt
Copy this and paste it into ChatGPT or Claude. It will walk you through your own numbers.
I run ecommerce ads on Meta. My average order value is [X] and my cost of delivery per order is [X] (product, shipping, returns, fees). I spend [X] a month on Meta and [X] a month across all channels. My attribution window is currently set to [X]. About [X]% of my orders are from repeat customers. Tell me: my break-even cost per new customer, whether I am above or below the point where splitting new from existing is worth it, what window I should run, and what I should change first.
Common Questions
Meta Attribution FAQ
Why does Meta report more revenue than my store?
Because it is answering a different question. Meta counts what it believes it influenced, inside the attribution window you set, and that includes people who only saw an ad without clicking and people who were already coming back to you. Your store counts orders. Every other platform you run is doing the same thing, so the numbers you add up across channels can exceed the sales you actually made. A gap is the expected state, not a sign that something broke.
What attribution window should I use?
A wider one than you probably think. A wider window feeds the campaign more conversion data, which is what helps it optimize, and tightening it to look conservative mostly hides conversions from the algorithm trying to learn who your buyers are. The condition is that you segment new customers from existing ones first, with your customer lists uploaded and your exclusions in place. Without that, a wide window just lets retargeting claim people who were coming back anyway.
Should I trust Meta's ROAS or my Shopify revenue?
Trust them for different jobs. Meta's number is a feedback signal that helps the algorithm find more buyers, so it is worth keeping clean and worth feeding well. Your store's revenue is what the business actually made, so that is where the verdict gets taken, on contribution margin and MER. Once you stop asking Meta's number to be your profit number, you can set the window to whatever makes the campaign perform.
Do I need an attribution tool?
Probably not for the problem in this article, because that problem is a modelling choice rather than imprecise measurement. The specific use worth paying for is running a new-customer-only conversion event so prospecting optimizes on new customers instead of all purchases. If you spend under roughly $20k a month on a channel, your attribution setup is not your constraint yet and your break-even is.
The Bottom Line on Meta Attribution vs Actual Revenue
Meta's number and your store's number answer different questions, so they will not match, and making them match is not the goal. Open the window wider so the campaign learns more, put your exclusions in place so a wide window stays honest, and take the verdict at your profit and loss on contribution margin and MER. Set your target as a break-even cost per new customer. Then let the platform's number go back to being what it actually is, which is a signal for the algorithm rather than a report on your business.