Channel Mix Contribution Calculator
Plug in revenue by channel for two periods and see exactly which channels drove your revenue change — and how much was mix shift vs per-channel performance.
Channel Mix Contribution Calculator
A tool that decomposes period-over-period revenue change into each marketing channel's contribution, separating mix shift from performance.
A channel mix contribution calculator takes revenue by channel for two periods — say Q3 vs Q4, or this month vs last — and returns each channel's euro contribution to the total revenue delta, plus its share of that delta. The output is the chart that answers 'what actually changed in our channel mix?' in one slide.
The more useful version also splits the delta into two effects: mix shift (the channel's share of total revenue moved) and performance change (the channel itself grew or shrank). That distinction matters because a falling paid search number can mean either 'paid search is underperforming' or 'organic just got bigger and crowded it out' — and the right response is different.
Channel Mix Contribution Calculator
Paid Search — previous period revenue
$
Paid Search — current period revenue
$
Organic — previous period revenue
$
Organic — current period revenue
$
Email/CRM — previous period revenue
$
Email/CRM — current period revenue
$
Total previous period
$330,000
Total current period
$380,000
Total revenue delta
$50,000
Paid Search contribution to delta
-$15,000
Organic contribution to delta
$40,000
Email/CRM contribution to delta
$25,000
Paid Search share of delta
-30.0%
Organic share of delta
80.0%
Email/CRM share of delta
50.0%
Use three to six channels at most — beyond that the chart gets noisy. Pick periods of equal length (month vs month, quarter vs quarter) so seasonal effects don't pollute the comparison.
The output most people screenshot is the share-of-delta row. It turns a vague 'revenue is up €50k' into a sentence with named owners: 'organic drove 80%, email drove 50%, paid search dragged 30%.' Those percentages can exceed 100% individually — that's not a bug, it's the point. When channels move in opposite directions, the winners cover for the losers.
The math behind the calculator
Channel_Contribution_% = (Revenue_curr_channel − Revenue_prev_channel) / (Total_Revenue_curr − Total_Revenue_prev)
Revenue_curr_channel
Channel revenue, current period
Revenue attributed to the channel in the period you're analysing.
Revenue_prev_channel
Channel revenue, previous period
Revenue attributed to the same channel in the comparison period.
Total_Revenue_curr
Total revenue, current period
Sum of revenue across all channels in the current period.
Total_Revenue_prev
Total revenue, previous period
Sum of revenue across all channels in the previous period.
A beauty SKU brand comparing November to October. Paid social went from €120,000 to €145,000; total revenue grew from €400,000 to €450,000.
Paid social, October: €120,000
Paid social, November: €145,000
Total revenue, October: €400,000
Total revenue, November: €450,000
→ Paid social contribution = (€145,000 − €120,000) / (€450,000 − €400,000) = €25,000 / €50,000 = 50%
Half of the brand's month-over-month growth came from paid social alone. If paid social CAC also rose, that 50% is borrowed — pull the lever back and the growth disappears.
This is the raw contribution view. A more advanced decomposition splits each channel's delta into a mix-shift component (the channel's share of total revenue moved) and a performance component (the channel itself grew at a different rate than the overall business). For board reporting, raw contribution is usually enough — mix-shift vs performance matters more when you're presenting to a CFO who's asking why blended ROAS slipped.
Typical channel contribution patterns
Typical channel contribution to revenue growth for online retail brands at €1M–€15M revenue
| Channel | Share of revenue (mature brand) | Share of YoY growth (scaling brand) | Typical volatility |
|---|---|---|---|
| Paid search (Google) | 20-35% | 15-30% | Medium |
| Paid social (Meta/TikTok) | 15-30% | 25-45% | High |
| Organic search / SEO | 15-25% | 10-20% | Low |
| Email / CRM | 10-20% | 15-25% | Low |
| Direct / branded | 10-20% | 5-15% | Low |
| Affiliate / influencer | 3-10% | 5-15% | High |
Two things to notice. Paid social typically contributes more to growth than to absolute revenue — it's the lever scaling brands pull hardest. Email is the opposite: small share of growth but disproportionately profitable because there's no CAC attached. A channel-mix chart that ignores margin overweights paid channels and undersells owned ones.
If your numbers look very different from these ranges — say paid social at 60% of revenue — you're either earlier-stage than this band, or you have a concentration risk worth flagging in the same deck. Single-channel dependence above 50% is the pattern that breaks brands when an ad platform changes its algorithm.
How to read the output without misleading the room
Channel contribution is a last-click view of revenue. It tells you which channel the order closed on, not which channel earned it. A YouTube view that nudges a customer to Google your brand and click a paid search ad shows up as 100% paid search in this calculator — and 0% YouTube. That's fine for spotting movement, dangerous for budget decisions.
Pair this view with a blended-ROAS sanity check and, where you have it, a multi-touch or media-mix model. The channel contribution calculator answers 'what moved?' The MMM answers 'what caused it to move?' Different questions. Related concepts worth stacking next to this output: blended vs channel ROAS, driver-level revenue contribution, and incrementality testing.
Watch for attribution-window drift
If you changed GA4 attribution settings, switched from last-click to data-driven, or upgraded your Shopify pixel between the two periods, channel deltas will move for non-real reasons. Lock the attribution model before running the comparison — or note the change explicitly on the slide. The whole point of historical GA4 import in Metricuno is to keep this consistent: same model applied retroactively to both periods, so the delta is real.
Channel mix contribution — common questions
Contribution measures each channel's share of a revenue change between two periods. Attribution assigns credit for a single conversion to the channels that touched it. Contribution is a portfolio view; attribution is a per-order view. You need both — contribution for board reporting, attribution for budget allocation.
Yes, both. When channels move in opposite directions, the winners can each contribute more than 100% of the net delta while the losers contribute negative percentages. The shares always sum to 100%. If paid search drops €15k while organic grows €40k and total grows €25k, organic's share is 160% and paid search's is -60%.
Channel contribution looks at revenue movement; blended vs channel ROAS looks at efficiency. A channel can contribute 40% of growth while bleeding margin — that's where blended ROAS catches what contribution analysis misses. Use them as a pair: contribution for 'what changed', ROAS for 'was it worth it'.
Always equal-length, seasonally-comparable periods. Month vs prior month catches operational changes. Quarter vs same quarter last year catches structural shifts without seasonality noise. Avoid month vs same month last year unless the business hasn't grown much — the percentages get distorted by base effects.
Three to six. Below three, you're not really analysing a mix. Above six, the chart becomes unreadable and small channels (affiliate, referral) add noise without insight. Group long-tail channels into an 'Other' bucket if you need to keep the headline channels visible.
Yes — the math is platform-agnostic. The only thing that changes is where you pull the channel breakdown from. Shopify's native reports, GA4, and your ad platforms will each give slightly different numbers; pick one source of truth and stick with it across both periods.
Enter zero for the previous period. The new channel's full current-period revenue becomes its contribution. This is correct — it tells you exactly how much of the growth came from a channel that didn't exist before, which is often the most actionable insight on the slide.
Mix shift = a channel's share of total revenue moved, even if its absolute revenue stayed flat. Performance change = the channel's absolute revenue moved, even if its share stayed flat. A channel can have zero mix shift and still drive growth (everything grew proportionally), or zero performance change and still shift the mix (everything else moved around it).
Whichever model you used in the previous period — consistency matters more than which model is 'right'. If you've migrated GA4 attribution settings between the two periods, redo the previous period under the new model before comparing. Otherwise the deltas reflect a settings change, not a business change.
Channel contribution is the top-level cut. Driver-level revenue contribution goes one layer deeper: within each channel, which campaign, audience, or product drove the change? Use channel contribution for the board slide; use driver-level contribution for the marketing-team standup the next morning.
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.