Tools

Attribution Model Comparison Tool

Paste your GA4 conversion paths into this attribution model comparison tool and see the first click, linear, time decay and position-based models Google removed in 2023 side by side with last click and a Markov chain model. See which channels open journeys and which close them, all in one table. Your data never leaves your browser.

6 models, one tableLast click, first click, linear, time decay, position-based, Markov
Processed in your browser; nothing is uploaded.
GA4: Advertising > Attribution > Attribution paths (formerly Conversion paths), export as CSV and paste. Each row: path, conversions, optional revenue and non-converting path count.
Model settings
Position-based: first and last touch
%
%
The rest is split evenly across the middle touchpoints.
Credit unit

Results update as soon as you paste. The Markov model is more reliable when a non-conversions column is included.

Result

Model comparison Waiting for data
Paths0unique paths
Conversions0total
Channels0distinct channels
Avg. touchpoints0per path
Results appear here. Paste your paths or try the sample data.
Written by
  • Digital Marketing Expert
  • Google Partner
  • Full Stack Developer
Last updated
Based on
3 sources

How to run an attribution model comparison

  1. Export your paths from GA4

    Open Advertising, then Attribution, then Attribution paths (Google formerly called it Conversion paths, the name this tool uses). Pick your key events and a date range, then export the table as CSV.

  2. Paste or upload the paths

    Paste the export into the Conversion paths box or use Upload CSV. The tool finds the header row and the columns by itself, expands entries like Paid Search ×2 and skips the comment lines GA4 starts with #.

  3. Set the four options

    Keep the GA4 Direct rule on unless you want Direct to earn credit. Then choose the time decay half life (1, 2 or 3 touches), the position based first and last touch shares, and whether credit counts conversions or revenue.

  4. Read the channel table

    Each channel gets a row with last click, first click, linear, time decay, position based and Markov credit. The assist to close ratio shows which channels help more than they finish.

  5. Compare against last click

    Press the compare button for any model to see each channel's percentage difference from last click. Then read the highlights and download the results as CSV.

Attribution model formulas

Every model splits one conversion across the n touches on a path. The tool adds those shares up over all paths, weighted by how often each path converted. With revenue as the credit unit, the same shares apply to path revenue instead.

Direct ruleIf a path has any non Direct touch, remove every Direct touch; a path made only of Direct keeps it
Last clickCredit of the last touch = 1; all other touches = 0
First clickCredit of the first touch = 1; all other touches = 0
LinearCredit of each touch = 1 / n
Time decayWeight of touch i = 2 ^ (-(n - i) / h); credit = weight / sum of all weights (h = half life in touches, the last touch has weight 1)
Position basedFirst touch = F %, last touch = L %, each middle touch = (100 - F - L) % / (n - 2); defaults are 40, 40 and 20
Transition probabilityP(A to B) = number of moves from A to B / number of all moves from A
Removal effectRE(c) = 1 - P(conversion without c) / P(conversion with all channels)
Markov creditCredit(c) = RE(c) / sum of all RE × total conversions
Assist to close ratioConversions where the channel appears but does not close / conversions the channel closes
Difference vs last click(Model credit - last click credit) / last click credit × 100

Markov uses a first order chain, so each step depends only on the channel before it. Removing a channel sends all of its traffic to a null state, which is how the removal effect measures what the journey loses without it.

Example: one path under five rules

This is an example calculation, not client data. One customer converts after four touches: Paid Social, Organic Search, Email and Paid Search. The table shows how each rule shares that single conversion.

Model (example)Paid Social, touch 1Organic Search, touch 2Email, touch 3Paid Search, touch 4
Last click0%0%0%100%
First click100%0%0%0%
Linear25%25%25%25%
Time decay, half life 16.7%13.3%26.7%53.3%
Time decay, half life 213.8%19.5%27.6%39.1%
Position based, 40 / 4040%10%10%40%

Weights for half life 1 are 1/8, 1/4, 1/2 and 1, so credit doubles with every touch closer to the sale. A longer half life flattens the curve. The middle touches share the remaining 20% in the position based row.

Example: 100 conversions, four channels, six models

These figures are an example calculation built from six converting paths and a few non converting paths. Paste the same shape of data into the tool and you will see a table like this.

