Explainer

First-Touch vs Last-Touch Attribution: What's the Difference?

A visitor discovers your SaaS through Reddit, returns directly three days later and buys a $49 subscription. Which source should receive the $49? The answer depends on the attribution model, and the two simplest models give different answers.

Last reviewed 13 min readBy the SuprAnalytics team

The short answer

  • First-touch attribution credits the earliest recognized acquisition touchpoint. In the example: Reddit.
  • Last-touch attribution credits the final recognized touchpoint before conversion. In the example: Direct, if the tool counts direct visits (not every tool does).
  • Both can be valid reporting perspectives: one about discovery, one about the moment of purchase.
  • Neither proves causation. Attribution is a reporting model, not evidence that a channel caused the sale.

What is marketing attribution?

Marketing attribution is a set of rules for assigning credit for a conversion, or the revenue from it, to the marketing touchpoints that came before it. The rules are the attribution model. Change the rules and the same customer journey produces a different report.

Touchpoint
An interaction your analytics tool recorded, usually a visit with a source attached: a referrer, a campaign tag, or neither.
Acquisition source
Where a visit came from: a search engine, a social site, a newsletter, an ad, another website, or Direct.
Conversion
The outcome being credited: a signup, a trial, a payment.
Attribution model
The rule that decides which touchpoints get credit for a conversion, and how much each gets.
Attribution window
How far before the conversion a touchpoint can still count. Some tools let you set it; in others it's limited by how long the tool recognizes a visitor.
Direct traffic
Visits with no referrer and no campaign tag: typed addresses and bookmarks, but also links from apps, documents and email clients that don't pass a referrer.

A model can only choose among the touchpoints the tool recorded and connected to the same person. An ad someone saw but never clicked, a podcast mention, a recommendation from a friend, or a visit on another device usually isn't in the data at all. Attribution reconstructs the recorded part of a journey, not the whole journey.

What is first-touch attribution?

First-touch attribution, also called first-click or first-interaction attribution, gives 100% of the credit to the earliest touchpoint recognized for the customer. Everything after it gets nothing.

Where it helps

First-touch answers "which channels introduce us to the people who later pay?" That suits discovery: search content, communities, launches and partnerships often start journeys without being there at the end. It's also stable: the first touch doesn't move while the customer keeps visiting.

Where it falls short

  • It ignores everything after the first visit: the comparison page, the reminder email, the demo that convinced them.
  • It depends on identity. "First recognized" isn't "first ever": if the visitor first came on their phone or cleared cookies, the first recorded visit is a later one.
  • Long sales cycles make it harder. The longer between discovery and purchase, the more likely the identifier expired or the device changed in between.

What is last-touch attribution?

Last-touch attribution, also called last-click or last-interaction attribution, gives 100% of the credit to the final touchpoint recognized before the conversion. In the same example, the newsletter receives the $99, if it was the last recorded visit before the payment.

Where it helps

Last-touch answers "what brings people back at the moment they buy?" It's close in time to the purchase, so it depends less on connecting visits weeks apart, and it's useful for comparing conversion-stage channels such as email to existing leads, branded search or retargeting.

Where it falls short

  • It ignores how the customer found you. A channel that only introduces people looks worthless.
  • It favors channels that reach people who have already decided, which can flatter branded search, email and Direct.
  • Its result depends on the product's rules, above all on how it treats direct visits.

Tools don't agree on Direct. Some count a direct visit as a valid last touch. Others skip it and credit the most recent visit with a known source. Check which rule your tool uses before you compare last-touch numbers between tools.

First-touch vs last-touch attribution compared

Neither column is more accurate than the other. They answer different questions about the same recorded journey.

