TL;DR, Quick Answer
7 min readA marketing attribution model is the rule that decides how credit for one conversion gets divided among the touchpoints that came before it. Single-touch models hand one touchpoint everything, while multi-touch models split the same conversion with weights that sum to 100 percent. On one identical four-touch journey, organic search earns 100 percent under first touch, 25 percent under linear and 13.3 percent under a seven-day time decay.
What is a marketing attribution model?
Analytics teams pick a marketing attribution model to decide how credit for one conversion gets divided among the touchpoints that came before it. The model observes nothing new: it applies a fixed rule to data your analytics already collected, then writes a percentage next to each channel. Choose the model before you compare channels, because two models reading the same session log will name two different winners.
A $1,200 purchase can follow a blog post found in search, a LinkedIn ad clicked five days later, and a newsletter opened the morning of checkout. The payment is one number, and the model turns it into three. Flowsery reads the payment event itself through revenue attribution from Stripe, Paddle, Polar, Lemon Squeezy and Shopify, so the amount being divided is the amount that settled.
What is the difference between single-touch and multi-touch attribution?
Single-touch attribution gives one touchpoint 100 percent of the credit and every other touchpoint zero. Multi-touch attribution spreads the same conversion across two or more touchpoints using weights that sum to 100 percent. Single-touch costs nothing to run and nobody argues with the arithmetic; multi-touch attribution earns its complexity once the buying cycle outlasts one session.
First touch and last touch are the two single-touch models, and they answer opposite questions. Comparing first touch against last touch sets discovery credit against closing credit, which is why acquisition and demand-gen argue over one dashboard.

How does each attribution model split the same journey?
Run one identical journey through the seven named models and the same touchpoint swings from 100 percent to zero. The journey: day 1, organic search to a blog post; day 4, a LinkedIn ad; day 9, a newsletter click; day 12, a direct visit that converts.
| Model | Organic, day 1 | LinkedIn ad, day 4 | Newsletter, day 9 | Direct, day 12 | Over-rewards |
|---|---|---|---|---|---|
| First touch | 100% | 0% | 0% | 0% | SEO, social, display |
| Last touch | 0% | 0% | 0% | 100% | Branded search, retargeting |
| Last non-direct | 0% | 0% | 100% | 0% | The last paid or referral click |
| Linear | 25% | 25% | 25% | 25% | Cheap, frequent touches like email |
| Time decay, 7-day half-life | 13.3% | 17.9% | 29.3% | 39.5% | Closing channels |
| Position based, 40/20/40 | 40% | 10% | 10% | 40% | Both ends, by design |
| Data driven, example output | 31% | 24% | 18% | 27% | Whatever your volume supports |
The first six rows are arithmetic and reproduce exactly on your data. The data-driven row is one account's computed output, not a fixed rule, so your numbers will differ. Read the organic column top to bottom: that blog post is worth 100 percent of the purchase, 40 percent, 13.3 percent or nothing, and not one byte of session data changed.
How do time decay and position based models calculate their weights?
Time decay gives each touchpoint a raw weight that halves once per half-life, then normalizes the weights to sum to 100 percent.
weight = 0.5 ^ (days before conversion / half-life)
With a seven-day half-life and the conversion on day 12, the organic touch sits 11 days back, so its raw weight is 0.5 ^ (11 / 7) = 0.336. The LinkedIn ad scores 0.453, the newsletter 0.743, the direct visit 1.000. Those sum to 2.532, so organic takes 0.336 / 2.532 = 13.3 percent. Shorten the half-life to three days and organic drops to 4.5 percent with no change to the campaign.
Position based needs no tuning. It hands 40 percent to the first touch, 40 percent to the last, and splits the remaining 20 percent among the middle touches: 10 percent each with two, 6.7 percent each with three. Linear is simpler still at 100 divided by the touchpoint count.
What is an attribution window and how does it change the answer?
An attribution window is the maximum age a touchpoint can have and still be eligible for credit, and it deletes rows before the model runs. Shrink the attribution window on the journey above to seven days and the day-1 organic touch and the day-4 LinkedIn touch stop existing: the newsletter and the direct visit re-split the full 100 percent, so under linear the newsletter jumps from 25 percent to 50 percent and organic falls to zero.
The window is as consequential as the model, and it is the setting teams copy from a platform default without checking. Measure your median days from first touch to purchase, then set the window past it.
Why is every attribution model an estimate?
Every model is an estimate because the touchpoint list is already incomplete before the rule gets applied. Browser limits truncate the early history: Apple's Intelligent Tracking Prevention caps script-written first-party cookies at seven days in Safari, and Mozilla's Total Cookie Protection blocks third-party cookies by default in Firefox, so a browser can forget the first half of a 30-day journey. Cross-device gaps cut deeper: a phone that saw the ad and a laptop that ran the checkout are two anonymous visitors until the person signs in on both.
Ad blockers, private windows, in-app browsers and links shared without UTM parameters remove more rows, and links pasted into chat arrive as direct traffic. Flowsery is cookie-free and EU-hosted by design, which takes the consent banner off the measurement path, and it still cannot see a purchase on a device that never met the ad. Read model output as a ranking you act on, not a ledger you audit.
Flowsery
Start FREE Trial
Real-time dashboard
Goal tracking
Cookie-free tracking

