ROI by Channel Benchmarks

Metricuno
May 21, 2026
5 min read
Quick answer

Channel-level ROI benchmarks for online stores, with contribution-margin adjustments that turn raw ROAS into a number you can actually compare across Meta, Google, TikTok, email, SEO, and affiliate.

Definition
Acquisition & Attribution

ROI by Channel Benchmarks

Contribution-margin-adjusted ROI ranges for the main DTC acquisition channels — a like-for-like comparison ROAS can't give you.

ROI by channel benchmarks express the return on each marketing euro after you subtract COGS, shipping, payment fees, and returns — not just the revenue-to-ad-spend ratio that ROAS reports. That distinction matters because a 4x ROAS on Meta and a 4x ROAS on email are not the same business outcome once you account for incrementality, organic baseline, and the fixed costs hiding inside each channel.

The numbers below are realistic ballpark ranges for online stores in the €1M-€15M revenue band, on Shopify, WooCommerce, or Magento. Treat them as a starting grid for your own analysis, not absolute targets.

Also known as
marketing ROI benchmarks
channel ROI comparison
true ROI by channel

Most channel comparisons online quote ROAS — revenue divided by ad spend — and stop there. ROAS is useful for in-platform optimisation, but it overstates profitability because it ignores the 40-65% of revenue that gets eaten by COGS, fulfilment, payment fees, and returns before a euro of contribution margin lands in your account.

True ROI bakes those costs in. The benchmarks below show ROAS (what your ad platform shows you) alongside contribution-margin ROI (what actually pays the bills) for the six channels that account for ~90% of online-store acquisition spend.

Benchmark

Channel ROI benchmarks for DTC stores in the €1M-€15M revenue band (assumes 55% contribution margin after COGS, shipping, fees, returns).

ChannelTypical ROASContribution-margin ROIIncrementality factorPayback window
Meta Ads (prospecting)1.8x - 2.6x-0.2x to 0.4x0.7 - 0.960-90 days
Meta Ads (retargeting)5.0x - 8.0x1.7x - 3.4x0.3 - 0.50-30 days
Google Search (brand)8.0x - 15.0x3.4x - 7.2x0.2 - 0.40-15 days
Google Search (non-brand)2.5x - 4.0x0.4x - 1.2x0.6 - 0.830-60 days
TikTok Ads1.2x - 2.2x-0.3x to 0.2x0.8 - 0.9560-120 days
Email & SMS (owned)25x - 60x12x - 32x0.4 - 0.70-7 days
SEO (organic non-brand)n/a8x - 20x (on content cost)0.7 - 0.96-12 months
Affiliate / partnerships4.0x - 7.0x1.2x - 2.8x0.5 - 0.830-60 days

Two columns deserve a second look. Incrementality factor is the share of attributed revenue that wouldn't have happened without the channel — branded Google search scores low because most of those clicks would have arrived via direct anyway. Payback window is how long it takes contribution margin to repay the acquisition spend; it's the bridge between ROI and cash flow.

Chart

Contribution-margin ROI midpoint by channel

-5x0x5x10x15x20x25xMeta prospectingMeta retargetingGoogle brandGoogle non-brandTikTokEmail & SMSSEOAffiliateContribution-margin ROI (x)Channel
Midpoint of the ranges above. Email/SEO bars are capped on the chart for readability.

Why ROAS overstates channel profitability

A 3x ROAS on a Shopify apparel store sounds healthy until you do the arithmetic. On €100 of revenue, COGS takes €35, shipping and pick-pack €8, payment fees €2.50, and a 12% return rate erodes another €12. You're left with ~€42 of contribution margin against €33 of ad spend — a contribution-margin ROI of 0.27x, not 3.

That gap is exactly why blended metrics like MER (marketing efficiency ratio) became popular: they sidestep platform-level attribution wars and force a comparison against total revenue. But MER alone doesn't tell you which channel to cut. Channel-level ROI, computed with the same margin assumptions across every line, does.

