Blog
9 min read

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.

TrackRev

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 / consumer84%12%4%
Lifetime deal / one-time94%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 convertWindow: 30 daysWindow: 60 daysWindow: 90 days
10 days5% lost0% lost0% lost
20 days18% lost2% lost0% lost
35 days42% lost12% lost3% lost
50 days58% lost28% lost8% lost
70 days71% lost44% lost18% 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.

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 typeTypical sales cycleRecommended windowRationale
B2B SaaS (enterprise)60–90+ days120 daysLong evaluation; buffer matters
B2B SaaS (SMB, monthly)14–45 days90 daysTrials extend decision timeline
B2C SaaS / consumer1–14 days30 daysFast decisions
Lifetime deal (LTD)1–7 days14 daysUrgency-driven purchase
High-ticket info product7–30 days45 daysResearch 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.

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.

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.

Related articles

Stop guessing where your revenue comes from.

Set up TrackRev in 5 minutes. Free tier covers 1,000 events / month.