Attribution Window: What It Is, How Long to Set It, and the Mistake SaaS Teams Make
A 30-day attribution window on a 45-day sales cycle misattributes 30%+ of conversions. How to calculate the right window for your product.
Muzahid Maruf, Founder

Attribution Window: What It Is, How Long to Set It, and the Mistake SaaS Teams Make
A 30-day attribution window on a 45-day sales cycle misattributes 30%+ of conversions. How to calculate the right window for your product.
Setting a 30-day attribution window on a product with a 45-day average sales cycle misattributes 30%+ of conversions — the late-converting customers get credited to "direct" or to whatever last touch happened to fall inside the window, not to the channel that actually drove the evaluation. The default 30-day window is wrong for most SaaS for exactly this reason. Based on attribution data across TrackRev workspaces, ~38% of B2B SaaS conversions happen after day 30 and ~30% of B2B monthly self-serve conversions happen between days 31–60. The fix: set the window to your median days-to-conversion plus 50% buffer. This guide explains what an attribution window is, why a mis-set window distorts budget decisions, and how to calculate the right length from your own sales cycle.
Key takeaway
The 30-day default came from Google Ads, not from your data. For B2B annual contracts it misses 62% of conversions; for B2B monthly self-serve it misses 38%. Set the window to your own median days-to-conversion plus 50% buffer, cap at 120 days, and make sure your cookie lifetime is at least as long as the window.
Why This Matters for Your Revenue
An attribution window is not a reporting cosmetic — it is the dial that decides which channels get funded. Get it wrong in either direction and you misallocate budget against your own data.
Too short: under-crediting top-of-funnel channels
Set it too short and you under-credit the channels that drive long evaluations. Content, SEO, podcasts, and brand campaigns plant the click weeks before the purchase; a 30-day window on a 45-day cycle simply does not see the payoff, so those channels show a fraction of the revenue they actually produced. The budget review reads them as underperformers and cuts them — which kills your future top-of-funnel pipeline while the dashboard nods approvingly.
Too long: inflating channels with unrelated revenue
Set it too long and you create the opposite error. A 180-day window on a product that closes in two weeks sweeps up unrelated revenue — customers who would have bought regardless, repeat purchases, and clicks with no causal link to the sale — and credits it to whatever channel happened to be in the window. Now your reports over-credit channels, and you pour budget into placements that were never actually driving conversions. Both failures spend real money against a number that looks authoritative but is structurally wrong. The window is the difference between attribution that guides spend and attribution that misleads it. See the 2026 SaaS attribution benchmarks for the conversion-timing distributions behind these effects.
What an attribution window is
An attribution window is the period after a click during which a conversion can be credited to that click.
Length and endpoint: the two parameters
Two parameters define a usable window. Length is the number of days a click stays eligible for credit. Endpoint is which click in that window receives the credit — a last-touch model counts from the last click before conversion, first-touch counts from the first, and linear splits credit across every click in the window. Length and endpoint are independent choices: you set how long the window is, then pick a model to decide who inside it gets the revenue. The last-touch vs first-touch vs linear comparison covers the endpoint choice in detail.
A worked example
If a visitor clicks your newsletter link on day 1 and pays on day 27 with a 30-day window, the newsletter gets credit. If they pay on day 31 with the same window, the conversion is credited to whatever the most recent in-window click was — or to "direct" if no in-window click exists. That single day difference is the whole game: the same newsletter click drove the same customer, but a window one day too short reassigns the revenue to another channel or erases the attribution entirely.
Why the default 30-day window is wrong for most SaaS
The 30-day default is an inherited assumption, not a calculated one — and it was calibrated for a different kind of buyer than SaaS sells to.
Where the 30-day default came from
30 days became the default because Google Ads uses it, and most teams never changed the setting. That made sense for direct-response e-commerce, where a shopper sees an ad, weighs a $40 purchase, and decides within days. It does not fit SaaS, where a buyer trials the product, loops in a colleague, checks a budget, and comes back weeks later. The default optimized for impulse purchases is being applied to considered ones.
What the conversion-timing data actually shows
Look at the data. % of conversions that happen after 30 days, by product type:
| Product type | % conversions within 30 days | % conversions days 31–90 | % conversions after 90 days |
|---|---|---|---|
| B2B SaaS (annual contracts) | 38% | 47% | 15% |
| B2B SaaS (monthly self-serve) | 62% | 30% | 8% |
| B2C SaaS / consumer | 84% | 12% | 4% |
| Lifetime deal / one-time | 94% | 5% | 1% |
| High-ticket info ($200+) | 70% | 23% | 7% |
Source: TrackRev workspace data, 2026. Medians across workspaces by product type.
For B2B annual contracts, a 30-day window misses 62% of conversions. For B2B monthly self-serve, it misses 38%. The teams making spend decisions with 30-day windows on these products are silently under-crediting the channels that drove those late conversions — usually content, SEO, podcast, and brand.
How to determine the right window for your product
You do not need a benchmark table to set your window — you need your own median days-to-conversion. Three steps, all based on your own data.
The three-step calculation
- Step 1 — Pull your own median days-to-conversion. For paid customers acquired in the last 90 days, compute days between first tracked click and first paid charge. Take the median.
- Step 2 — Add 50% buffer. Median + 50% covers most of the long tail. If your median is 20 days, set the window to 30. If your median is 40 days, set it to 60.
- Step 3 — Cap at 120 days. Beyond 120 days the data gets too contaminated by unrelated activity (cookie shifts, browser changes, identity drift). For enterprise B2B with year-long cycles, the right tool is a CRM with deal-level attribution, not a click-based window.
Why median, not average
Use the median days-to-conversion, not the mean. Sales cycles are right-skewed — a handful of customers who took six months to buy will drag the average far above where most of your conversions actually cluster. Setting a window off the inflated average leaves it too long, which contaminates your reports with unrelated revenue. The median sits at the middle of your real distribution, and the +50% buffer then extends it to cover the genuine long tail without over-reaching. If you have Stripe revenue attribution wired up, you already have the timestamps to compute this in one query: first tracked click to first successful charge.
Impact of setting the window too short
Revenue attribution loss by window vs actual sales cycle:
Revenue lost by window length, at five sales-cycle medians
Read the column for your current window setting against the row for your median days-to-conversion. The intersection is the percentage of revenue that gets misattributed or dropped.
| Actual median days to convert | Window: 30 days | Window: 60 days | Window: 90 days |
|---|---|---|---|
| 10 days | 5% lost | 0% lost | 0% lost |
| 20 days | 18% lost | 2% lost | 0% lost |
| 35 days | 42% lost | 12% lost | 3% lost |
| 50 days | 58% lost | 28% lost | 8% lost |
| 70 days | 71% lost | 44% lost | 18% lost |
% of revenue not attributed correctly due to window-cutoff. Source: TrackRev workspace data, 2026.
The headline: a B2B SaaS team with a 35-day median sales cycle running a 30-day window is missing 42% of attribution. The channels that drove those late conversions look like underperformers. Cutting them based on this distorted data is the worst kind of mistake — it cuts the right thing for the wrong reason.
Recommended windows by product type
Five product archetypes with the window length that fits each. Use as a starting point; recompute from your own median once you have 90 days of conversion data.
Five SaaS product shapes, with rationale
| Product type | Typical sales cycle | Recommended window | Rationale |
|---|---|---|---|
| B2B SaaS (enterprise) | 60–90+ days | 120 days | Long evaluation; buffer matters |
| B2B SaaS (SMB, monthly) | 14–45 days | 90 days | Trials extend decision timeline |
| B2C SaaS / consumer | 1–14 days | 30 days | Fast decisions |
| Lifetime deal (LTD) | 1–7 days | 14 days | Urgency-driven purchase |
| High-ticket info product | 7–30 days | 45 days | Research before $200+ purchase |
How attribution windows interact with cookies
An attribution window only works if the underlying cookie lives long enough to support it. Cookie lifetime should always be ≥ attribution window.
Safari ITP and the 7-day client cookie cap
Under Safari ITP, client-set first-party cookies are capped at 7 days. If your cookie expires after 7 days but your window is 90 days, you've effectively lost 83 days of attribution every time. The fix is server-set cookies (HTTP Set-Cookie header from your own server) which persist for the configured lifetime even under ITP.
Based on attribution data across TrackRev workspaces, the workspaces with the largest attribution-window-to-cookie-lifetime gap are the ones with the worst attributed-revenue rates. Closing that gap is usually the highest-leverage fix in any attribution audit.
Cookie lifetime versus window length, in practice
The two settings are independent and easy to mismatch. The cookie lifetime is how long the visitor's identifier survives in the browser; the attribution window is how long a click is eligible for credit in your database. If the cookie expires before the window does, your database has the window open but no identifier to attach a conversion to — and the conversion is silently classified as direct.
The fix is mechanical: set the cookie's Max-Age equal to or greater than the attribution window, and set it from your server, not from JavaScript. For a 90-day window, that means Max-Age=7776000 on the redirect response, with SameSite=Lax, Secure, and HttpOnly flags. Set this once on the redirect endpoint and the entire window is supported.
When to revisit the window
Three triggers:
- You change pricing. A price hike from $19 to $99/mo lengthens median consideration. The window that fit at $19 will under-credit at $99.
- You change channel mix. Moving from paid social (short cycles) to content marketing (longer cycles) shifts the distribution.
- Quarterly health check. Recompute median days-to-conversion every quarter. If it's drifted more than 30%, adjust.
Tip
Practical audit, takes ten minutes. Run one SQL query against your payments table: median(days_between(first_click, first_paid_charge)) over the last 90 days of paid customers. Multiply by 1.5. Round up to the nearest 30-day increment. Cap at 120. That number is your attribution window. Set the matching cookie Max-Age and you have closed the most common attribution leak in the dataset.
TrackRev and attribution windows
TrackRev's default attribution window is 90 days — calibrated for B2B SaaS, which is the most common workspace shape. The window is configurable per workspace and per program, so you can run 14 days on a lifetime deal and 90 days on the main subscription product simultaneously. The attribution dashboard shows the window setting next to every channel's revenue so it's never ambiguous.
Related reading: 2026 SaaS attribution benchmarks shows the full distribution of conversions over time by product type; last-touch vs first-touch vs linear covers the model choice that runs alongside the window choice. TrackRev's free tier covers 1,000 events.
External references: Apple ITP documentation on the 7-day client cookie limit; PartnerStack 2026 benchmark on partnership programs' median 4.5-month time to first revenue (relevant for affiliate windows); TrackRev internal attribution data.
Frequently asked questions
- What is an attribution window?
- An attribution window is the period after a click during which a conversion can still be credited to that click. If a visitor clicks a link on day 1 and the window is 30 days, a purchase on day 27 is attributed to that click, but a purchase on day 31 is not — it gets credited to a more recent in-window click or to direct traffic. The window has two settings: its length in days and the attribution model (last-touch, first-touch, or linear) that decides which click inside the window receives credit.
- What attribution window should a SaaS company use?
- It depends on your sales cycle. As a rule of thumb: B2C and consumer SaaS with fast decisions can use 30 days; SMB monthly SaaS with trials should use around 90 days; enterprise B2B with long evaluations should use up to 120 days; and lifetime deals with urgency-driven purchases need only about 14 days. The wrong move is applying the inherited 30-day default to a product with a longer cycle — for B2B SaaS that silently strips credit from content and top-of-funnel channels. TrackRev defaults to a 90-day window because B2B SaaS is the most common workspace shape, and it is configurable per workspace and per program.
- How do I calculate the right attribution window from my sales cycle?
- Three steps. First, pull your median days-to-conversion: for paid customers acquired in the last 90 days, measure the days between the first tracked click and the first paid charge, then take the median (not the average, which a few slow buyers will inflate). Second, add a 50% buffer to cover the long tail — a 40-day median becomes a 60-day window. Third, cap the window at 120 days, beyond which the data gets contaminated by unrelated activity. If you track Stripe or Paddle revenue, the click and charge timestamps to compute this are already in your data.
- Does the attribution window change which channels look best?
- Yes, significantly. A window that is too short under-credits channels that drive long evaluations — content, SEO, podcasts, and brand — because their conversions land after the cutoff, making them look like underperformers you might wrongly cut. A window that is too long over-credits channels by sweeping in unrelated revenue that would have converted anyway. Changing the window length can reshuffle your entire channel ranking, which is why TrackRev shows the active window setting next to every channel's revenue so the comparison is never ambiguous.