Skip to content
Academy
Marketing Academy · Field Work●Paid Ads
MiniHead-to-Head· 30 minutes

The Attribution Model Bake-Off: Same Journeys, Five Different Verdicts

Robinhood

Objective: Given the same 10 synthetic user journeys, each with 2-4 tracked digital touchpoints and a conversion, apply last-click, first-click, and linear attribution by hand to see how differently they credit the same underlying data, then identify which channel is most at risk of being defunded by the model currently in use.

You're a growth analyst at Robinhood reviewing a 10-journey sample pulled from GA4 before recommending which attribution model the team should default to for weekly bid decisions.

Apply three MTA models to the same touchpoint data, tabulate which channel wins credit under each, and flag which channel is most at risk of being defunded by the wrong model choice.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeSplit touchpoints, tabulate credit under each model, and compare channel-level totals

Free, handles a 10-row synthetic dataset with simple formulas, no attribution software needed to see the pattern

Google Analytics 4(optional)
FreeThe real-world source of the touchpoint-level data this exercise simulates

Free tier gives any team the raw event data multi-touch attribution is built from

The process

2 steps

Step 01 of 02

Attribution model choice changes which channel gets credited for the same conversion

The lesson lists five ways to assign credit: last-click gives 100% to the final touchpoint, first-click gives 100% to the first, linear splits evenly, time-decay weights recent touchpoints more, and data-driven uses machine learning.

Journey 7 is: paid social impression (no click) -> search ad click -> retargeting display click -> direct visit and purchase. Under last-click, which channel gets 100% credit? Under first-click?

Google Sheets— Import journeys.csv, one row per journey with a semicolon-separated touchpoints column.

Procedure

  1. Import journeys.csv and split the touchpoints column by semicolon
  2. For each journey, add a 'last-click winner' and 'first-click winner' column
  3. Fill both columns for all 10 journeys before moving on
Sample output
JOURNEY 7
  Touchpoints: paid social (no click) -> search click -> display click -> direct + purchase
  Last-click winner: Direct
  First-click winner: Paid Social

Healthy

A journey where last-click and first-click agree, the model choice doesn't change the budget conclusion.

Unhealthy

A journey where last-click credits 'Direct' (an unpaid channel) while the paid channels that actually built awareness get zero credit.

What this means

Last-click systematically overcredits the final touchpoint, in journey 7 that's Direct traffic, which isn't a channel you can optimize spend against at all.

So what do I do about it?

SymptomActionEffort
Last-click keeps crediting 'Direct' for conversions that started with a paid touchpointFlag Direct-heavy journeys for a linear or time-decay re-run before trusting the last-click report5 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Linear and time-decay models spreading credit change budget conclusions versus last-click

Linear credit splits evenly across every touchpoint in a journey; time-decay weights touchpoints closer to conversion more heavily. Both differ from last-click's winner-take-all approach.

Aggregated across all 10 journeys, last-click credits Paid Search with 60% of conversions and Paid Social with 5%. Under linear, Paid Social's share rises to 22%. Which model would a Paid Social manager prefer, and which one is closer to the truth?

Google Sheets— Sum the last-click and linear credit columns across all 10 journeys, group by channel.

Procedure

  1. Sum last-click winners by channel across all 10 journeys
  2. Sum linear credit (1 / number of touchpoints per journey) by channel across all 10 journeys
  3. Compare the two channel-share totals side by side
Sample output
CHANNEL SHARE OF CONVERSIONS
  Channel        Last-click   Linear
  Paid Search    60%          38%
  Paid Social    5%           22%
  Display        5%           18%
  Direct         30%          22%

Healthy

A model choice that's disclosed and consistent, so everyone knows Paid Social's real number is 'X% under model Y'.

Unhealthy

Defaulting to last-click because it favors the channel already getting the most budget, without disclosing the model choice to stakeholders.

What this means

Neither model is 'correct' in isolation, but a 17-point swing in Paid Social's credited share means the model you pick directly decides whether that channel's budget grows or gets cut.

So what do I do about it?

SymptomActionEffort
Paid Social shows only 5% credit under the team's default last-click reportRe-run the same data under linear and time-decay before recommending a budget cut, and disclose which model the recommendation used30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A model-comparison table showing each channel's share of conversions under last-click vs. linear, with a written flag naming the channel most at risk of being defunded by staying on last-click.

See a reference example
Sample output
Casper Sleep, MTA model comparison (excerpt)

  Channel         Last-click   Linear
  Paid Search     55%          41%
  Podcast (tracked promo codes) 3%   14%
  Paid Social     12%          19%
  Direct          30%          26%

Flag: Podcast is credited with only 3% of conversions under last-click but 14% under linear. It is the channel most likely to get cut next budget cycle if last-click stays the default.

Success criteria

You're done when you can:

  • Correctly identifies the last-click and first-click winner for journey 7
  • Correctly computes linear credit shares that sum to 100% per journey
  • Names the specific channel most at risk of being defunded by the last-click default, with the percentage swing as evidence