Max MorrishThe Playbook

Whether, chapter thirteen

Measurement you can defend

Source / mediumCampaign newsletter / emailkiln-spring-launch newsletter / Emailkiln-spring-launch instagram / paid-socialkiln-spring-launch instagram / paid-socialkiln_spring_launch one channel, two rows one campaign, two names https://kilncoffee.example/spring?utm_source=newsletter&utm_medium=email&utm_campaign=kiln-spring-launch The fix: lower case, hyphens, one word per medium, the same campaign name every time.
The clean page, starting https://

Where the click came from: newsletter, instagram, google

One of: email, cpc, paid-social, social, referral, display, affiliate

The same name on every link in the campaign

Optional: which link or ad this is

Optional: the paid search keyword

The link

How the log would group in a report
Source / mediumCampaignLinks
A report groups by the exact text of each tag. "Email" and "email" become two rows, and so do "kiln-spring-launch" and "kiln_spring_launch", so one channel and one campaign each look half their size. Kiln, its links and its address are invented.

If the redesign doesn't measurably move all three, it has failed regardless of how good it looks.

From my brief for the UVA Food Assist web redesign, 22 May 2026.

The idea

I think measurement starts before launch. Decide what counts as success while you can still be honest about it, tag every link the same way, and know which question each report answers. If you decide afterwards, there is always some number that makes the work look good.

Attribution models don't tell the truth. They tell different truths, because each one is a rule about which touch deserves the credit. So I choose one on purpose and say which. When data is missing, I say it's missing instead of filling the gap with a guess.

Tag it

A UTM tag is a label on the end of a link that analytics reads when someone clicks. The tools group by the exact text, so a capital letter or an underscore where a hyphen should be starts a new row and splits the numbers. The builder below checks a link against a short house list of mediums and against the Kiln links already in the log. It starts with two mistakes in it.

Credit it

This is one Ledgerline buyer's path to a demo request over thirty days, five touches long. The buyer is invented. Switch the model and watch the credit move. Nothing about the buyer changes; only the rule for sharing out the credit does.

Day 1Day 9 Day 15Day 26 Day 30Demo First touch Last touch Linear Time decay Position based Bars, top to bottom: paid social, organic search, email, referral, paid search. Five rules, one buyer, five different answers to "which channel worked".
  1. Day 1 Paid social: an ad in their feed
  2. Day 9 Organic search: a search for job costing software
  3. Day 15 Email: a webinar invitation
  4. Day 26 Referral: a review site
  5. Day 30 Paid search: a search for Ledgerline by name, then the demo request
Assumptions you can change
Time decay: credit halves every7 days
Position based: credit to the first and to the last touch, each40%
Share of the credit for this buyer, by model
ChannelFirst touchLast touchLinearTime decayPosition based
Paid social100%0%20%2.7%40%
Organic search0%0%20%6.0%6.7%
Email0%0%20%10.9%6.7%
Referral0%0%20%32.3%6.7%
Paid search0%100%20%48.1%40%
The same five touches, credited five ways. First touch gives it all to the ad on day 1, last touch to the branded search on day 30, linear splits it evenly, time decay leans on whatever came last (credit halves every seven days by default), and position based gives 40% to each end. The buyer and the days are invented.

Letting the paths decide

The five models above are rules a person picked. A data-driven model reads many paths instead, the ones that ended in a demo and the ones that didn't. The one I find easiest to explain is a Markov chain with a removal effect: for each channel, how much conversion would be lost if that channel disappeared from every path.

Here are twelve invented Ledgerline paths. Six end in a demo request.

Twelve invented Ledgerline paths
Touches, in orderEnded in
Paid social, organic search, email, referral, paid searchDemo request
Organic search, email, paid searchDemo request
Referral, emailDemo request
Paid social, email, emailDemo request
Organic search, referral, paid searchDemo request
Email, referralDemo request
Paid socialNothing
Paid social, organic searchNothing
Organic searchNothing
Paid social, paid socialNothing
Paid searchNothing
Organic search, emailNothing
Share of the credit over the twelve paths
ChannelRemoval effectLast touch
Email27.3%33.3%
Organic search20.4%0%
Paid search20.4%50%
Referral20.2%16.7%
Paid social11.7%0%
Removal effect beside the model chosen above. On these paths, last touch gives paid search half of the credit; the removal effect gives it about a fifth and gives email the most, because taking email away breaks more of the paths that ended in a demo.

Which one to use

None of them is right. Last touch is fine for a quick shop where people buy on the first visit. For a long B2B sale like Ledgerline's I'd report position based for the monthly story, keep the removal effect as a check once there are enough paths to trust it, and write the model's name on every chart. Google Analytics 4 dropped first touch, linear, time decay and position based in 2023 and kept last click and its own data-driven model, so most teams now see one model by default, often without anyone saying a choice was made.

Where I used it

What I'd do now

In a group project, the Google Analytics prediction section of our report went out as placeholder slides. It wasn't my section, but it's the gap I'd close first. Here it is for Kiln, written as a prediction to check against the first month of real data, not as a result. Kiln is invented, and so is everything below. I haven't taken the Google Analytics certification yet.

Audience
People who already buy good coffee online, plus café regulars the shop sends to the site. I'd expect returning visitors to be a bigger share than a new shop usually sees, because the café does the first introduction.
Acquisition
Instagram and the email list bring most first visits in launch week. Search for single-origin and roaster terms grows slowly behind them, and every link from the first two is tagged.
Behaviour
Product pages get the time. The brew guides get read and left, so I'd watch whether anyone who reads a guide goes on to a product page.
Conversions
Two goals: a first order, and a subscription started. A newsletter sign-up is tracked but doesn't count as success.
  • First-order conversion rate, by source / medium. It says which tagged channel brings buyers rather than visits.
  • Subscriptions started per 100 first orders. A roaster makes its money on repeat bags.
  • Customers who order again within 60 days. The second bag is the real test of the coffee.
  • Revenue per session, by landing page. It shows which page earns the traffic it gets.
  • Share of sessions with no channel assigned. My check on the tagging itself. If it climbs, the four numbers above are wrong and I'd say so.

Model definitions follow Google Analytics documentation. Analytics as taught in a digital marketing program, 2026. Markov-chain attribution with removal effect after Anderl, Becker, von Wangenheim and Schumann (2016), International Journal of Research in Marketing.