Two campaigns ran side by side for a month. One came back with a clearly better return, so on Monday you moved budget out of the loser and into the winner. Reasonable. That is what the report is for.
Except the two campaigns were not measured the same way. One was reporting on a 7-day click window and the other on a 1-day. Nothing about the ads produced the gap you acted on. The gap was the ruler, and you moved real money on the difference between two rulers.
This is the quietest way to be wrong in a paid account, because every number on the screen is real. Nobody made anything up. The setting underneath them was just different, and the setting is a decision, not a fact.
You are choosing how much credit to take
Meta is direct about this. “Meta Ads Manager lets you customize your ad attribution by choosing an attribution model and attribution settings at the ad set level.” It is set per ad set, by you or by whoever built it, and it decides “which conversions can be credited to your ads.”
Read that last part slowly. The attribution setting does not measure how many conversions happened. It decides how many of them your ad is allowed to claim. Two people can look at the same real sales and count a different number of them as ad-driven, and both are reporting honestly, because they picked different rules for what counts.
A longer window counts more of the same sales
Here is the mechanism, in Meta's own words. Click-through attribution “counts events that occurred within 1-day or 7-day after a link click on your ad.” Those are the two choices for a click window: one day, or seven.
Picture a customer who clicks your ad on Monday and buys on Friday. On a 7-day window, that sale is credited to the ad. On a 1-day window, the same sale, the same customer, the same ad, is not. Nothing changed about what happened. The only thing that changed is how many days back you let the ad reach to claim it.
So a 7-day campaign will almost always report more conversions, a higher return, and a lower cost per result than the identical campaign on 1-day, purely because it is scooping up the slower buyers the shorter window drops. Put a 7-day campaign next to a 1-day campaign and the 7-day one looks like the better performer every single time, whether or not it is.
Meta built a feature that admits the comparison is invalid
You do not have to take the argument on faith, because Meta shipped the tell. In the same documentation, next to the settings, is this instruction: “To accurately compare across, use the Compare Attribution Settings feature.”
Sit with what that sentence concedes. There is a dedicated tool whose entire job is to line results up when the windows differ, and it exists because putting two differently-windowed campaigns next to each other in a normal report does not give you an accurate comparison. The platform is telling you, in writing, that the side-by-side you have been reading is not a fair fight. Most people never open that tool, and never learn the report they trusted was comparing a yard to a meter.
What actually moved the budget
Back to Monday. The winner did not win on creative, offer, audience, or landing page. It won on a longer memory. It was allowed to count buyers who took most of a week to decide, and the campaign you cut was only ever allowed to count same-day buyers. You did not shift spend toward better advertising. You shifted spend toward a more generous accounting rule, and you will now scale the campaign the rule flattered instead of the ad that worked.
The version of this that costs the most is when the shorter-window campaign was genuinely the better ad, driving real revenue that simply landed a few days after the click. That is the campaign that reads as the loser and gets killed, and it takes its real sales with it. The report did not lie. It just answered a different question than the one you thought you asked.
What to check before you move budget
None of this requires new tools, only one habit: before you compare two numbers, confirm they were measured the same way.
- Check the attribution setting on both ad sets before you rank them. If they differ, the ranking is meaningless until you fix that.
- Standardize it. Pick one window for the whole account and hold every campaign to it, so a comparison is ever only about the ads.
- When the windows genuinely have to differ, use Meta's own Compare Attribution Settings tool rather than the default columns, because Meta is telling you that is the only accurate way across.
- For the decisions that actually matter, do not let any attribution window be the final word. A holdout, where a slice of the audience sees no ad at all, measures what the campaign truly added, and it does not care which window you picked.
Where we land on this
A number is only comparable to another number measured the same way. That sounds obvious written down, and it is violated constantly in ad accounts, because the platform presents two differently-measured figures in the same clean column and invites you to treat them as peers.
The advertisers who compound instead of thrash are the ones who get suspicious of a clean comparison. Before they act on a gap, they ask whether the two things were even measured on the same terms, because a decision built on a mismatched ruler is not a smaller mistake than a bad ad. It is a more expensive one, since it feels rigorous the whole way down.