First-touch and last-touch attribution compared
First-touchLast-touch
Which touchpoint gets creditThe earliest touchpoint recognized for the customerThe final touchpoint recognized before the conversion
Best question answeredWhich channels introduce people who later pay?Which channels are present when people pay?
Typical strengthsShows discovery channels that rarely get the final clickClose to the purchase; often only the buying visit has to be recognized
Typical limitationsIgnores what happened later; the first recognized visit may not be the first exposureIgnores how the customer found you; favors channels that reach people who've already decided
Direct trafficGets credit only when the first recognized visit was directDepends on the tool: Direct gets the credit, or the last visit with a known source does (last non-direct)
Returning-visitor dependenceHigh: the first visit must be connected to a purchase that may come weeks laterLower: the purchase visit matters most, so fewer visits need connecting
Long sales cyclesMost exposed: cookies expire and devices change between discovery and purchaseLess exposed, but credits whatever came last, however small its role
Revenue reporting impactRevenue moves toward discovery channelsRevenue moves toward conversion-stage channels and Direct

Try it: one journey, two answers

A fictional customer visits three times in a week, then pays $99. Switch between the two models to see which visit gets the credit. Nothing else changes: same visits, same payment, same total.

One customer, three visits, one $99 paymentFictional example. All visits belong to the same recognized visitor.
  1. Visit 1 · Monday
    Reddit
    Clicks a link in a Reddit thread
    Credited: $99
  2. Visit 2 · Wednesday
    Google Search
    Searches the product's name, clicks the result
    Not credited: $0
  3. Visit 3 · Friday
    Direct
    Types the address, no referrer or campaign tag
    Not credited: $0
  4. Friday
    $99 payment
    Pays during the direct visit

Credited sourceReddit

Attributed revenue$99

First-touch: Reddit was the first recognized touchpoint. The total stays $99; only the source that gets it changes.

  • First-touch: Reddit receives $99. Reddit started the journey.
  • Last-touch: Direct receives $99. The direct visit was the last one before paying.

This simplified outcome assumes all three visits belong to the same recognized visitor and that Direct counts as a valid last touch. Under a last non-direct rule, Google Search would receive the $99 instead.

Why Direct traffic changes the answer

Direct means the analytics tool saw no referrer and no campaign tag. It's a label for missing information, not a channel anyone chose. Google Analytics 4, for example, defines its Direct channel as source "(direct)" with medium "(none)" or "(not set)".

Returning visitors often arrive this way. They type the address, use a bookmark or browser autocomplete, or click a link in a chat app, a PDF or an email client that strips the referrer. Someone who found you on Reddit on Monday may well come back as Direct on Friday.

If a tool treats Direct as a touchpoint like any other, and that return visit is the last one, last-touch gives Direct the credit. That's why some tools use last non-direct touch: direct visits are skipped and the most recent visit with a known source gets the credit, unless every visit was direct. GA4 states that its attribution models exclude direct visits from credit unless the whole path is direct. The aim is to stop a visit with no source from overwriting a known one; the cost is that a genuine direct return, from a customer who already knew you, never shows as such.

The timeline of the same fictional visitor on a phone: a Reddit visit on 16 October, a direct visit on 23 October, and a $29 payment via Paddle. Made-up data.
A SuprAnalytics visitor journey: found from reddit.com on 16 October, back directly on 23 October, paid $29. First touch credits Reddit; last touch credits Direct.

First-touch vs last-touch for SaaS revenue

Take a fictional SaaS month: 100 visitors from Reddit, 50 from Google and 20 from a newsletter, some of whom come back several times. Six customers pay $49 each through a supported payment provider, and each payment is matched to the customer's visits. A seventh $49 payment can't be matched to any visitor.

Seven fictional customers and the source each model credits
Recognized journeyFirst-touch creditLast-touch credit
Customer AReddit → DirectRedditDirect
Customer BReddit → GoogleRedditGoogle
Customer CGoogleGoogleGoogle
Customer DGoogle → NewsletterGoogleNewsletter
Customer ENewsletter → DirectNewsletterDirect
Customer FRedditRedditReddit
Customer GNo matched visitsUnattributedUnattributed
Fictional revenue by source under each model
SourceVisitorsFirst-touch revenueLast-touch revenue
Reddit100$147$49
Google50$98$98
Newsletter20$49$49
DirectReturn visits only$0$98
Unattributed—$49$49
Total$343$343

