Revenue Attribution
Revenue attribution assigns credit for a sale across marketing touchpoints. Here's how the main models work, where they disagree, and which one to trust.
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 channel, campaign, or creative gets credit when a customer buys. The same €120 order can be attributed to Google Search, a Meta retargeting ad, or an email — depending on the model you pick. Each model encodes a different theory of how marketing works.
Three families dominate: rules-based models (last-click, first-click, linear, time-decay), algorithmic data-driven models (Google's default in GA4, Shapley-value-based), and incrementality testing (geo holdouts, conversion lift studies). The first is cheap and biased. The third is rigorous but slow. Most stores live somewhere in the middle.
Attribution matters because budget follows credit. If your dashboard says Meta drove €40k last month, that number — right or wrong — decides whether Meta's budget goes up or down next month. Choosing a model isn't a reporting decision; it's a capital-allocation decision.
The trap is that no model is neutral. Last-click systematically over-credits branded search and retargeting because they're the final step. First-click over-credits awareness channels. Data-driven models hide their weights behind a black box. Incrementality is the only approach that asks the right question — what would have happened without this channel? — but it requires holdouts and patience.
Credit(channel) = Σ (touchpoint_weight × order_value)
Credit(channel)
Attributed revenue
Total revenue credited to a channel over the reporting window.
touchpoint_weight
Weight assigned to each touchpoint
A fraction between 0 and 1; weights across all touchpoints in a path sum to 1.
order_value
Order value
The gross revenue of the converting order.
A Shopify apparel buyer places a €120 order after four touchpoints: Google paid search (discovery), an Instagram ad (re-engagement), a Klaviyo email (reminder), and direct (return visit). A data-driven model assigns weights of 0.35, 0.15, 0.30, and 0.20.
Order value: €120
Weights (Google / Meta / Email / Direct): 0.35 / 0.15 / 0.30 / 0.20
→ Google Ads: €42 · Meta: €18 · Klaviyo: €36 · Direct: €24
Under last-click, Direct would receive the full €120 and the three paid touchpoints would show €0 — which is why last-click reports systematically under-fund upper-funnel channels.
The table below shows how the same €120 order from the example above gets credited under four common models. Notice the spread: Meta receives €0 under last-click and the full €120 under first-click, even though the customer's behaviour was identical in every scenario.
Credit assigned to each touchpoint for a €120 order, by attribution model
| Model | Google Ads | Meta Ads | Klaviyo Email | Direct |
|---|---|---|---|---|
| Last-click | €0 | €0 | €0 | €120 |
| First-click | €120 | €0 | €0 | €0 |
| Linear (equal split) | €30 | €30 | €30 | €30 |
| Time-decay (7-day half-life) | €18 | €24 | €42 | €36 |
| Data-driven (Shapley) | €42 | €18 | €36 | €24 |
| Incrementality (geo holdout) | Measured per channel via lift test — typically 40-70% of platform-reported revenue |
Revenue attribution is one component of broader revenue intelligence — the discipline of connecting marketing spend, on-site behaviour, and order data into a single causal picture. Attribution answers the credit question; revenue intelligence answers the bigger question of which actions actually grow the business.
Revenue attribution FAQ
Last-click gives 100% of the credit to the final touchpoint before purchase. Data-driven attribution uses a machine-learning model (typically Shapley-value-based in GA4) to distribute credit across all touchpoints based on their measured contribution. Data-driven is the more defensible default for any store running more than two channels.
It's directionally useful but not ground truth. GA4 only sees touchpoints it can track, which means iOS 17 link-tracking protection, ad blockers, and cross-device journeys all introduce gaps. Treat GA4 attribution as a strong hypothesis, then validate big budget decisions with incrementality tests.
Incrementality testing measures what would have happened without a channel by holding out a randomly selected geography or audience. If you pause Meta in five matched markets and revenue drops 12% versus controls, you have a causal answer no attribution model can produce. It's slower and more expensive than modelled attribution, which is why most teams use it for high-stakes decisions only.
Use it as a sanity check, not a decision-making tool. Last-click is useful for tracking branded demand and direct response, but funding upper-funnel channels off last-click data will systematically starve them. Most teams report on data-driven as the primary lens and last-click alongside for comparison.
iOS 17 strips tracking parameters from links shared in Messages, Mail, and Safari Private Browsing, which breaks UTM-based attribution for a meaningful slice of traffic — often 8-15% on consumer stores. The mitigation is server-side tracking, first-party data collection (logged-in sessions, email matches), and leaning harder on incrementality for paid channels.
A view-through conversion is a sale credited to an ad the user saw but didn't click. Meta and Google count these by default in their platform dashboards, which is a major source of inflated reported revenue. For internal attribution, most teams exclude view-through entirely or apply a heavy discount (10-30% of click-through weight).
For most consumer purchases, 30 days on click and 1 day on view is a defensible default. Lower the click window to 7 days for impulse categories (apparel, beauty under €50) and extend to 60-90 days for considered purchases (furniture, electronics over €300). Shorter windows favour bottom-funnel channels; longer windows surface upper-funnel impact.
Because they count differently. Meta uses 7-day-click plus 1-day-view by default and credits every conversion it touched, even partially. Your Shopify dashboard typically uses last-click. The same order shows up in both. Expect platform-reported revenue to exceed your CRM by 30-100% in aggregate — incrementality testing is how you find the true number.
Yes, up to a point. GA4's data-driven model handles most stores in the €1M-€15M range adequately, especially with server-side tagging and Enhanced Conversions enabled. You only need a dedicated MTA platform if you're running offline channels (TV, podcast, OOH) or need to attribute revenue to specific creative variants within a channel.
Attribution is one input. Revenue intelligence combines attribution with on-site behaviour (which products got viewed, where the funnel leaked), order-level economics (margin, return rate, repeat purchase), and forecast modelling. Attribution tells you which channel earned the sale; revenue intelligence tells you which channel earned a profitable, retained customer.
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.