Skip to content
Back to Analytics & Experimentation

Attribution Model

Choosing and implementing an attribution model —last-touch, first-touch, linear, time-decay, data-driven —that fairly credits the channels and touchpoints that drove a conversion.

Why

Every channel wants credit for the conversion, and the attribution model decides who gets it. Last-touch attribution gives 100% credit to the final click, so it over-rewards branded search and direct (which are the last click for 60% of conversions but introduced none of them) and under-rewards social, content, and SEO (which introduce users but rarely close). The result: the team cuts social and content spend because they 'do not convert', and conversion volume drops 30% over two quarters because the top of the funnel starved. First-touch attribution has the opposite bias. Linear and time-decay models distribute credit across the journey and are more fair, but they are still heuristic. Data-driven attribution uses a counterfactual model (what would have happened without this touchpoint) and is the most accurate, but it requires enough conversions (typically > 10,000/month) to train. The choice of model is not academic —it determines which channels get budget, which channels get cut, and whether the funnel stays fed. A team using last-touch will systematically defund acquisition and over-invest in retargeting, and the error is invisible until conversions drop.

When

When allocating acquisition budget across channels. When a channel's conversion count does not match its perceived value. When multi-touch journeys are the norm (> 3 touchpoints to conversion).

How

1. Instrument every touchpoint: each session has a source (organic, paid-social, paid-search, email, direct, referral), a medium, a campaign, and a landing page. Store these per session, linked by user_id
2. For each converting user, reconstruct the journey: the ordered list of sessions from first touch to conversion
3. Start with last-touch attribution (100% credit to the final touch) —it is the simplest and the baseline, but understand its bias toward direct and branded search
4. Add first-touch attribution (100% credit to the first touch) —compare the two; channels that are top of funnel (social, content) will rank much higher in first-touch
5. Implement a multi-touch model (linear: equal credit to all touches; time-decay: more credit to touches closer to conversion) —these are more fair and require no extra data
6. If conversion volume > 10,000/month, implement data-driven attribution: train a counterfactual model (logistic regression or Shapley values) that estimates the incremental contribution of each touchpoint
7. Report all models side by side: a channel that is 5% last-touch, 25% first-touch, 15% data-driven is an introducer, not a closer —fund it for introduction, not for closing
8. Use the attribution model to allocate budget: spend where the marginal conversion cost is lowest under the chosen model, not where the last-touch count is highest
9. Re-evaluate the model quarterly: as the channel mix changes, the model's accuracy changes, and a model that was right at 10k conversions may be wrong at 100k

Example

# Attribution comparison: Sep 2026, 4,827 conversions
Channel       | Last-touch | First-touch | Linear | Data-driven
--------------|------------|-------------|--------|-------------
organic search|     28%    |     42%     |  35%   |    33%
direct        |     38%    |     12%     |  22%   |    18%
paid search   |     14%    |      8%     |  11%   |     9%
social        |      6%    |     28%     |  18%   |    22%
email         |     10%    |      6%     |   8%   |    11%
referral      |      4%    |      4%     |   6%   |     7%

Reading:
  - Direct: 38% last-touch but 12% first-touch -> mostly returning users,
    not acquisition. Last-touch over-credits direct 3.2x.
  - Social: 6% last-touch but 28% first-touch -> top of funnel introducer.
    Last-touch under-credits social 4.7x. Cutting social (low last-touch)
    would starve the funnel.
  - Data-driven: social 22% (higher than linear 18%) because the model
    found social touchpoints have high incremental lift (users who see
    social are 1.8x more likely to convert than similar users who do not).

Budget allocation (data-driven, $100k/month):
  organic:  $33k  (SEO investment, content team)
  direct:   $18k  (brand, retention —not acquisition)
  paid:     $ 9k  (search ads on high-intent keywords)
  social:   $22k  (content + paid social for introduction)
  email:    $11k  (lifecycle, re-engagement)
  referral: $ 7k  (affiliate, partnerships)

Previous budget (last-touch, $100k/month):
  direct:   $38k  <- over-funded (retargeting, brand search)
  social:   $ 6k  <- under-funded (starved the funnel)
  Result: conversion volume dropped 30% over 2 quarters.

Common Problems

  • ⚠Using last-touch attribution and cutting introduction channels —social gets 6% last-touch credit but introduces 28% of converters; cutting social to 'optimize spend' starves the funnel and conversion volume drops 30% over two quarters.
  • ⚠Comparing channels across different attribution models —paid search looks great under last-touch (14%) and mediocre under data-driven (9%); switching models mid-quarter makes the spend allocation incoherent.
  • ⚠Treating direct traffic as acquisition —direct is mostly returning users typing the URL or clicking a bookmark; crediting direct for the conversion rewards retention, not acquisition, and over-funds brand search.
  • ⚠Implementing data-driven attribution without enough conversions —below 10,000 conversions/month the counterfactual model is noisy and the Shapley values are unstable; a heuristic model (linear, time-decay) is more reliable at low volume.

Best Practices

  • ✓Report last-touch, first-touch, and a multi-touch model (linear or data-driven) side by side —no single model is correct, and the comparison reveals each channel's role (introducer, closer, assister) which is what informs budget allocation.
  • ✓Use data-driven attribution only above 10,000 conversions/month —below this, the counterfactual model is noisy and a heuristic model (time-decay) is more reliable; switch to data-driven when volume supports it.
  • ✓Allocate budget under the model that matches the goal —for acquisition (new users), weight first-touch and data-driven; for retention (existing users), weight last-touch; mixing goals and models produces incoherent spend.
  • ✓Re-evaluate the attribution model quarterly —as the channel mix, conversion volume, and journey shape change, the model's accuracy changes, and a model that was optimal at one stage becomes misleading at another.