Revenue Attribution

Revenue attribution assigns credit for a sale to the marketing touchpoints that drove it. Here's how the main models work, where each one breaks, and what credit splits look like in practice.
Revenue Attribution
The practice of assigning credit for a sale to one or more marketing touchpoints in the customer journey.
Revenue attribution is how you decide which marketing efforts actually produced a sale. A shopper might see a Meta ad, click a Google search result a week later, open three emails, and finally convert through a branded search — attribution is the model that splits the revenue across those touches so you can judge what each channel is worth.
The choice of model matters more than most teams admit. Last-click attribution credits whichever touchpoint sat right before the purchase, which is simple but systematically over-rewards bottom-funnel channels like branded search and retargeting. Data-driven and incrementality-based approaches try to fix that bias, at the cost of complexity and data requirements.
Attribution sits inside the broader practice of revenue intelligence — the discipline of connecting marketing spend, customer behaviour, and realised revenue so you can decide where the next euro goes. Without an attribution model, every channel will claim credit for the same sale, and your reporting will overstate paid performance by 30-60%.
Three families of models dominate online retail today. Rule-based models (last-click, first-click, linear, time-decay, position-based) hard-code who gets credit. Data-driven models — Google's GA4 default, for example — use machine learning over your conversion paths to estimate each touchpoint's contribution. Incrementality testing holds out audiences and measures the lift caused by a channel, which is the only method that answers the causal question.
Channel Credit = (Attributed Conversions × Average Order Value) − Channel Cost
Attributed Conversions
Attributed conversions
Number of purchases the model assigns to the channel over the period.
Average Order Value
Average order value
Mean revenue per attributed order.
Channel Cost
Channel cost
Total spend on the channel over the same period (media + fees).
A Shopify apparel store evaluates its Meta paid social channel for October. GA4's data-driven model attributes 412 orders at an AOV of €78. Media spend plus agency fees were €18,400.
Attributed conversions: 412 orders
Average order value: €78
Channel cost: €18,400
→ Channel credit = (412 × €78) − €18,400 = €32,136 − €18,400 = €13,736 net contribution
Under data-driven attribution, Meta produced €13.7k of net contribution. Under last-click, Meta's order count would likely drop by 30-40% because branded search and email steal the closing click — making the same channel appear unprofitable.
The table below shows how the same 100 orders get split across channels under each model. Notice how last-click concentrates credit on email and branded search — the channels closest to the buy button — while data-driven and incrementality redistribute credit upstream to Meta and display, which seeded the consideration.
Credit assignment across attribution models — 100 orders, mid-market Shopify store
| Channel | Last-click | Data-driven (GA4) | Incrementality test |
|---|---|---|---|
| Branded search | 32 orders | 14 orders | 6 orders |
| Email / SMS | 28 orders | 19 orders | 12 orders |
| Meta paid social | 18 orders | 31 orders | 38 orders |
| Google Shopping | 14 orders | 20 orders | 22 orders |
| Organic / direct | 6 orders | 11 orders | 14 orders |
| Display / YouTube | 2 orders | 5 orders | 8 orders |
Reading the table: branded search drops from 32% of credit under last-click to 6% under incrementality, because most branded searches would have happened anyway. Meta paid social more than doubles, because it's where demand actually got created. Acting on last-click numbers in this scenario would mean cutting the channel that's doing the real work.
Revenue attribution FAQs
Last-click gives 100% of the credit to the final touchpoint before purchase. Data-driven uses machine learning over your actual conversion paths to distribute credit across every touchpoint based on how much each one influenced the outcome. Data-driven is closer to reality but needs enough conversion volume to train on — typically 300+ conversions per month per property.
GA4 switched the default to data-driven attribution in 2023, which is a real improvement over last-click. But it only sees touchpoints GA4 can track — meaning iOS 14 dropouts, ad blockers, and cross-device journeys are still partial blind spots. Treat it as directional, not absolute.
Apple's App Tracking Transparency cut the signal Meta and other ad platforms get back from in-app conversions, so platform-reported ROAS became less reliable. Most stores now see a 20-40% gap between platform-attributed revenue and what shows up in GA4 or Shopify analytics. Server-side tracking and Conversions API close part of that gap.
When the spend is large enough to justify the experiment — usually €50k+ per month on a single channel. Hold out 10-20% of a comparable audience for two to four weeks, measure the revenue difference, and you get a causal answer that no attribution model can deliver. Most teams run one or two incrementality tests per year on their biggest channels.
Yes, but you have to decide whether to attribute first-order revenue, LTV, or both. Attributing only the first order systematically under-credits channels that bring in high-retention customers. The cleaner approach is to attribute first-order revenue for short-term decisions and 12-month LTV for budget allocation.
Use the same model for every channel and the same lookback window — usually 30 days for considered purchases, 7 days for impulse categories. Mixing platform-reported numbers (Meta's last-click view) with GA4's data-driven view double-counts revenue and inflates reported ROAS.
Match the window to your typical consideration cycle. Apparel and beauty usually convert within 7-14 days, so a 30-day window is generous. Furniture, electronics, and high-AOV categories often need 60-90 days. Anything longer than 90 days adds noise without adding signal.
Each platform credits itself under its own attribution rules. Meta uses 7-day click + 1-day view; Google uses last non-direct click; Shopify uses last-click within its own session. The same order can appear three times if you sum platform reports. Always pick one source of truth — usually GA4 or a server-side warehouse — for board reporting.
Yes — first-party tracking via Shopify, server-side events through Conversions API, and logged-in user IDs do most of the heavy lifting. You lose some cross-site visibility, but conversion-path attribution within your own funnel actually gets cleaner. Modelled conversions fill the gaps GA4 can't observe directly.
Attribution tells you which channel delivered a customer; CAC divides channel spend by attributed customers; LTV measures what those customers are worth over time. The three only stack up if they use the same attribution model — a common failure mode is calculating CAC under last-click and LTV cohorts under data-driven, which produces incoherent payback numbers.
Track CAC, channels, and funnel conversion in one place
Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.