Channel (example)Last clickFirst clickLinearTime decayPosition basedMarkovAssists / closes
Paid Search803050.861.052.545.70 / 80
Email201016.718.116.012.75 / 20
Organic Search03020.814.818.528.150 / 0
Paid Social03011.76.213.013.530 / 0

Credits are conversions, and each column sums to 100 apart from rounding. Time decay uses half life 1 and position based uses 40 / 40. One example path ends in Direct, and the default GA4 rule drops it, so Paid Search keeps that sale. Switch the rule off and 5 conversions move from Paid Search to Direct. Organic Search and Paid Social never close a sale here, yet they start most journeys.

What is an attribution model comparison, and who needs one?

An attribution model comparison shows how the same conversions earn different credit when you change the rule that hands out that credit. Under last click, the channel that closes the sale wins. Under first click, the channel that opened the door wins. This tool runs the comparison for you. You paste your GA4 conversion paths, and it recalculates first click, linear, time decay, position based and Markov credit next to last click.

Teams that split budget between channels get the most out of it. For example, a branded search campaign often closes sales that a paid social ad started weeks earlier. Last click alone cannot show that. Side by side, you see which channels start journeys, which ones close them and which ones do both.

Everything runs in your browser, so your paths never leave your device. One caution before you start: no attribution model proves incrementality. We come back to that below, and our marketing mix modeling tool covers the next step.

Which attribution models did Google remove from GA4 and Google Ads?

Google announced in April 2023 that it would retire four rules based models: first click, linear, time decay and position based. Conversion actions that still used them moved to data-driven attribution in September 2023. Today the GA4 help page lists the four as unavailable as of November 2023.

So what is left? GA4 offers three reporting models. Data-driven attribution uses machine learning on converting and non converting paths. Paid and organic last click gives all credit to the last channel the customer clicked. Google paid channels last click does the same but only for Google Ads channels.

One more rule matters here. All GA4 models exclude direct visits from credit unless the whole path is direct. Our tool copies that rule by default, so you can compare like with like.

Why does the loss hurt? Because the four old models answered different questions. First click showed discovery, and the other three spread credit across the journey. Without them, you get a machine learning model you cannot inspect and a last touch view. Our GA4 overview explains what the platform still does well.

How does this attribution model comparison tool work?

The tool turns a GA4 paths export into a channel table in four moves. First, you paste the export into the Conversion paths box or use Upload CSV. Then the tool reads each row as a path, a conversion count and, if present, revenue and a non converting path count.

It handles the messy parts for you:

  • Header row and columns: it recognises both, even when the order differs.
  • Separators: >, → and » all work between touches.
  • Repeated exposures: Paid Search ×2 becomes two touches.
  • Comment lines: it skips the GA4 lines that start with #.

Next, it applies five rules based models and the Markov chain to every path. Then it adds the credit up per channel and shows summary cards for paths, conversions, channels and average touches. You can switch the credit unit to revenue whenever the export has a revenue column.

Clean channel names make better paths. If your campaigns carry inconsistent tags, fix them first with our UTM builder. Nothing is uploaded to a server at any point, because the whole calculation runs in your browser.

How do the rules based models differ, and when does each one fit?

The example table above shows the same four touch path under every rule. The differences are large, so the choice of model changes the story you tell. Each one fits a different question:

  • Last click rewards the closer. Use it to see which channel finishes sales.
  • First click rewards the opener. Use it to see which channel starts journeys.
  • Linear treats every touch the same. It suits long journeys where no single step stands out.
  • Time decay favours recent touches. It suits short buying cycles and promotion led sales.
  • Position based pays the first and last touch most. It suits journeys where discovery and closing both matter.

In practice, no single model is right. The useful signal is the gap between them. A channel that earns far more credit under first click than under last click starts journeys. A channel with the opposite pattern closes them.

You can tune three settings. The half life controls how fast time decay fades. First and last touch shares set the position based split, with 40, 40 and 20 as defaults. Finally, the Direct rule decides whether Direct earns credit at all.

How does the Markov model work, and why is there no Shapley option?

The Markov model learns from your paths instead of applying a fixed rule. It treats each channel as a state and counts how often customers move from one state to the next, to a conversion or to a dead end. Those counts become transition probabilities.

