How to Build a Revenue Attribution Model
Revenue attribution is the discipline of connecting the money coming in to the marketing that brought it in. Get it right and every budget conversation becomes obvious. Get it wrong and you'll keep over-funding the last-click channel while your top-of-funnel starves.
This guide walks through building an attribution model that survives contact with reality.
Why single-touch attribution is broken
Last-click and first-click attribution are the defaults in most ad platforms — and they're both wrong. A B2B buyer might see 14 touchpoints before converting. An e-commerce shopper often bounces between search, social and email over weeks. Attributing 100% of the credit to one touchpoint hides where growth actually comes from.
The four attribution models worth knowing
- Last-touch — simple, wrong at the top of the funnel. Use only as a baseline.
- First-touch — credits demand creation. Useful for brand and content teams.
- Linear — splits credit evenly across touches. Fair, but treats a banner impression the same as a demo booking.
- Time-decay / data-driven — weights touches nearer the conversion higher. Closest to reality for most businesses.
Start with time-decay. It's a strong default and every serious analytics platform supports it.
Step 1 — Get every touchpoint into one place
Attribution fails when data is siloed. You need:
- Ad platform spend and clicks (Google, Meta, LinkedIn)
- Website behaviour (GA4, or better)
- CRM data (deals, revenue, dates)
- Call and form leads (if you have them)
This is what Thrivio Reporting is built for — pulling all four together automatically, so you're not writing SQL every Monday.
Step 2 — Tag every touchpoint consistently
Use UTMs on every paid link and every email. Use them the same way every time. If your Google Ads say utm_source=google and your CRM records utm_source=Google, they won't join.
Use the UTM builder and the campaign name generator to enforce the convention.
Step 3 — Define the conversion carefully
Attribution to revenue — not to leads — is what matters. A channel that produces 100 leads at £5,000 lifetime value beats a channel that produces 500 leads at £200. Model both:
- CAC — the fully-loaded cost per new customer
- LTV — the gross-margin lifetime value of that customer
- LTV:CAC — the payback ratio
Use the CAC & LTV calculator to sanity-check the numbers before you commit.
Step 4 — Layer in incrementality
Attribution says "these touchpoints preceded revenue". Incrementality says "this touchpoint caused the revenue". They're different questions. The only way to answer the second is to run holdouts: geo-based, audience-based or time-based. Even a rough incrementality test will reset how you value each channel.
Step 5 — Report to the outcome, not the metric
When you present attribution to leadership, lead with:
- Revenue by channel (time-decay)
- CAC and payback by channel
- ROAS on paid channels (calculator)
- What's changed vs. last quarter, and why
Skip the vanity metrics.
Where Thrivio fits
Thrivio ingests every channel, applies time-decay attribution out of the box, and surfaces the shifts as they happen — the CFO gets one number to trust, the CMO gets a clear place to reallocate. See Reporting for the shape.
Attribution is never perfect. But a "good enough, agreed-on" model beats three teams arguing about last-click every Monday.