Under first-touch, Reddit looks like the strongest channel: $147 from 100 visitors. Under last-touch it brings $49, and Direct shows $98 even though nobody in this example discovered the product directly. Google is $98 either way, because it started two journeys and ended two others. The unmatched payment is unattributed under both.

Changing the attribution model redistributes credit. It does not create additional revenue.

How SuprAnalytics handles attribution

SuprAnalytics connects payments to the visits before them, so every source, campaign, page and country report can show revenue. This is how it decides which visit gets the credit:

  • Two models: first touch and last touch. Last touch is the default for every new website.
  • A setting per website, in Settings → Revenue → Attribution model. It applies to the website's revenue reports: the chart, the payments list, and revenue by channel, referrer, campaign, page or country.
  • First touch credits the visitor's earliest recorded visit.
  • Last touch credits the visit the payment belongs to when the checkout passes its session id, otherwise the latest visit that started before the payment. Direct visits count.
  • Visits are sessions. A session ends after 30 minutes without activity, and its source is decided when it starts. A utm_source or ref tag on the landing page takes priority over the referrer.
  • History follows the setting. Each matched payment stores both its first and its last visit, and the model is applied when a report is read, so switching re-credits past payments at once, in either direction. Nothing is reprocessed, and nothing missing is recovered: a payment that was never matched to a visitor stays without a source under both models.
  • Lifetime value is always first touch. The Lifetime value page groups customers by the visit that first brought them, whatever the setting.
  • Recognition has limits. The visitor id lives in a first-party cookie for a year after the last visit. In cookieless mode a visitor is recognized for a day. A phone and a laptop are two visitors; devices aren't merged.

To compare both views without changing the setting, the MCP tools accept a model argument, first or last. The revenue attribution docs cover the setup, and subscription revenue explains how renewals are credited.

The referrers of a fictional website on a phone, sorted by revenue, with Google and Direct/None at the top. Made-up data.
Revenue by referrer in SuprAnalytics. Under last touch, Direct/None collects the revenue from customers whose last visit had no source.

How attribution affects Stripe payments

Stripe knows the customer and the amount. It doesn't know which marketing source sent them. That part comes from your analytics:

  1. A visitor arrives through a tracked source. The script records the visit, its source, and gives the visitor an id.
  2. They browse, perhaps leave and return, perhaps several times.
  3. They pay through Stripe Checkout or a Payment Link.
  4. Stripe sends the payment to SuprAnalytics through a webhook. Polar, Paddle, Lemon Squeezy and Dodo Payments work the same way; other providers can use the Payment API.
  5. SuprAnalytics matches the payment to a visitor: the visitor id passed to checkout, else the same Stripe customer id on an earlier matched payment, else the same email.
  6. The website's attribution model decides which of that visitor's visits receives the revenue.

An unmatched payment can't be assigned to a source under any model. It still counts in total revenue, without a source, so the sum of the source rows can be lower than the total. Setup is in the Stripe guide; what you get is on the Stripe revenue attribution page.

Which attribution model should you use?

First-touch may be useful when you are

  • Evaluating discovery channels
  • Understanding top-of-funnel acquisition
  • Measuring which channels reach new people at all

Last-touch may be useful when you are

  • Evaluating the final recognized interaction before purchase
  • Understanding conversion-stage channels
  • Comparing traffic sources close to the purchase

Many founders look at both. Where the two agree, the signal is easier to trust. Where they disagree, the gap is informative: a channel that is strong under first-touch and weak under last-touch is probably starting journeys that other channels finish. Tag your own links with UTM parameters so the visits you can label aren't lost to Direct, and read individual visitor journeys to see the steps no single-touch model shows. None of this guarantees better decisions; it gives you two consistent views to reason with.

Limitations of single-touch attribution

  • One touchpoint receives all the credit; every other one receives none.
  • Earlier or later interactions are ignored, depending on the model.
  • Identity matching can fail: a visitor who isn't recognized starts a new journey.
  • Cross-device journeys are incomplete when devices aren't linked.
  • Cookieless tracking can shorten how long a visitor is recognized.
  • Direct traffic can hide the earlier source that actually introduced the customer.
  • Attribution doesn't measure incrementality: whether the sale would have happened without the channel.

