Pricing Academy Blog

Marketing attribution models, explained

First touch, last click, linear, time decay, position-based and data-driven: how each one shares the credit for a sale, a worked example, and the tracking every model depends on.

Illustration: four touchpoint cards, an ad, a search, an email and a cart, each with a stack of coins, and the monitor mascot pointing at them with a pie chart on its screen
The short answer

An attribution model is the rule that decides which marketing touch gets the credit for a sale. Single-touch models give it all to one touch: the first one or the last click. Multi-touch models split it: evenly (linear), toward the end (time decay), toward the ends (position-based), or by a statistical model (data-driven).

No model is true; each answers a different question. What matters more is that every sale is tied to the right click in the first place. That is what ElasticFunnels analytics does: it ties each order to the ad, campaign and page it came from.

I architected the attribution for a direct-response company during my nine years as its CTO. People spend a lot of energy arguing about which model is right, and far less checking whether each order is tied to the right click at all. Get that plumbing right first. Choosing the model is the easy part.

What marketing attribution is

Most buyers touch your marketing more than once before they buy. They see an ad, search for the brand a few days later, open an email, and buy. Marketing attribution is the job of deciding how much of that sale each touch earned, so you know where the next dollar should go.

An attribution model is the rule you use to do it. Change the rule and the same sale moves between channels, which is why two reports on the same campaign can disagree and both be "right".

The six common attribution models

Here are the models you will meet in ad platforms and analytics tools, with the question each one answers best.

ModelWho gets the creditGood forBlind spot
First touchAll of it to the first interactionWhich channels find new buyersIgnores everything that closed the sale
Last clickAll of it to the last click before the purchaseWhich channels closeIgnores how the buyer found you
LinearSplit evenly across every touchSeeing the whole pathTreats a glance and a decisive click the same
Time decayMore to the touches closest to the saleShort promotions and launchesUndervalues the ad that started it
Position-basedMost to the first and last touch, the rest to the middleValuing discovery and closing togetherThe 40/20/40 split is a convention, not a finding
Data-drivenShares learned from your own conversion pathsSteering bids inside one ad platformA black box that only sees that platform's data

For a seller on short paid-traffic funnels, I'd read last click on real orders first and treat the other rows as a cross-check. The table is most useful for seeing what each report you're handed is quietly assuming.

Single-touch: first touch and last click

Single-touch models are easy to explain and easy to track, because you only need to know one touch. First-touch attribution gives the whole sale to the interaction that introduced the buyer. Last-click attribution gives it to the final click before the purchase. Many tools use "last non-direct click", which skips a buyer typing your address and credits the last marketing click instead.

Illustration: two rows of the same four touchpoints; in the top row only the first one has coins, in the bottom row only the last one
The same path, credited two ways: first touch pays the ad that started it, last click pays the touch that closed it.

Last click is the default in a lot of reporting because it matches how most tracking works: the click that led to the order is the one you can see. It is a fair answer for short paid-traffic funnels, where most people buy in the same visit as the ad click. It gets unfair when journeys are long and cross channels.

Multi-touch: linear, time decay and position-based

Multi-touch models share the credit. Linear gives every touch an equal share. Time decay gives more to recent touches, often with a half-life of seven days: a touch a week before the sale is worth half of one on the day.

Illustration: two rows of four touchpoints; in the top row every touch has an equal coin stack, in the bottom row the stacks grow toward the cart
Linear splits the sale evenly. Time decay leans toward the touches closest to the purchase.

Position-based, also called U-shaped, gives 40% to the first touch, 40% to the last and shares the remaining 20% across the middle. A W-shaped variant adds a third peak for a key middle step, such as the opt-in.

Illustration: four touchpoints with tall coin stacks over the first and the last, and short stacks over the two in the middle
Position-based attribution: most of the credit to the touch that found the buyer and the one that closed the sale.

Data-driven attribution

Data-driven attribution compares the paths that led to a sale with the ones that did not, and assigns credit by how much each touch seems to change the odds. Google Ads and Google Analytics use it as the default, and Google removed first click, linear, time decay and position-based from both in 2023. It needs volume to work, and it only sees the touches that one platform can see.

A worked example: one $100 sale, six answers

A buyer clicks a Meta ad on day 1, clicks a Google search ad on day 5, and buys from an email link on day 7. Here is where the $100 goes under each model (time decay uses a seven-day half-life; amounts are rounded).

ModelMeta ad (day 1)Google ad (day 5)Email (day 7)
First touch$100$0$0
Last click$0$0$100
Linear$33$33$33
Time decay$23$35$42
Position-based$40$20$40
Data-drivenDepends on the account's own conversion paths

The Meta ad earned anything from $0 to $100 for the same sale. That is the whole problem in one table: the budget decision changes with the model, so pick the model on purpose.

Why ad platforms disagree with your orders

Every ad platform attributes sales to itself, inside its own window. Meta's default setting counts a purchase within seven days of a click or one day of a view. Google Ads counts it by its own model and window. If a buyer clicked both, both claim the sale. Add up the conversions every platform reports and the total is often higher than the orders you actually took.

That is not a reason to ignore the platforms: their numbers are what their bidding learns from. It is a reason to keep your own record of orders, each tied to the click that produced it, and to check the platforms against it.

