webtracking.org · free tool

Attribution Model Simulator

Paste your conversion paths and watch seven attribution models split the same conversions differently — last click, first click, linear, position-based (40/20/40), time-decay, Markov removal effect, and Shapley value. Every algorithm implements the math behind this tool exactly, so you can reproduce the numbers in a warehouse pipeline or audit why two vendors disagree.

🔒 100% client-side — runs entirely in your browser · nothing is sent anywhere · works offline

steps

CSV upload: first column is the path (channels separated by >, quote the field if a channel name contains a comma), then conversions, then an optional non-converting count. A header row is skipped. Parsing happens in this page — the file is never uploaded. Keyboard: Ctrl/Cmd + Enter in the textarea runs the models.

How each model works

Plain-English summaries of the exact algorithms, as published in the Attribution Models standard. The rule-based models and Shapley credit converting paths only; Markov is the one model here that also learns from your non-converting counts. Every column in the results table sums to the total conversions.

Last click

100% of each conversion's credit goes to the final touch cₙ. Cheap, deterministic, and explainable — and it systematically over-credits bottom-funnel, brand, and direct, because whatever happened to close the journey gets everything.

First click

100% of the credit goes to the first touch c₁. The mirror image of last click: it over-credits top-of-funnel prospecting and discovery channels.

Linear

Every touch on a converting path gets an equal 1/n share. Position and intent are ignored — a throwaway impression counts exactly as much as a high-intent click.

Position-based (U-shaped) 40/20/40

40% to the first touch, 40% to the last, and the remaining 20% split evenly across the middle touches. The edge cases collapse by design: a 1-touch path gets 100%, a 2-touch path splits 50/50. The 40/20/40 split itself is a convention, not an estimate.

n = 1: [1.0] n = 2: [0.5, 0.5] n ≥ 3: [0.40, 0.20/(n-2), …, 0.20/(n-2), 0.40]
Time-decay (position-step half-life)

Touches closer to the conversion weigh more; the weight halves every h steps before the last touch, then weights are normalized to sum to 1 per path:

wᵢ ∝ 2^( −(n − i) / h ) i = 1…n, h = half-life in steps

No-timestamp assumption: this input format carries touch order but no timestamps, so the simulator decays by touch position — a touch h steps before the last one gets half its weight. The published standard defines the same exponential over days, 2^(−(t_conv − tᵢ)/H); if you have timestamps, substitute the age in days for the step count. Set h with the control above (default 2).

Markov chain — removal effect

Journeys become a first-order Markov chain with states START, one per channel, CONV, and NULL. Transition probabilities are estimated from all paths, weighted by their counts — converting paths end in CONV, non-converting paths in NULL. The baseline conversion probability π = P(CONV | START) is solved by fixed-point iteration (Gauss–Seidel, tolerance 1e-9, capped at 10,000 sweeps).

To score a channel, delete it: every transition into that channel is redirected to NULL, and the conversion probability is re-solved. The relative drop is the channel's removal effect, and credit is allocated in proportion:

RE(c) = ( π − π₋ₓ ) / π credit(c) = total_conversions × RE(c) / Σ RE

A channel that, when deleted, craters conversions was load-bearing. A channel that only ever appears on dead-end journeys has a removal effect of zero.

Shapley value — cooperative game theory

Each set of channels is a coalition, and v(S) — the coalition's value — is the total conversions of paths whose channel set is contained in S (the standard's order-agnostic simplification). A channel's Shapley value is its marginal contribution v(S ∪ {i}) − v(S) averaged over every order in which the coalition could have formed:

φᵢ = Σ over S ⊆ N\{i} of [ |S|! · (|N|−|S|−1)! / |N|! ] × ( v(S ∪ {i}) − v(S) )

It is the unique allocation that is efficient (credits sum to total conversions), symmetric (interchangeable channels get equal credit), and gives dummies zero. Enumeration is exact over all 2ⁿ coalitions, so this tool refuses beyond 12 unique channels — collapse rare channels into an Other bucket to stay tractable.

Reconcile, don't religion — budget against the range across models, not one point estimate. References: Attribution Models standard · Channel Classification · Campaign URL Standard