Incrementality needs an experiment, such as holding back part of an audience and comparing the two groups. Ad platforms offer lift studies for this because attribution rules can't answer it.

Multi-touch models, briefly

The wider industry uses models that split credit across several touchpoints. These are general concepts; SuprAnalytics doesn't offer them.

Linear
Every recorded touchpoint gets an equal share.
Time-decay
Touchpoints closer to the conversion get a larger share.
Position-based
The first and last touchpoints get the largest shares (often 40% each) and the middle ones share the rest. Also called U-shaped.
Data-driven
Shares are estimated statistically from converting and non-converting paths. It needs a lot of data and is a model, not a measurement.

Tools change here too: Google retired first click, linear, time-decay and position-based models from Google Ads and GA4 in 2023, leaving data-driven and last-click variants.

Common attribution mistakes

Treating attributed revenue as incremental
"$5,000 attributed to Reddit" doesn't mean you'd lose $5,000 without Reddit.
Ignoring Direct
A large Direct share under last-touch often means returning customers whose earlier source is hidden. Look at first-touch before cutting a channel.
Comparing models with different definitions
Different tools, windows and Direct rules produce different numbers for the same data. Compare like with like.
Assuming cross-device recognition
A visitor on a phone and on a laptop is usually two visitors.
Treating first-touch as first exposure
It's the first recorded visit, not the first time someone heard of you.
Treating last-touch as the final influence
A review, a friend's message or a sales call may have come after the last tracked visit.
Forgetting unattributed payments
Revenue by source adds up to matched revenue, which can be less than total revenue.
Confusing goals with revenue
A signup or trial goal shows intent; only payment data shows revenue. Keep the two reports apart.

Related: revenue attributionSuprAnalytics vs Google Analyticspricing

Frequently asked questions

What is the difference between first-touch and last-touch attribution?

First-touch gives all the credit for a conversion to the earliest touchpoint recognized for that customer. Last-touch gives it all to the final recognized touchpoint before the conversion. Same journey, same revenue total, different source.

Which attribution model is better for SaaS?

Neither is better in general. First-touch is useful for judging discovery channels, last-touch for the channels present at purchase. Many SaaS founders compare both, and treat neither as proof that a channel caused the sale.

Does first-touch attribution give all credit to the first visit?

It gives all credit to the first visit the analytics tool recognized as the same customer. That can be later than the real first exposure: a podcast mention, a visit on another device or a visit before cookies were cleared isn't in the data.

Does last-touch attribution include Direct traffic?

It depends on the tool. Some count a direct visit as a valid last touch; others, such as GA4's last-click models, skip direct visits and credit the previous known source. In SuprAnalytics, last touch counts direct visits.

What is last non-direct touch attribution?

A variant of last-touch that ignores direct visits and credits the most recent visit with a known source, unless every visit was direct. SuprAnalytics doesn't offer it; its options are first touch and last touch.

Can changing attribution models change historical revenue reports?

In SuprAnalytics, yes: each matched payment stores both its first and last visit, so switching models re-credits past payments at once. It can't add sources to payments that were never matched to a visitor, and the revenue total doesn't change.

How does cookieless tracking affect attribution?

It shortens how long a visitor is recognized. In SuprAnalytics' cookieless mode the visitor id changes every day, so a purchase on a later day can't be connected to an earlier day's visit, and first-touch credit falls on the purchase day's first visit.

Can Stripe payments be attributed to traffic sources?

Yes, when your analytics can match the payment to a visitor. Stripe doesn't know which marketing source sent a customer. SuprAnalytics matches Stripe payments by the visitor id passed to checkout, a known customer id or email; unmatched payments count without a source.
All articles

See which channels bring paying customers.

Connect supported payment providers to your website analytics and compare how acquisition sources contribute to revenue.

14-day free trial · No card required