- An attribution model is the rule that splits the credit for an order over the marketing touches before it.
- Single-touch models give all the credit to one click; multi-touch models split it, evenly or by weight.
- Google Ads now offers only data-driven and last click attribution, and both only see Google ads.
- Every ad platform credits itself, so only a store-side model credits each order once across all channels.
- Choose the model by question: last click for closing, first click for finding new customers, linear or Total Impact for budget across channels.
An attribution model is the rule that decides which marketing touches get credit for an order. In ecommerce, last click gives all the credit to the final click before the purchase, first click gives it to the first click, linear splits it evenly, and data-driven models split it based on statistics from many customer journeys.
The model you pick can change a channel's ROAS more than any campaign change. This guide works one customer journey through every common model, with the numbers. It then explains data-driven attribution in Google Ads, why each ad platform credits itself, the twelve models in ROASaurus, and which model to use for which question.
What is an attribution model?
Before most online orders, a customer touches your marketing more than once. Each visit that comes from an ad, an email or a link with a click id or UTM parameters is a touch. An attribution model takes the touches inside a lookback window, for example the 7 days before the order, and divides the order's revenue between them. The shares of one order always add up to the full order.
All examples in this guide use the same journey. One customer places one order for $120:
Single-touch models: last click and first click
Last click
Last click gives 100% of the order to the most recent touch. In the journey, the abandoned cart email gets $120 and the three ads get nothing. Last click is simple and easy to check, and it shows which channels close sales. Its weakness is just as clear: it never credits the ads that found the customer. Under last click, prospecting campaigns look weak and brand search, retargeting and email look strong.
First click
First click gives 100% of the order to the first touch inside the window. In the journey, the TikTok ad gets $120. First click shows which channels bring new people in. It ignores everything that happened after the first visit, including the retargeting and the email that brought the customer back. It also depends on the window: with a 4-day window, the TikTok click from five days before the order falls out, and the Meta ad becomes the first click.
Multi-touch models: linear, time decay and position-based
Multi-touch models split the order over several touches. They differ in how they weigh each one.
Linear
Linear splits the order evenly. With four touches, each one gets 25%, or $30. It is easy to explain and treats every channel the same. It also gives a reminder email the same credit as the ad that found the customer.
Time decay
Time decay gives more credit to touches closer to the order. A common version uses a 7-day half-life: a click 7 days before the order gets half the weight of a click on the day of the order. In the journey, the weights are 0.61 for TikTok, 0.74 for Meta, 0.91 for Google and 1.00 for the email. Divided by their total of 3.26, that gives TikTok 18.7%, Meta 22.8%, Google 27.8% and the email 30.7% of the $120.
Position-based
Position-based, also called U-shaped, gives 40% to the first touch, 40% to the last touch, and splits the remaining 20% over the touches in between. In the journey, TikTok and the email get $48 each, and Meta and Google get $12 each.
One customer journey through every model
Here is the same $120 order under each model, including Total Impact, which also uses the survey answer and is explained further down.
| Model | TikTok | Meta | ||
|---|---|---|---|---|
| Last click | $0 | $0 | $0 | $120 |
| First click | $120 | $0 | $0 | $0 |
| Linear | $30 | $30 | $30 | $30 |
| Time decay, 7-day half-life | $22.45 | $27.36 | $33.36 | $36.83 |
| Position-based, 40/20/40 | $48 | $12 | $12 | $48 |
| Total Impact, survey answer TikTok | $75 | $15 | $15 | $15 |
Over a month, these differences add up. A channel that starts journeys can look unprofitable under last click and profitable under linear, with the same orders and the same spend.
Data-driven attribution in Google Ads
A data-driven model does not use a fixed rule. It learns the split from your data. Google Ads describes its version as distributing credit based on your past data for each conversion action. It compares the paths of customers who convert with the paths of customers who do not, and gives more credit to the keywords, ads and campaigns that make a conversion more likely.
Data-driven is now the default for most conversion actions in Google Ads. Google no longer supports first click, linear, time decay and position-based models there. Conversion actions that used them were moved to data-driven, so the choice in Google Ads is data-driven or last click. The model works with less data, but for the best results, Google recommends at least 200 conversions and 2,000 ad interactions within 30 days.
Two limits matter for a webshop. First, the model only sees interactions with your Google ads. It splits credit between your Google campaigns, but it cannot weigh Google against Meta, TikTok or email. Second, you see the result but not the rule, so you cannot check why one campaign got more credit than another.
Platform self-attribution: why every platform credits itself
Every ad platform runs its own attribution, on its own data, with its own windows. Meta's default attribution setting for new ad sets is 7-day click or 1-day view, and its reporting API can also return 1-day click, 28-day click and 1-day engaged view. Google Ads uses data-driven or last click on Google interactions. Each platform only sees its own touches, so each one credits itself with the whole order it touched.
- Meta: $120, the click was 3 days before the order
- Google Ads: $120, its only click was 1 day before
- Klaviyo: $120, the email was clicked on the day
- TikTok: $120, if the click is inside its window
- One order of $120
- One customer
- Up to $480 of claimed revenue for $120 of real revenue
That is why the totals in your ad accounts usually add up to more than your store's revenue. The full reconciliation is in why Ads Manager shows more sales than Shopify. To compare channels with each other, you need a model that runs on your own order data and credits each order once.
Attribution models in ROASaurus
ROASaurus stores every visit that lands with a click id or UTM parameters as a touch. When an order comes in, it credits the touches of the matched visitor inside your lookback window. If there is no browser touch, for example because of an ad blocker or because the visitor declined marketing cookies, it falls back to the click ids and UTMs in the landing page address saved with the order. Shopify saves this address with each order, and other webshops can send it through the orders API. ROASaurus uses it only in its own reports; it is not sent to the ad platforms. Orders without any touch count as direct. You can choose from twelve models in the attribution report. These six work as in the journey above:
| Model | How the order is split | Journey example |
|---|---|---|
| Last click | All credit to the most recent touch in the window | Email $120 |
| First click | All credit to the first touch in the window | TikTok $120 |
| Linear | Split evenly over all touches in the window | $30 each |
| Time decay | More credit to touches closer to the order, with a 7-day half-life by default | Email $36.83, Google $33.36, Meta $27.36, TikTok $22.45 |
| Position-based | 40% to the first touch, 40% to the last and 20% over the touches between, by default | TikTok and email $48 each, Meta and Google $12 each |
| Total Impact | The survey answer gets 50% and the clicks share the other 50% evenly. With only a survey answer, it gets 100%. With no answer, the clicks share it evenly. | TikTok $60 + $15 = $75; Meta, Google and email $15 each |
The other six are last non-direct click, which also counts organic search, social and referral visits; linear paid, which splits the order over paid ad clicks only; any click, which gives every clicked channel the whole order, so its rows add up to more than your revenue; Clicks & views, which adds modelled ad views to the clicks; and two data-driven models.
The data-driven models in ROASaurus
The Markov chain and Shapley value models learn the split from your store's own journeys. Every order with its clicks is a path that converted, and clicks that no order followed within the lookback are paths that did not. The Markov model credits each channel by how much conversion probability is lost when that channel is removed. The Shapley model credits each channel by its average contribution across the combinations of channels in your journeys. Unlike the model in Google Ads, they weigh Google against Meta, TikTok and email. They train on at least 90 days, and with fewer than 30 orders with clicks, or clicks from one channel only, they split credit linearly and say so above the report.
How Total Impact uses the post-purchase survey
Clicks miss part of what drives a sale: a podcast, a recommendation from a friend, or a video ad someone saw but did not click. Total Impact adds what the customer says. On Shopify, ROASaurus has a post-purchase survey block for the Thank you page that asks "How did you hear about us?". Answers such as Facebook or Instagram, TikTok, Google search, YouTube, a friend, email or a podcast are mapped to channels. Other platforms can send answers to the surveys API.
In the journey, the customer answered TikTok. The survey share of 50% goes to TikTok, and the four clicks share the other 50%, or $15 each. TikTok ends up with $60 + $15 = $75. If the customer had answered "a podcast", the podcast would get $60, a channel that no click shows at all. In the campaign report, the survey share appears on its own line under the channel, because an answer names a channel, not a campaign. Post-purchase survey attribution covers how to set up the question and its answers.
Lookback window and limits
Each store has its own lookback window, from 1 to 90 days, with 7 days as the default, or unlimited. The report can switch between 1, 7, 14, 28, 30, 60 and 90 days, so you can see how much credit moves when the window grows. View-through conversions count only under Clicks & views, or when you add modelled views to another model: ROASaurus places the view-through purchases the ad platforms report on orders that had no click from that platform, as an estimate it labels as such. The details are in how attribution works.
Which attribution model should you use?
No model is true for every question. Pick the model that fits the decision in front of you, and keep the window the same when you compare.
| Question | Model | Watch out for |
|---|---|---|
| Which ads and campaigns close sales? | Last click | It undervalues the ads that start journeys |
| Which channels bring in new customers? | First click, with the new customers column | The first click in the window may not be the first contact; a longer window helps |
| How do I split budget between channels that work together? | Linear | A reminder email gets the same credit as the ad that found the customer |
| Which channels work without clicks, such as podcasts or word of mouth? | Total Impact | Survey answers depend on memory and on the answer options you offer |
| How should Google Ads bid? | Data-driven, inside Google Ads | It only sees Google ads |
| Does advertising pay overall? | No model: total revenue and gross profit against total ad spend | You need the spend from every channel |
Three habits keep model comparisons honest. Change one thing at a time: never switch the model and the window together. Compare channels inside one model, not one channel's last click number with another channel's linear number. And judge profit with gross profit, not revenue: a channel with a high ROAS on low-margin products can still lose money.
Sources
- Google Ads Help: About attribution models
- Google Ads Help: About data-driven attribution
- Meta for Developers: Ads Insights API Metric Availability Updates
- Meta Business Help Center: How conversions are attributed in Commerce Manager