Attribution modeling for SaaS: how each model splits credit for one sale
Attribution modeling decides which channel gets credit for a sale. See five rule-based models split one $600 SaaS sale, and which type fits your funnel.
Muzahid Maruf, FounderUpdated
On this page
- 01How does attribution modeling work?
- 02How do five rule-based models split one $600 sale?
- 03What are the types of attribution models?
- 04Where does each model live in the tools you already use?
- 05How do the models disagree across a month of sales?
- 06Which attribution model should you use?
- 07What does subscription revenue change in attribution?
- 08What should you store so you can switch models?
- 09How does TrackRev handle attribution modeling?
Explore with AI
Opens this article inside the chosen assistant with a ready-made prompt.
Attribution modeling is the practice of choosing a rule that divides credit for a sale among the marketing touchpoints before the sale. Take a $600 annual plan bought after 5 touches.
Last touch gives paid search all $600, first touch gives YouTube all $600, and linear gives each of the 5 channels $120.
A SaaS team with a few dozen paid conversions a month should read last touch and first touch side by side, then add linear once journeys regularly run past 3 touches.
Google Analytics 4 dropped first click, linear, position-based and time-decay attribution in November 2023, so guides written before 2023 describe options the reports no longer have. According to Google Analytics Help, 3 models remain.
Key takeaways
- Attribution modeling is the rule that splits a sale's revenue across the touchpoints before it. A $600 sale adds back up to $600 under every rule, and only the channel rows change.
- On a $600 annual plan with 5 touches, last touch gives paid search $600, first touch gives YouTube $600, linear gives every channel $120, and 7-day half-life time decay gives paid search $311 and YouTube $18.
- Google removed first click, linear, time decay and position-based attribution from Google Analytics 4 in November 2023. HubSpot, Adobe Analytics, Mixpanel and TrackRev still offer rule-based models.
- Under about 30 paid conversions a month, read last touch and first touch side by side. Data-driven attribution needs more conversion paths than most SaaS teams have.
How does attribution modeling work?
Every attribution model starts from two inputs: an ordered list of touchpoints for each buyer and a conversion with a dollar value.
A touchpoint is a click on a link tagged utm_source=newsletter, a Google Ads click or a referrer, each timestamped.
For SaaS, make the conversion the first paid charge, such as a $600 payment in Stripe, because a trial signup is a lead with no revenue. The credits assigned add up to the conversion value.
Google Analytics Help defines a model as a rule, a set of rules or a data-driven algorithm. No model changes the total, so the $600 sale still sums to $600 and the report ties back to what Stripe collected.
How do five rule-based models split one $600 sale?
Five rule-based models split one $600 sale into different channel rows, and the total stays $600.
The buyer watches a YouTube review on day 1, reads a blog post found through organic search on day 6, opens a newsletter on day 15, clicks an affiliate's review link on day 24, and pays on day 30 after clicking a branded paid-search ad.
| Touchpoint | Day | First touch | Last touch | Linear | U-shaped | Time decay |
|---|---|---|---|---|---|---|
| YouTube review | 1 | $600 | $0 | $120 | $240 | $18 |
| Organic search blog post | 6 | $0 | $0 | $120 | $40 | $29 |
| Newsletter | 15 | $0 | $0 | $120 | $40 | $70 |
| Affiliate review link | 24 | $0 | $0 | $120 | $40 | $172 |
| Branded paid search | 30 | $0 | $600 | $120 | $240 | $311 |
| Total | $600 | $600 | $600 | $600 | $600 |
Illustrative journey. U-shaped gives 40% to each end and shares 20% across the middle 3. Time decay uses a 7-day half-life. Amounts are rounded to whole dollars.
First touch and last touch put the whole $600 on opposite ends of the journey, and linear spreads the sale flat. U-shaped spends $480 on the two ends and shares $120 across the middle 3.
Time decay behaves like last touch with a softer edge: the final 2 touches take $483 of the $600, and the YouTube review that started the journey gets $18.
Time-decay arithmetic for this journey
Adobe documents the weight as 2^(-t/h), where t is the days between a touch and the purchase and h is the half-life. With h = 7, the weights are 0.06 for day 1, 0.09 for day 6, 0.23 for day 15, 0.55 for day 24 and 1.00 for day 30. The five weights sum to 1.93, so the closing click takes 1 / 1.93, or 52%, of the sale. Stretch the half-life to 30 days and the same click takes 27%, with no change in what the buyer did.
What are the types of attribution models?
The types of attribution models fall into 3 families: single-touch, rule-based multi-touch and algorithmic. Single-touch models, first touch and last touch, hand one touchpoint 100% of the credit.
Rule-based multi-touch models (linear, position-based, time decay) split the sale with a formula you can work out by hand.
Algorithmic models estimate the split from your own conversion paths, as Google Analytics 4 does with data-driven attribution and Adobe Analytics does with its algorithmic model.
HubSpot lists 9 models, Adobe Analytics lists 11 and Mixpanel lists 9, according to each vendor's documentation in October 2026.
How does last touch credit a sale?
Last touch attribution gives the final touchpoint before the conversion the whole sale. Mixpanel assigns last touch with a 30-day lookback unless you change the window.
The rule-based models in Google Analytics 4 are two last-click variants, and the main one, paid and organic last click, credits the last non-direct click.
In Google's own examples, a path of Display, Social, Paid Search and Direct gives 100% to Paid Search, because GA4 excludes direct visits unless the whole path was direct.
A tool that counts Direct as a channel gives that sale to Direct, which is one reason two tools disagree on the same model.
Last touch is accurate when the closing click is the decision, as with a self-serve plan on a 7-day trial or a retargeting budget you are tuning.
Last touch misleads when creators and closers share a journey, and the podcast in the monthly example below earns $0 under it.
On a B2B cycle of 60 to 90 days, the closing click often lands after the buyer has decided, so a branded search or pricing page visit gets credit for what a podcast started.
Pair last touch with first touch and read the gap. For example, the $3,600 month below shows a gap of $1,800 on the podcast row.
Who gets credit under first touch?
First touch attribution gives the whole sale to the earliest touchpoint inside the lookback window. The rule answers where buyers first met you, which is what podcast, video, SEO and community budgets depend on.
The blind spot mirrors last touch: the newsletter that kept the buyer warm and the ad that closed the sale both score $0.
First touch is also the model most exposed to lost cookies, because the rule has to remember a visitor for weeks.
WebKit caps JavaScript-written cookies at 7 days and deletes other script-writable storage after 7 days of Safari use without interaction on the site.
A first visit a script recorded on day 6 can vanish before the same person returns on day 24, and the return then counts as a new first touch.
Setting the first-click cookie from your own server avoids the script cap, and the Safari ITP guide covers what survives.
How does linear credit spread across touches?
Linear attribution divides the sale equally across every touchpoint, so 5 touches get $120 each on the $600 sale and 3 touches get $200 each.
Linear is the simplest answer to which channels took part at all, and the rule puts a newsletter or a podcast into a budget meeting.
The cost is that trivial touches get overpaid: a retargeting click carries the same weight as a 40-minute product demo.
At 10 touches each channel gets $60, and a ranking built on those slices mostly counts how often you contacted people. Check whether the median journey runs past 4 touches before choosing linear.
In practice, a retargeting click and a demo call each get $120 of a $600 sale.
How does U-shaped credit weigh the ends?
Position-based attribution, also called U-shaped, gives the first and last touches 40% each and shares the remaining 20% across the middle: $240, $40, $40, $40 and $240 on the example.
Adobe Analytics and Mixpanel put the 40% shares on the first and last touch.
HubSpot puts the shares on the first interaction and the interaction that turned the visitor into a contact, which may not be the click before the sale.
Mixpanel's own example gives a 6-touch path 40%, 5%, 5%, 5%, 5% and 40%, and with 2 touches the split normalizes to 50% each.
U-shaped therefore only does distinct work from the third touch onward, and the middle slices thin as the path grows.
| Touches in the journey | Linear, each touch | U-shaped, each end | U-shaped, each middle touch |
|---|---|---|---|
| 2 | 50% | 50% | none |
| 3 | 33.3% | 40% | 20% |
| 5 | 20% | 40% | 6.7% |
| 6 | 16.7% | 40% | 5% |
| 10 | 10% | 40% | 2.5% |
Share of one sale per touch. The 2-touch row uses Mixpanel's normalization.
How does time decay weigh recent touches?
Time-decay attribution bets that recent touches matter more than early ones. HubSpot, Adobe Analytics and Mixpanel all document a 7-day half-life as the default, and the half-life is the dial that decides the answer.
The model suits cycles that are short next to the half-life.
On a 90-day cycle, a discovery touch carries almost no weight at 7 days and an eighth of the closer's at 30, so the half-life decides whether early touches count at all.
For example, a touch 30 days before purchase keeps 5.1% of the closer's weight at a 7-day half-life and 50% at a 30-day half-life, per the table below.
| Days before purchase | Weight, 7-day half-life | Weight, 30-day half-life |
|---|---|---|
| 0 | 1.000 | 1.000 |
| 7 | 0.500 | 0.851 |
| 14 | 0.250 | 0.724 |
| 30 | 0.051 | 0.500 |
| 60 | 0.003 | 0.250 |
| 90 | 0.0001 | 0.125 |
Weight of a touch relative to the closing click, from 2^(-days/half-life).
When does an algorithm beat a fixed rule?
Data-driven attribution is an algorithm that estimates credit from the paths in your own data, comparing buyers who converted with paths that did not. Google Ads Help calls data-driven the default for most conversion actions.
In Google Analytics 4 the model weighs how adding each interaction changes the estimated probability of a conversion. Google removed first click, linear, time decay and position-based from GA4 in November 2023 and no longer supports them in Google Ads.
Data-driven attribution trades a rule you can compute by hand for an estimate you cannot reproduce for a single sale.
With 40 conversions a month, a path-based model has 40 converting paths to learn from, spread across every channel and touch order. Most SaaS teams are better served by a rule they can audit.
Where does each model live in the tools you already use?
| Tool | Models offered | Notes |
|---|---|---|
| TrackRev | First touch, last touch, linear | Last touch is the default; no position-based, time-decay or data-driven model |
| Google Analytics 4 | Data-driven, paid and organic last click, Google paid channels last click | First click, linear, time decay and position-based were removed in November 2023 |
| Google Ads | Last click, data-driven | Data-driven is the default for most conversion actions; the 4 other rule-based models are no longer supported |
| HubSpot revenue attribution | Linear, first interaction, last interaction, U-shaped, W-shaped, full path, time decay, J-shaped, inverse J-shaped | 9 models; full path gives 22.5% to each of 4 milestones and 10% to the rest |
| Adobe Analytics | First touch, last touch, linear, participation, same touch, U-shaped, J curve, inverse J, time decay, custom, algorithmic | 11 models; J curve gives 60% to the last touch and 20% to the first |
| Mixpanel | First touch, last touch, linear, participation, time decay, U-shaped, J-shaped, inverse J-shaped, custom | Defaults to last touch with a 30-day lookback |
Marketing attribution models listed in each vendor's documentation, checked October 2026.
How do the models disagree across a month of sales?
Take six customers who each pay $600, $3,600 in all. The first table lists the touchpoints in order, and the second table credits each channel under three models.
| Customer | Touchpoints in order |
|---|---|
| 1 | Podcast, branded search |
| 2 | Podcast, newsletter, branded search |
| 3 | Newsletter, affiliate |
| 4 | Affiliate |
| 5 | Branded search |
| 6 | Podcast, affiliate, branded search |
| Channel | First touch | Last touch | Linear | First minus last |
|---|---|---|---|---|
| Podcast | $1,800 | $0 | $700 | +$1,800 |
| Newsletter | $600 | $0 | $500 | +$600 |
| Affiliate | $600 | $1,200 | $1,100 | -$600 |
| Branded search | $600 | $2,400 | $1,300 | -$1,800 |
| Total | $3,600 | $3,600 | $3,600 | $0 |
Illustrative month. Every column adds up to the $3,600 collected.
Read across a row and the channel's role shows. The podcast earns $1,800 under first touch and $0 under last touch, so a team that looked only at last touch would cancel the podcast.
Branded search runs the other way: $2,400 under last touch and $600 under first, because branded search closed 4 of the 6 sales and was the only touch in 1 of them.
The first-minus-last column sorts creators (positive) from closers (negative) and sums to $0, because the models only move credit. Six sales is too few to act on.
At 20 paid conversions a month, one customer is 5% of the month's revenue, and under first or last touch a single journey moves a channel's share by 5 points.
Which attribution model should you use?
| Decision | Model to read | Why |
|---|---|---|
| Raising or cutting paid search and retargeting spend | Last touch | The closing click is the one a bid or budget change acts on directly |
| Funding podcasts, video, SEO content or community | First touch | In the month above the podcast earns $1,800 under first touch and $0 under last touch |
| Defending several channels in one budget review | Linear | Every channel with a touch gets a share, $120 each on the 5-touch sale |
| Journeys with a clear opener, a clear closer and nurture between | Position-based | 40% to each end and 20% to the middle, where the tool offers it |
| Fewer than about 30 paid conversions a month | Last touch and first touch side by side | One customer is 3.3% of the month, so keep rules you can trace sale by sale |
| Thousands of conversions a month and an analyst to check the output | Data-driven | Enough paths to learn from, though the split cannot be reproduced by hand |
The 30-conversion line is a rule of thumb.
How do sales cycle and lookback window change the answer?
A lookback window is the number of days before a conversion in which a touch can earn credit, and the window decides which touches are eligible at all.
GA4 defaults to 30 days for acquisition events and 90 days for other conversions, and its attribution settings page lists the options.
To size your window, take customers who paid in the last 90 days and find the median days between first tracked click and first payment.
In our own attribution benchmarks, the median is 6.3 days, the 75th percentile is 21.0 days and the 90th is 48.2 days. A 30-day window would cut off more than the slowest tenth of buyers in a typical workspace.
How do you check a model against customers you know?
A sanity check is the fastest way to find out whether a model is wrong or the data is.
Pull 5 to 10 recent customers whose real path you know, such as one who replied to a newsletter or one who found you through a podcast, and check what each model says about them.
If last touch files those customers under Direct, the gap is in the data, and a different model will not close it.
The comparison of self-reported and tracked attribution covers asking buyers directly, for example with a "how did you hear about us" field at checkout.
What does subscription revenue change in attribution?
Subscription revenue changes attribution because credit is assigned once, at the first payment, and renewals ride along with it.
A $49 monthly plan kept for 12 months is $588, so moving the customer from the closing channel to the opening one shifts $588 of credit. Channels also differ in the customers they bring.
In our attribution benchmarks, the 12-month lifetime value multiplier is 2.1x for organic search and 0.8x for paid social, so two channels that bring the same $49 first invoice can be worth very different amounts a year later.
Three rules keep the model honest on subscriptions:
- Make the first paid charge the conversion. A model fed trial signups credits channels that bring free accounts that never pay.
- Net refunds and chargebacks out of the credited revenue, or channels that attract refunds look better than they are.
- Decide how renewals inherit credit before the first dispute. The subscription LTV attribution guide compares three ways to do it.
What should you store so you can switch models?
A model is a calculation over stored touchpoints, so keep every touch with its timestamp, visitor ID, utm_source, utm_medium and utm_campaign, and apply the model at report time.
A tool that keeps only the attributed result cannot re-run last quarter under another rule. Tag every link you control, because a session without a source is reported as Direct in Google Analytics 4. The UTM parameters guide covers naming.
Carry a click ID into the payment too. Stripe metadata accepts 50 key-value pairs, with keys up to 40 characters and values up to 500, and copies a subscription's metadata onto each invoice it creates as a one-time snapshot.
The Stripe metadata attribution setup shows the wiring.
How does TrackRev handle attribution modeling?
TrackRev is SaaS affiliate software for indie hackers and small teams with attribution built in. We built TrackRev to store every click and compute first-touch, last-touch and linear from the same log, with last touch as the default.
Revenue from Stripe, Paddle Billing, Polar, Lemon Squeezy, Creem or Dodo Payments is joined to each click, so a model switch changes the channel credit while the total still ties to the processor.
Refunds are netted out and no re-tagging is needed. TrackRev has no position-based, time-decay or data-driven model, so a team that needs one should use a tool from the table above.
Revenue by channel needs a paid plan, which starts at $29 a month with no limit on tracked revenue. The free plan covers link tracking for up to 50 links and 1,000 events a month, with revenue figures hidden.
The revenue attribution page shows the channel report, and the multi-touch attribution setup guide walks through the five parts of the build for the six-sale table above.
Found this useful? Share it.
Frequently asked questions
- An attribution model is the formula that turns an ordered list of touchpoints into a credit for each channel. Weights come from a fixed split or from data.
- Single-touch models, first touch and last touch, give 100% of the credit to one touchpoint and $0 to every other. Multi-touch models split credit across several touchpoints by a rule or an algorithm. A buyer with a single touchpoint gets the same answer from every model.
- No. A change applies going forward, and the window applies to all attribution models. The options are 7 or 30 days for acquisition events such as first_open and first_visit, and 30, 60 or 90 days for every other conversion event. Data-driven conversions can be reattributed for up to 7 days after the conversion, so the most recent numbers can still shift.
- U-shaped has two heavy positions and W-shaped has three. In HubSpot's definitions, U-shaped gives 40% to the first interaction and 40% to the interaction that created the contact, then splits 20% across the rest. W-shaped gives 30% to the first interaction, 30% to the one that created the contact and 30% to the one that created the deal, then splits the remaining 10% across everything between. Both need contact and deal creation recorded in a CRM.
- Yes, at small volume. Export each customer's touches with timestamps and the payment amount, sort by date, then apply the rule: first touch takes the first row, last touch the last, and linear divides the payment by the row count. Joining payments to touches is the slow part, and past a few hundred conversions the job gets tedious.
- A commission rule is an attribution model with payouts attached. Last touch pays the affiliate clicked last inside the cookie window, and first touch pays the one who introduced the buyer, which favors reviewers over coupon sites. Apply the rule to renewals too, since partners optimize for whatever the terms publish.
- Settings differ more than formulas do. The lookback window can be 30 days in one tool and 90 in another, one tool may count a trial signup as the conversion while the other counts the first paid charge, and each handles refunds and Safari's cookie cap in its own way. Align the conversion event and the window before comparing two reports.

Written by
Founder, TrackRev.io & Contant.io
Muzahid Maruf founded TrackRev.io, SaaS affiliate software with no limit on tracked revenue, and Contant.io. He writes about affiliate programs.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Run your affiliate program without a revenue cap.
Affiliate software for indie hackers and small SaaS teams: $29 a month flat, 0% fees, link tracking and revenue attribution built in. Free to start, no card.