Then comes the removal effect. The tool removes one channel, sends its traffic to the dead end and recalculates the overall chance of converting. A bigger drop means the journey depends more on that channel. Finally, the tool scales these effects so they add up to your total conversions.

There is one important limit. A full calculation needs non converting paths, which you add as an optional fourth column. The GA4 paths report covers converting paths only, so you can build the extra counts from another source, such as a warehouse export. Without them, the tool still runs but warns you. Then the result mostly shows how often a channel appears on converting paths, not how much it persuades.

We left Shapley out on purpose. With converting paths only, it reduces to a linear split. A fancier name would add no insight, so we would rather not pretend.

Does any attribution model prove incrementality?

No. Attribution shares out credit for touches that happened. It cannot know what would have happened without them. A branded search ad, for example, often closes people who were already coming. It looks great in every model and may add few extra sales.

Incrementality asks a different question: how many conversions exist only because of the ads? To answer it, you need an experiment. Holdout tests, geo experiments and conversion lift studies create a control group that attribution never has. After that, a marketing mix model tells you how the whole budget behaves over time.

Data gaps also limit what you see. Visitors who decline consent, switch devices without signing in or only view an ad never reach the export in full. So treat every result as direction, not proof. Our post on Meta attribution settings shows how much a window choice alone can change the numbers.

That said, the comparison still earns its place. It tells you where to look and which test to run first.

How do you turn the attribution model comparison into a budget decision?

Start with three views. First, compare each channel's first click and last click credit. Second, read the assist to close ratio, which plays the role of the old Universal Analytics assisted conversions report. Third, open the chart that shows each model's percentage difference from last click.

Then sort channels into roles. Starters earn much more under first click and have a ratio above 1. A closer holds most of its credit under last click. Channels that do both are usually safe to keep.

Act with care, because the data shows credit, not causes. Before you cut a starter, test the cut with a holdout or a geo experiment. Before you scale a closer, check whether its conversions would have happened anyway. Then move budget in small steps and watch results for a few weeks.

Need a second pair of eyes? Our Google Ads management team reads these tables with clients every week. To judge profitability after the credit is set, use the ROAS calculator.

Common attribution mistakes

  • MistakeLetting Direct earn creditDo this insteadKeep the GA4 Direct rule on. Direct then counts only when the whole path is Direct, which stops it from stealing credit from the channel that really drove the visit.
  • MistakeReading Markov credit as persuasion without non converting pathsDo this insteadAdd the non converting path counts. Without them, the result shows coverage on converting paths, so use it as a hint only.
  • MistakePicking the model that flatters one channelDo this insteadDecide the question first: who starts journeys, or who closes them? Then read all models side by side and look at the gaps.
  • MistakeCutting a channel because last click ignores itDo this insteadRun a holdout or geo test before moving budget. A starter with zero last click credit can still feed every sale downstream.
  • MistakeMixing different groupings in one exportDo this insteadUse one dimension for the whole export, such as the default channel group. Mixing sources and campaigns splits one channel into many names.
  • MistakeComparing exports with different key events or datesDo this insteadKeep the key event and date range identical when you compare runs, or the differences come from the data, not from the models.

Frequently Asked Questions

Let's decide together which channel deserves which budget.

An attribution table is a starting point. We review your Google Ads account together with your measurement setup and allocate budget by real contribution.

Google Ads Management

Related Tools

All Tools (86)
Marketing Mix Modeling (MMM)Estimate channel contribution, adstock carryover, saturation curves and a better budget split from weekly spend and sales data, right in your browser.
UTM BuilderBuild correctly tagged links with Google Ads, social and newsletter presets.
ROAS CalculatorCalculate ROAS, ACOS, break-even ROAS and net profit; plan budget by target.
Google Ads Audit ToolAudit your keyword and campaign reports with 14 checks: wasted spend, Quality Score, duplicates, budget and rank limits, plus a health score and a monthly waste estimate.
Search Term N-Gram AnalyzerBreak your Google Ads search terms report into 1, 2 and 3 word phrases, total clicks, cost and conversions for each, and turn the wasteful ones into a negative keyword list.
Responsive Search Ad BuilderWrite the 15 headlines and 4 descriptions of a responsive search ad with live character limits, preview how the ad shows on Google mobile and desktop, and export it.