Practical multi-touch attribution for small teams
The case for multiple views
No single attribution model answers every budget question. First touch explains discovery. Last touch explains triggers. Linear shows how broad the journey is. Position-based emphasizes entry and conversion with modest credit to assists. Small teams get the clearest picture by publishing all four and watching how rankings shift when campaigns move between awareness and conversion roles.
Inputs to get right first
Attribution is sensitive to data quality. Before scoring touches, lock down:
- normalized
source
,medium
,campaign
, andchannel
- a durable
first_touch_ref
andlast_touch_ref
- deduped events with stable
event_id
andtouchpoint_id
- consistent conversion definitions (e.g.,
signup_submitted
,account_created
)
If these inputs are not stable, models will produce noise rather than guidance.
Model definitions
Use straightforward rules that stakeholders can audit.
- First touch: 100 percent credit to the earliest qualifying touch.
- Last touch: 100 percent credit to the most recent qualifying touch before conversion.
- Linear: equal credit to all touches inside a lookback window.
- Position-based: 40 percent to first, 40 percent to last, and the remaining 20 percent shared equally among the middle touches.
Lookbacks depend on the business. For self-serve signups, 30 days is common. For larger contracts, increase the window and require at least one high-intent touch to count.
Implementation outline
- Build a sessionized event table with a normalized channel dimension.
- For each conversion, list all prior touches within the lookback window.
- Apply model weights to produce a set of channel credits per conversion.
- Aggregate by campaign, channel, and week for reporting.
If warehouse cost is a concern, materialize daily credits so dashboards query small tables rather than the full event history.
Interpreting the results
Expect differences across models. Awareness campaigns should gain share in first touch. Retargeting and branded search should rise in last touch. Linear and position-based typically land between the two. Focus on the direction of change rather than minor percentage gaps. When two models disagree strongly, check the underlying journey length and the mix of touch types.
Guardrails and pitfalls
- Do not let
direct
traffic grow unchecked; it hides missing UTMs. - Keep channel dictionaries versioned and documented.
- Watch for SKU or geography effects that skew certain models.
- Revisit lookbacks when seasonality or product mix changes.
Communicating to stakeholders
Publish a compact, consistent set of charts:
- channel credit by model and week
- top campaigns by position-based credit
- time from first touch to conversion
- assisted conversion rate by channel
Use the combination of views to shape planning. When a campaign fills the top of the funnel, give it air cover in the budget even if last click is modest. When a channel consistently shows high last touch performance and short time to convert, treat it as a closer and invest where marginal returns remain.
Related posts:
Case study: improving signup source tracking for VEGAS.XYZ
Server-side vs client-side tracking for touchpoint integrity
Case study: how touchpoint stats improved online sales and advertising efficiency
Designing a customer journey data model that survives channel changes
Building a touchpoint taxonomy for lead source accuracy