What is self-reported attribution and why do teams run it alongside?
Self-reported attribution is a question on the signup or checkout form asking the buyer where they heard about you, stored on the customer record. It exists because click data is precise about what it captured and blind to everything else: a podcast mention, a Slack community, a conference talk, a colleague's recommendation. No script sees those.
Teams run both because the error profiles cancel out. Click data is granular and truncated; the form answer is fuzzy, carries recall bias, and covers the dark channels. Compare them monthly, and when the form keeps naming a channel your data-driven attribution scores near zero, you have found a blind spot, not a confused buyer.
Which marketing attribution model should you choose?
Choose the model that matches your sales cycle length. Cycles under a week with one or two touchpoints lose almost nothing under last non-direct, and it costs nothing to run. Cycles past 30 days with four or more touchpoints need position based, or data driven once you have enough paths that its weights stop moving between refreshes.
Publish one model as the house number so budget arguments share a reference, then keep first touch and last touch beside it as the boundaries of the honest range. A channel that wins under all three deserves more budget. A channel that wins under one is telling you about the model, not the channel.
Frequently asked questions
What is the difference between an attribution model and an attribution window?
The model decides how credit is divided among eligible touchpoints. The window decides which touchpoints are eligible at all, by capping how far back a touch can sit and still count. The window runs first, so a short one zeroes out channels the model would have paid well.
Which attribution model is the most accurate?
None of them is accurate, because none observes causation. Each applies an assumption to an incomplete touchpoint list, so the real question is which assumption fits your buying cycle. Data driven fits when you have the path volume; position based is the strongest default when you do not.
Why do my ad platform and my analytics tool report different numbers?
Ad platforms attribute against their own logged-in identity graph and count view-through conversions inside their own lookback settings. Analytics tools attribute by session, default to last non-direct, and never see an impression that produced no click. The same purchase gets claimed twice, which is why platform-reported conversions sum to more than your real order count.
How many touchpoints does a data-driven model need?
Enough converting and non-converting paths that the computed weights stop shifting between refreshes. Watch two or three consecutive recalculations: if a channel's share swings several points with no campaign change, the model is fitting noise. Fall back to position based until volume catches up.
Does last non-direct attribution ignore direct traffic completely?
Last non-direct skips the direct touch and pays the previous identifiable channel. It exists because much of what analytics labels direct is misattributed traffic: a stripped referrer, a chat app link, a bookmarked URL. The tradeoff is that genuine direct visits never appear as a credited channel.
Can I use more than one attribution model at once?
Running several models against the same conversion data is the point of the table above. Nominate one as the reported number so budget decisions have a single reference, and keep first touch and last touch alongside it as the range. A channel in the top three under every model is a safe place to spend more.
Does switching attribution models require new tracking?
No. A model is a rule applied to data your analytics already collected, not a new measurement, so swapping first touch for position based produces a new set of percentages from the same touchpoint log. Nothing about your tags or pixels changes.
How does Flowsery calculate the revenue behind each touchpoint?
Flowsery reads the payment event itself through revenue attribution integrations with Stripe, Paddle, Polar, Lemon Squeezy and Shopify. The amount split across touchpoints is the amount that actually settled, not a number estimated from an ad platform's own click log.
How long should an attribution window be?
Set it past your median days from first touch to purchase, not whatever a platform ships as its default. A window shorter than that median deletes real touchpoints before the model runs, the same way a seven-day window erases a day-1 organic touch on a 12-day journey.
How does position based attribution split the middle 20 percent with three touchpoints instead of two?
Position based always sends 40 percent to the first touch and 40 percent to the last, leaving 20 percent for whatever sits between them. Two middle touchpoints split that 10 percent each; add a third and each one drops to 6.7 percent.
Flowsery
Start FREE Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
Flowsery
Revenue-first analytics for your website
Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.
Real-time dashboard
Goal tracking
Cookie-free tracking
Related Glossary Terms


How an Attribution Window Decides Which Touchpoints Get Paid
Move the attribution window from 7 to 90 days and one $1,800 order pays three different sets of channels. See the arithmetic and the current platform defaults.


Working Through the Average Order Value Formula Step by Step
The average order value formula divides revenue by orders, and a single discount code or return policy can quietly distort every number a team reports.


One Page of Traffic Settles Bounce Rate vs Exit Rate
Reading bounce rate vs exit rate comes down to two denominators. One pricing page returns a 40% exit rate and a 15% bounce rate in the same week.


Working the Conversion Rate Formula on Real Traffic
The conversion rate formula is conversions divided by sessions or unique visitors, times 100. One week of traffic run through both denominators gives two.


Reading Engagement Rate in Google Analytics 4
GA4 reports engagement rate as engaged sessions divided by total sessions. A session counts as engaged at 10 seconds, one key event, or two page views.


What the MRR Meaning Actually Includes and Excludes
The MRR meaning covers new, expansion, contraction and churned revenue each month, and excludes one-time fees that never repeat.
Related Articles


What the Numbers Say About Average Bounce Rate by Industry
Nine tracked industries return a documented average bounce rate by industry ranging from 35.76% to 48.38%, sourced from Databox data dated September 2024.


Reading a Retention Curve Starts With Cohort Analysis
A retention curve only makes sense once cohort analysis groups users by a shared start date, since one average hides the pattern a cohort table reveals.


Where Drop-off Really Happens in a Conversion Funnel
Step conversion and overall conversion answer different questions about a conversion funnel, and the gap between them shows exactly where drop-off happens.