Attribution windows distort everything

Meta's 7-day-click / 1-day-view window credits roughly 30-50% more conversions than a strict last-click model. Before you compare ROI across channels, set every platform to the same attribution window (most teams use 7-day click) and reconcile against GA4 or your data warehouse. Otherwise you're comparing a channel that takes wide credit with one that takes narrow credit.

Using these benchmarks for budget reallocation

The standard mistake is to read the table top-down and conclude "shift everything to email". You can't — email volume is capped by list size and send frequency. The right read is to compare each channel's contribution-margin ROI against its marginal cost of scale, then move budget to whichever channel has headroom at acceptable ROI. This is the core question the ROI Decision Frameworks page walks through in detail.

A useful sanity check: your blended MER target should fall within the weighted average of the channel ROIs above, given your channel mix. If your MER is materially lower than the math predicts, one channel is dragging — usually TikTok prospecting or non-brand Google with broad-match keywords. If MER is materially higher, you're likely under-investing in prospecting and harvesting historical brand demand that will run out.

Frequently asked

Frequently asked questions

ROAS is revenue divided by ad spend. ROI subtracts the cost of goods, fulfilment, payment fees, and returns first, then divides the resulting contribution margin by ad spend. For a store with 55% contribution margin, a 3x ROAS converts to roughly 0.65x contribution-margin ROI — very different decisions follow.

Branded search captures users who already know your store and were going to convert anyway. The clicks are cheap, the conversion rate is 8-15%, and the contribution-margin ROI looks spectacular. But the incrementality factor of 0.2-0.4 means only 20-40% of that revenue is truly caused by the ad — the rest you'd have got organically.

Partially. Smaller stores tend to see lower email ROI (smaller lists, less segmentation), worse SEO ROI (less domain authority), and more volatile Meta ROI (less data for the algorithm). The directional ranking holds; the absolute numbers shift down 20-40% in most categories.

Take revenue, subtract COGS, outbound shipping, pick-and-pack labour, payment processing fees, return-related refunds and reverse logistics, and any per-order tax that isn't passed through. Divide by revenue to get contribution margin percentage. Most stores land between 40% and 65%; apparel and beauty tend higher, electronics and large items lower.

MER (marketing efficiency ratio) is total revenue divided by total marketing spend — a blended, top-down view. Channel ROI is the bottom-up decomposition. Use MER as the daily health check and channel ROI for budget allocation decisions. They should reconcile within ~10% once attribution windows are aligned.

TikTok still skews to a lower-AOV, more discovery-oriented audience for most online retail verticals, and its conversion APIs are less mature than Meta's. Median contribution-margin ROI hovers near break-even today. It can work as a top-of-funnel awareness channel measured by lift in branded search, not as a direct-response line item.

Yes, but use content production and link-building cost as the denominator, not zero. A piece of evergreen content that costs €1,500 to produce and drives €30,000 in attributable revenue over 18 months has a real ROI — usually 8-20x on contribution margin, which is why SEO consistently looks like the highest-ROI channel for stores that invest in it seriously.

Recompute your own channel ROI monthly using a rolling 90-day window. Compare against external benchmarks like these quarterly. The ranges shift with iOS privacy changes, ad platform algorithm updates, and your own product mix, so anything older than two quarters is directionally useful at best.

Last non-direct click in GA4 as the baseline, cross-checked against in-platform attribution at a 7-day-click window, with periodic geo-incrementality tests on your top two channels. Data-driven attribution sounds appealing but is a black box; you can't audit it, so it's hard to defend in a quarterly review.

Affiliate sits in the 1.2x - 2.8x contribution-margin ROI range when commissions are 8-15% and the program runs on last-click. Influencer is more volatile — a single creator can deliver 5x or 0.2x depending on fit — so we report it inside the affiliate row only when paid via a tracked code or link. Otherwise measure influencer separately as a brand-lift line item.

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.