Attribution windows: how to pick the right one
Derive the window from your conversion-delay distribution, not from a convention — and only after you have checked that your identity actually survives that long.
window = the delay by which ~90% of your conversions have happened
Measure days from first touch to purchase, find the point where roughly 90% of conversions have landed, and use that. A window longer than your identity survives is not a longer window — it is the same window with more confidence.
Check durability first. On a 7-day JavaScript cookie, every window setting above 7 days is decoration for Safari traffic.
An attribution window is the maximum time between a touch and a conversion for which the touch still gets credit. Everyone has one configured. Almost nobody derived it.
Derive it from your own data
Measure days from first touch to purchase for your last few hundred conversions, and build a cumulative distribution. Then pick the point where about 90% of conversions have landed.
| Delay | Impulse DTC | Considered DTC | B2B SaaS |
|---|---|---|---|
| Same day | 62% | 24% | 8% |
| ≤ 3 days | 82% | 46% | 20% |
| ≤ 7 days | 90% | 64% | 34% |
| ≤ 14 days | 95% | 80% | 54% |
| ≤ 30 days | 98% | 93% | 79% |
| ≤ 90 days | 100% | 100% | 100% |
Reading off the 90% line: 7 days for impulse, ~21 days for considered DTC, ~60 days for B2B SaaS.
If you cannot measure first touch — which is itself a symptom worth noting — use time from account creation or first email to purchase. That understates the true delay, so treat the answer as a floor.
The precondition everyone skips
A window only applies if the identity survives it.
On Safari, a JavaScript-set cookie lives seven days. So for that population, every window setting above 7 days produces the same result as 7 days. Widening from 7 to 30 changes nothing except your confidence.
There is a diagnostic in this. Pull your 7-day and 30-day window reports side by side:
- Nearly identical? Your identity is not surviving. The window is not your constraint.
- Meaningfully different? Your identity is durable enough that the window setting is doing real work.
Most sites get the first result, and most are surprised by it.
Longer is not safer
The intuition is that a longer window can only add credit. Two reasons it does not.
It cannot exceed the identity. Covered above.
It over-credits touches that did nothing. A 90-day window credits an ad someone scrolled past in March for a purchase in June. At some delay, the causal claim stops being credible, and the window is where you draw that line.
If you find yourself wanting a 180-day window, what you actually want is account-level or cohort attribution, not a longer lookback.
Click and view are different units
Meta’s default is 7-day click and 1-day view. Those are not the same kind of evidence, and adding them together and dividing spend by the total is where CPA becomes fiction.
Run click-only for anything that drives budget. If leadership wants a view-through number, put it in a separate report labelled “influenced” — never in the column you compute cost-per-acquisition from.
Platform ceilings
| Platform | Maximum click window |
|---|---|
| Meta | 7 days |
| Google Ads | 90 days |
| TikTok | 28 days |
| 90 days |
If your derived window is 21 days and Meta caps at 7, Meta structurally cannot tell you about a third of your own funnel. Nothing you configure changes that — it is a property of the platform, and it is one of the clearest arguments for keeping a first-party ledger alongside.
The order of operations
- Measure your conversion delay distribution. Everything else depends on it.
- Check whether your identity survives that long. If not, fix durability first — nothing downstream matters until it is fixed.
- Set the window at the ~90% point.
- Use click-only for budget decisions.
- Revisit when the product changes. A price increase or a new higher-consideration product moves the whole distribution right.
The attribution window visualizer does steps 1 to 3 interactively — put in your distribution and your Safari share and it shows what your current setup actually captures versus what it claims to.
Frequently asked questions
What is a good default window?
There isn't one, and that is the point. Impulse ecommerce is well served by 7 days; B2B with a 40-day cycle needs 60–90 and an identity that survives it. Derive it, do not inherit it.
Should click and view windows differ?
Only run click windows for anything that drives budget. View-through credits impressions nobody engaged with, and mixing the two into one CPA is the error.
What if my platform caps the window below what I need?
Meta caps at 7-day click, which is shorter than many considered purchases. That is a hard limit on what the platform can ever tell you, and one of the reasons a first-party ledger exists.
Does a longer window always credit more conversions?
Only if the identity survives it. Widening the window from 7 to 30 days changes nothing for traffic whose cookie expired on day 7 — which is why the two settings look nearly identical on most sites.
How do I measure my conversion delay if attribution is broken?
Use time from account creation or first email to purchase. It understates the true delay, so treat the result as a floor.
See your window against your distribution
Describe how long your buyers take to decide and watch how much of that distribution a given window — and a given identity — can actually capture.
Stop guessing which ad made the sale.
Flowsk Signals stitches the anonymous click to the email to the purchase — first-party, server-side, de-duplicated. One snippet, $29/mo, and every conversion comes with a receipt you can inspect.