Attribution Models
8 attribution models: last touch, first touch, linear, position-based, time decay, and more
Attribution Models
Atribu supports 8 attribution models that determine how conversion credit is distributed across marketing touchpoints. Each model answers a different question about your customer journey.
How attribution works
Models at a glance
Last Touch
All credit to the final touchpoint before conversion
First Touch
All credit to the first touchpoint that started the journey
Split 50/50
Equal split between first and last touchpoints
Linear
Equal credit across every touchpoint in the path
Position-Based (U-Shaped)
40% first, 40% last, 20% split among middle touches
Time Decay
More credit to touches closer to conversion
Last Non-Direct
Ignores Direct visits to find the real driver
Custom Weighted
Configurable weights per touchpoint position
Last Touch
All credit goes to the last touchpoint before conversion.
Best for: Understanding what closes deals and drives the final decision.
API value: last_touch
Ad Click -> Email -> Blog Visit -> [Purchase]
0% 0% 100%First Touch
All credit goes to the first touchpoint that started the customer journey.
Best for: Understanding what drives initial awareness and brings people in.
API value: first_touch
Ad Click -> Email -> Blog Visit -> [Purchase]
100% 0% 0%Split 50/50
Credit split equally between the first and last touchpoints. Middle touches receive no credit.
Best for: Balancing awareness and closing without overcomplicating analysis.
API value: split_50_50
Ad Click -> Email -> Blog Visit -> [Purchase]
50% 0% 50%Linear
Credit distributed equally across all touchpoints in the conversion path.
Best for: Fair representation of every step in the customer journey.
API value: linear
Ad Click -> Email -> Blog Visit -> [Purchase]
33.3% 33.3% 33.3%Position-Based (U-Shaped)
40% to the first touch, 40% to the last touch, and the remaining 20% split equally among middle touches.
Best for: Emphasizing discovery and closing while still acknowledging the nurture phase.
API value: position_based
Ad Click -> Email -> Blog Visit -> [Purchase]
40% 20% 40%Time Decay
More credit to touchpoints closer to the conversion. Uses exponential decay from first to last touch.
Best for: Short sales cycles where recent interactions matter most.
API value: time_decay
Ad Click -> Email -> Blog Visit -> [Purchase]
10% 30% 60%Last Non-Direct
All credit to the last touchpoint that isn't "Direct" traffic. If a customer clicks an ad, then later types your URL directly, the ad gets credit.
Best for: Removing noise from direct visits to identify the real marketing driver.
API value: last_non_direct
Ad Click -> Email -> Direct Visit -> [Purchase]
0% 100% 0% (ignored)Custom Weighted
Custom weights per touchpoint position. Configured in your profile's attribution settings.
Best for: Businesses with a well-understood sales process that want full control.
API value: custom_weighted
Using models in the API
Pass the model parameter to any endpoint that supports attribution:
curl -H "Authorization: Bearer atb_live_YOUR_KEY" \
"https://www.atribu.app/api/v1/overview?date_from=2026-03-01&date_to=2026-03-25&model=position_based"const response = await fetch(
"https://www.atribu.app/api/v1/overview?date_from=2026-03-01&date_to=2026-03-25&model=position_based",
{
headers: {
Authorization: "Bearer atb_live_YOUR_KEY",
},
}
);
const data = await response.json();import requests
resp = requests.get(
"https://www.atribu.app/api/v1/overview",
headers={"Authorization": "Bearer atb_live_YOUR_KEY"},
params={
"date_from": "2026-03-01",
"date_to": "2026-03-25",
"model": "position_based",
},
)
data = resp.json()Valid model values
last_touch (default) first_touch split_50_50 linear position_based time_decay last_non_direct custom_weighted
Attribution windows
Attribution windows define how far back in time a touchpoint can receive credit for a conversion. These are configurable per profile.
| Window | Default | Description |
|---|---|---|
| Click window | 30 days | How long after a click can a conversion be attributed |
| View-through window | 24 hours | How long after an ad impression (no click) |
| First-touch window | 90 days | Maximum lookback for first-touch attribution |
Window behavior
If a customer clicks an ad on March 1 and converts on March 28, the click is within the default 30-day window and receives credit. If they convert on April 5 (35 days later), the click falls outside the window and is excluded from attribution.
Revenue and ROAS
ROAS uses cash revenue only
Only revenue_type = 'cash' (confirmed Stripe and MercadoPago payments) is used for ROAS calculations. GHL pipeline values (closed_won, appointment_booked) are tracked separately as pipeline value -- they are projections, not confirmed revenue. See Revenue Types for details.
The revenue and roas fields in API responses always reflect attributed cash revenue. Pipeline values appear in conversion counts but are never included in ROAS math.