Shopify attribution models, compared (with one real example)
Last-click, first-click, linear, time-decay, and more - see how six attribution models credit the same Shopify order completely differently, and which to use.
Here's a $180 order. Six attribution models. Six different answers about what "caused" it.
That's not a bug, and it's not a sign that five of the models are wrong. Picking a model is the decision. It's you choosing which question you want answered about how this sale happened. Get that straight and the whole topic stops being intimidating.
This is one worked example, all six models, and a plain rule for which to reach for.
What an attribution model actually does
In 60 seconds: an attribution model is a rule for splitting credit across the touches that happened before a sale. That's it.
The important property - the one that quietly defuses most arguments - is that credit always sums to exactly one order. Models move credit around the journey. They never create or destroy revenue. A model can tell you Email deserves more of the credit than Meta; it can't make you more money or change your total profit. (Which is also why attribution and profitability are separate questions - more on that at the end.)
The real fork is whether a model gives 100% of the credit to a single touch or spreads it across several. Last-click and first-click are single-touch: one channel takes everything, the rest get zero. Linear, time-decay, linear non-direct, and Prism View are multi-touch: the credit gets shared. That single distinction - one winner vs many contributors - drives almost everything that follows. Single-touch models are simple and decisive but throw away most of the journey; multi-touch models keep the whole story but ask you to accept fractions. Hold that fork in mind as we walk the six.
The one order we'll use
One customer, one $180 order, four touches over a week: a Meta ad on Day 1, a Google search on Day 3, an email click on Day 6, and a direct visit that closed it on Day 7. It's a deliberately ordinary path - discovery, research, re-engagement, return-to-buy - the shape most considered DTC purchases actually take. Nothing exotic; just a customer who didn't convert on the first impression.
Watch what each model does with the same path:
One $180 order · 4 touchpoints over 7 days
| Model | Meta | Direct | Use it to… | ||
|---|---|---|---|---|---|
| Last-click | – | – | – | $180 | credit the channel that closed the sale |
| First-click | $180 | – | – | – | credit the channel that found the customer |
| Linear | $45 | $45 | $45 | $45 | value every touch equally |
| Time-decay | $23 | $36 | $49 | $72 | weight the touches closest to purchase |
| Linear non-direct | $60 | $60 | $60 | – | ignore direct/branded, credit the earners |
| Prism ViewDEFAULT | $63 | $36 | $54 | $27 | Prism's balanced view across the journey |
One $180 order. Six models. Six different answers about what 'caused' it - and every row still sums to $180.
Now let's walk the rows.
Last-click
The whole $180 goes to the last touch before purchase - here, Direct.
It's good for one thing: crediting the closer. If your question is literally "what was the final nudge," last-click answers it cleanly. Where it misleads: it systematically over-credits whatever tends to be last - branded search, email, direct returns - and starves the discovery channels that started the journey.
Why this matters in dollars: last-click is Shopify's default marketing view, so it's the model most brands accidentally budget on. Follow it literally and you'll pour money into branded search and retargeting (the channels that close) while cutting the prospecting that filled the funnel in the first place. The Meta ad that found this customer gets a zero, so it looks unprofitable, so you turn it off - and three weeks later your "great" closing channels have nothing left to close.
First-click
The mirror image: 100% to the channel that found the customer - Meta, in our example.
Reach for it when your question is about discovery: which channels introduce people to the brand. It misleads if it's the only lens you use, because you'll over-invest in the top of the funnel and ignore whether anything actually closes. First-click is the mirror failure of last-click: where last-click defunds discovery, first-click happily keeps paying for channels that bring in tire-kickers who never buy. Useful as a diagnostic - almost never as the only number you watch.
Linear
Equal credit to every touch - $45 each across our four.
Linear is the honest "I don't want to over-think it" baseline. Every channel that participated gets the same share. Its weakness is also its premise: it treats a throwaway touch (a stray direct visit) exactly like a decisive one (the email that actually re-engaged them). Fair, but naive.
Time-decay
Recent touches get more credit; older ones get less. In our example the Day-7 close earns the most and the Day-1 Meta ad the least.
It's the right call when the run-up to purchase matters most - longer consideration cycles where the latest touches are doing the convincing. It's tunable to how fast that decay should be. The trade-off is the flip side of its strength: it can under-credit the discovery touch that made everything else possible.
For a lot of DTC brands this is the most honest single model, because it splits the difference - it keeps the whole journey (unlike last-click) but still gives more weight to the touches that were actually doing the closing (unlike flat linear). If you only ever look at one number, this is a defensible one to pick.
Linear non-direct
Linear, but it ignores Direct - because "Direct" is usually a measurement gap (a lost UTM, a typed-in URL, an untracked app browser) rather than a real marketing channel. So the credit is shared among the channels that actually earned it.
Good for not rewarding the absence of data. In our example the three real channels split the order and Direct gets nothing. If a big share of your orders run through "Direct," this model often tells a very different - and more actionable - story than the default, because it refuses to hand credit to what is really just a tracking blind spot.
Prism View - the default
Prism View is the model Prism uses out of the box: a balanced view across the whole journey that also reads zero-party signals like post-purchase survey responses and discount-code usage, so the credit reflects more than just click order.
The point of having a sensible default is that you don't have to pick the "right" model on day one to get a trustworthy read - and when you're ready, you can build custom models with your own weighting. (We don't publish Prism View's internal mechanics, and you don't need them to use it.)
Which model for which decision
Stop hunting for the "true" model. Match the model to the question:
| Your question | Reach for |
|---|---|
| Which channels find new customers? | First-click |
| What actually closed the sale? | Last-click |
| I want a simple, even baseline | Linear |
| The recent run-up matters most | Time-decay |
| Don't reward "Direct" data gaps | Linear non-direct |
| Just give me a sensible, balanced read | Prism View (default) |
There's no row where one model wins everything. There's a row for each decision, and a model that's good at it.
How to actually choose (and why one isn't enough)
The instinct is to pick "the right model" and standardize on it forever. Resist that. The better habit is to hold two lenses at once and watch the gap between them.
Here's the practical version. Run a multi-touch model (time-decay or a balanced default) as your everyday view - it's the closest thing to the truth of how customers actually buy. Then keep last-click and first-click as diagnostic lenses you glance at on purpose:
- When first-click credits a channel far more than your everyday model does, that channel is a discovery engine you're probably under-funding because it rarely gets the last touch.
- When last-click credits a channel far more than your everyday model does, that channel is a closer - great at finishing sales, but it's coasting on demand other channels created.
The disagreement between models isn't noise to resolve. It's the signal. A channel that looks weak on last-click but strong on first-click is doing real work you'd kill if you only watched the closer. Picking one model and never looking at the others is how brands accidentally defund their own top of funnel.
So: one model to operate on, two more to interrogate it with. That's the whole discipline.
Three mistakes that make this harder than it is
Treating "Direct" as a real channel. Direct is usually a measurement gap - a lost UTM, an in-app browser, a typed URL - not a marketing channel that earned anything. Models that credit Direct heavily (like plain last-click) quietly reward the absence of tracking. That's what linear non-direct exists to correct.
Expecting whole numbers from multi-touch. If a campaign shows 0.6 of an order, that's not a bug - it's a multi-touch model splitting one order across the channels that earned it. People see fractions, assume something's broken, and retreat to last-click. Don't. The fractions are the point.
Comparing a model to a platform's model. This is the big one, and it's the bridge to the rest of this series.
The trap: comparing platforms across different models
This is where this post ties back to a very common pain. If you've ever stared at Meta or Google reporting more sales than Shopify, a big chunk of that gap is exactly this: you're comparing a last-click Shopify report to a platform running its own multi-touch model over its own window. Different models, same orders, mismatched totals.
It's the same lesson from two angles - see why Meta doesn't match Shopify and why Google doesn't match Shopify. Once you know each system is running a different model, the disagreement is expected, not alarming.
How Prism does this
Prism runs all six models on every order, so you can switch lenses in one click instead of committing to one and hoping. You can build custom models, and every model reconciles back to real Shopify orders - and clean attribution depends on clean inputs, which is why tagging your links well matters more than the model you pick.
Want to see it on your own store's data? See Shopify attribution → And to be explicit about the boundary: this is attribution - which channel gets credit. Prism's P&L is a separate feature that measures total profit; choosing a different attribution model never changes it.
There is no true model
There's no single "correct" attribution model. There's the model that answers the question you're actually asking. So ask the question first - find new customers, judge closers, set blended budget - and the model picks itself.
And if you take one thing from this: the danger isn't picking the "wrong" model. It's picking one and forgetting it's a choice - quietly treating last-click as reality because it's the default, and making budget calls on a number that was only ever good at answering one narrow question. Know which question your model answers, glance at the others when a channel looks suspiciously good or bad, and you'll make better calls than any single model can give you.
Quick answers
What's the best attribution model for Shopify? The one that matches your decision. First-click for discovery, last-click for closers, time-decay when the recent run-up matters, and a balanced default (Prism View) when you just want a trustworthy read.
Does Shopify have built-in attribution models? Yes - Shopify's marketing reports offer standard models, but they can't be customized, don't reconstruct a full first-party journey, and roll lost sessions into "Direct."
What's the difference between first-click and last-click? First-click gives 100% to the channel that found the customer; last-click gives 100% to the final touch before purchase. Same order, opposite ends of the journey.
Is multi-touch better than last-click? For understanding the whole path and setting budget, yes - multi-touch shows every contributing channel instead of one. For the narrow question "what closed it," last-click is fine.
What is the Prism View model? A balanced default that spreads credit across the journey and also reads zero-party signals like surveys and discount codes. It's the sensible out-of-the-box choice; we don't publish its internal mechanics.
Can I build my own model? Yes - Prism supports custom models with your own channel weighting and time mechanics, on top of the six built-ins.
See which channels actually drive your revenue.
Prism reconstructs the full customer journey and reconciles every order back to Shopify - so your numbers finally agree.