Attribution & Measurement
Meta's attribution window setting decides how far back — from a click or a view — a purchase is still allowed to count as that ad's. Widen the window and more delayed purchases get pulled in, so reported ROAS rises, even though nothing about how the campaign actually performed has changed.
Meta lets you set, at the ad set level, how long after someone clicks an ad — and separately, how long after they merely see one — a purchase is still eligible to be credited to it. These are configured as click and view components together: a common default pairs a click window of around a week with a view window of a day, but accounts can be set narrower (click-only, shorter windows) or wider, depending on what's available for the ad account and campaign objective at the time. The specific menu of options has changed over the platform's history and can vary by account, so treat the exact figures in your own Ads Manager as the source of truth rather than any fixed list.
What matters conceptually is simpler than the settings screen makes it look: a shorter window only credits purchases that happened close in time to the ad interaction. A longer window credits purchases much further removed from it. Both are legitimate configurations. They just answer different questions.
Every purchase that happens within a 7-day click window also happens within a 28-day click window — a wider window is a superset, never a different set. So widening the window can only add attributed purchases, never remove them, and adding purchases to the numerator while spend in the denominator stays fixed can only push reported ROAS up or leave it unchanged. This is arithmetic, not evidence that the campaign is reaching more people or converting better. The ads didn't change. The rule for what counts as “caused by the ads” did.
A cheap, impulse-friendly product — something under $30 with an obvious use case — mostly gets bought within minutes or hours of someone seeing the ad. Widening the attribution window from a day to a week won't change much for that product, because there aren't many purchases happening in days two through seven to pull in.
A considered purchase — furniture, a subscription, anything over a few hundred dollars, or anything a customer would reasonably compare against alternatives — behaves differently. A meaningful share of eventual buyers might see the ad, leave, think about it, check reviews elsewhere, and come back to buy four or five days later. For that kind of product, the gap between a 1-day and a 7-day window can be large, because there's genuinely more purchase activity happening in the later days of the window. Neither business is being measured “wrong” — they just have different amounts of delayed purchase behavior for a wider window to capture.
Hypothetical example, not a real ad account. Say a campaign spent $2,000 in a week.
Nothing about the ads, the audience, or the offer changed between those two rows. The campaign didn't get better at 3.8x than it was at 2.2x — the second row is just allowed to look further back and claim more of what happened in that window. Anyone comparing this campaign's “3.8x” against a different campaign reported under a 1-day window is comparing two different rulers, not two different campaigns.
Keep the attribution window setting fixed when comparing campaigns against each other, or against past performance of the same campaign. A ROAS trend line is only meaningful if every point on it was measured the same way — a window change partway through the month will produce a jump that looks like a performance change but isn't one.
If you run both Meta and Google, remember they don't use identical window logic by default, so comparing raw ROAS figures between the two platforms already has this same issue built in even before cross-platform overlap is considered — see why Shopify and Meta Ads show different sales numbers. For a broader look at how first-click, last-click and other models change what gets credited in the first place, see Shopify attribution models explained.
Attribix calculates ROAS from actual Shopify orders rather than from whichever attribution window a given ad set happens to be set to, so campaign comparisons hold up even if window settings differ or change over time. See how blended ROAS is built on Shopify ROAS tracking.
Send an inquiry and we'll check what attribution window your ad sets are actually using and how much of your reported ROAS depends on it.