Picture the buyer from the example above. Meta's report claims the $100 sale, Google Ads' report claims it, and if your email tool tracks revenue, it claims it too. Your dashboards add up to $300. Your bank account says $100, and the bank is the one I'd believe.

What every attribution model needs underneath

A model only shares out credit it can see. Before choosing one, make sure the tracking underneath connects each order to its click. This is the unglamorous part, and it's the part I care about most. At the company where I was CTO, postbacks that broke when URLs changed were one of the ways revenue leaked between our tools. It takes four things.

Illustration: an ad, a page, a cart and a chart joined by arrows, a small tag travelling along them, an arrow looping from the cart back to the ad, and the monitor mascot holding up the tag
A tag travels with the visitor from the ad to the order, and the sale travels back to the ad platform with it.
  1. UTM parameters on every ad. Source, medium, campaign, content and term, set the same way on every link.
  2. The ad platform's click id. fbclid, gclid, ttclid and the others, kept with the visit so the sale can be matched to the exact click.
  3. A join from the visit to the order. Across the funnel's pages and into the checkout, including when the order is taken on another cart.
  4. The sale sent back. The order posted to the ad platform server-side, with its click id, so the platform's own model learns from real purchases.

How ElasticFunnels attributes a sale

This is the part of ElasticFunnels closest to my old job. ElasticFunnels does the tracking layer, and it is plain about the model: each order is credited to the visit that bought.

  • It captures the source on arrival. The five UTM parameters, plus the click ids of Google (gclid, gbraid, wbraid), Meta (fbclid), TikTok (ttclid), Microsoft (msclkid), LinkedIn, Snapchat, Pinterest, Reddit, X, Outbrain and Taboola, and the Meta browser cookies.
  • It keeps them for the visit. The session holds the source it arrived with across the funnel's pages, and the order is stamped with that source and the exact click.
  • It follows the buyer to other carts. When the order is taken on ClickBank, Digistore24, BuyGoods or JVZoo, the click's code rides on the cart link and the network's order notification is matched back to it.
  • It sends the sale back. The order goes server-side to Meta's Conversions API, Google Ads (by gclid), TikTok and the other connected platforms, so each platform's own model learns from verified purchases.
The ElasticFunnels Top UTM sources card: facebook, google, youtube, newsletter and tiktok with sessions, revenue and share, 81.1% of revenue from the top three
Revenue by UTM source in ElasticFunnels (demo data): every row is real orders, not platform-reported conversions.

It does not run multi-touch models. If you need linear or time-decay views across channels, use them alongside it; the order records, each tied to its click, are what those models should be checked against. The UTM report breaks revenue, sales and refunds down by source, medium, campaign, content or term, and the campaigns report pulls spend from Meta, Google, TikTok, LinkedIn and Microsoft so you can see return on ad spend when your campaign names match your UTMs. More on the analytics page, and the ROAS calculator does the break-even arithmetic.

How to choose an attribution model

  • Short paid-traffic funnels: most buyers purchase in the visit that followed the ad click, so last click on real orders answers most questions. Judge split tests on those orders too.
  • Long or multi-channel journeys: look at a first-touch view and a last-touch view side by side. Where they disagree is where the interesting budget questions are.
  • Inside one ad platform: let its data-driven model steer bids, and feed it verified purchases server-side.
  • Always: keep one source of truth for orders, and check every model against it.

If your funnels are short and paid, I wouldn't spend money on fancy modelling until the order-level tracking is clean. A sophisticated model on top of broken click data just gives you confident wrong answers with more decimal places.

Attribution is the last step of a funnel, not an add-on. How to create a sales funnel covers the steps before it.

My take
  • I'd never move budget on an ad platform's reported conversions alone. Check them against real orders first.
  • Don't change the attribution model and the campaigns in the same week. You won't know which one moved the numbers.
  • If the platforms together report far more sales than you took, fix the tracking before you touch a bid.
  • Be wary of anyone who sells you a model as the truth. Each one answers a single question.

Attribution arguments tend to be about models, and attribution problems tend to be about plumbing. Fix the plumbing, keep your own record of orders, and treat every platform's report as a claim to be checked. The model you pick after that matters a lot less than it looked.

FAQ

Attribution models FAQ

What is an attribution model?

A rule for sharing the credit for a sale between the marketing touches that came before it: the ads, searches, emails and visits. Single-touch models give all the credit to one touch; multi-touch models split it.

What is the most common attribution model?

Last click, because it is the simplest to track: the sale goes to the last thing the buyer clicked. Google Ads and Google Analytics now default to data-driven attribution, and ad platforms each count conversions inside their own attribution windows.

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

First touch gives all the credit to the first interaction, which rewards the channels that find new buyers. Last touch gives it to the final interaction before the purchase, which rewards the channels that close. Each one ignores everything else on the path.

Why do my ad platforms report more sales than I actually made?

Each platform credits itself for any sale inside its own attribution window, including sales another platform also claims, and some count views as well as clicks. Add them up and you often get more conversions than orders. Your order records are the ground truth to check them against.

Which attribution model should I use?

For a short paid-traffic funnel where people buy in one or two visits, last click on real orders answers most questions. For long, multi-channel journeys, compare a first-touch view with a last-touch view, and use the platforms' data-driven models to steer bids inside each platform.

See which ad made each sale

Every order tied to its ad, campaign and page, and sent back to the ad platforms. Start a 14-day free trial.