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 — Founder of TrackRev.io

Muzahid MarufUpdated

Revenue attribution · 13 min read
On this page
  1. 01How does attribution modeling work?
  2. 02How do five rule-based models split one $600 sale?
  3. 03What are the types of attribution models?
  4. 04Where does each model live in the tools you already use?
  5. 05How do the models disagree across a month of sales?
  6. 06Which attribution model should you use?
  7. 07What does subscription revenue change in attribution?
  8. 08What should you store so you can switch models?
  9. 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.

TouchpointDayFirst touchLast touchLinearU-shapedTime decay
YouTube review1$600$0$120$240$18
Organic search blog post6$0$0$120$40$29
Newsletter15$0$0$120$40$70
Affiliate review link24$0$0$120$40$172
Branded paid search30$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 journeyLinear, each touchU-shaped, each endU-shaped, each middle touch
250%50%none
333.3%40%20%
520%40%6.7%
616.7%40%5%
1010%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 purchaseWeight, 7-day half-lifeWeight, 30-day half-life
01.0001.000
70.5000.851
140.2500.724
300.0510.500
600.0030.250
900.00010.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?

ToolModels offeredNotes
TrackRevFirst touch, last touch, linearLast touch is the default; no position-based, time-decay or data-driven model
Google Analytics 4Data-driven, paid and organic last click, Google paid channels last clickFirst click, linear, time decay and position-based were removed in November 2023
Google AdsLast click, data-drivenData-driven is the default for most conversion actions; the 4 other rule-based models are no longer supported
HubSpot revenue attributionLinear, first interaction, last interaction, U-shaped, W-shaped, full path, time decay, J-shaped, inverse J-shaped9 models; full path gives 22.5% to each of 4 milestones and 10% to the rest
Adobe AnalyticsFirst touch, last touch, linear, participation, same touch, U-shaped, J curve, inverse J, time decay, custom, algorithmic11 models; J curve gives 60% to the last touch and 20% to the first
MixpanelFirst touch, last touch, linear, participation, time decay, U-shaped, J-shaped, inverse J-shaped, customDefaults 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.

CustomerTouchpoints in order
1Podcast, branded search
2Podcast, newsletter, branded search
3Newsletter, affiliate
4Affiliate
5Branded search
6Podcast, affiliate, branded search
ChannelFirst touchLast touchLinearFirst 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?

DecisionModel to readWhy
Raising or cutting paid search and retargeting spendLast touchThe closing click is the one a bid or budget change acts on directly
Funding podcasts, video, SEO content or communityFirst touchIn the month above the podcast earns $1,800 under first touch and $0 under last touch
Defending several channels in one budget reviewLinearEvery channel with a touch gets a share, $120 each on the 5-touch sale
Journeys with a clear opener, a clear closer and nurture betweenPosition-based40% to each end and 20% to the middle, where the tool offers it
Fewer than about 30 paid conversions a monthLast touch and first touch side by sideOne 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 outputData-drivenEnough 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.

PostLinkedIn

Frequently asked questions

Muzahid Maruf — Founder of TrackRev.io

Written by

Muzahid Maruf

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.