Ads, CAC & marketing profit

Profit by Marketing Channel

Channel profitability needs two figures, not one: what the channel cost and what its orders were worth. Channels sell different product mixes at different discount depths, so contribution margin varies by channel — which means the highest-revenue channel is regularly not the highest-profit one.

Atul Tirkey, Co-founder, NetNet

Written by Atul Tirkey · Co-founder, NetNet

Updated September 6, 2026 · 4 min read

Channel reporting almost always stops at revenue and spend. That produces a return figure, and a return figure cannot distinguish between a channel selling full-price goods and one selling discounted heavy items at the same nominal ratio.

The missing input is margin, measured on that channel’s own orders.

Why margin varies by channel

It is easy to assume the product mix is the same wherever an order comes from. It is not, and the differences are systematic.

Discount depth. Paid campaigns are frequently built around an offer. Organic and email orders more often arrive at full price.

Product mix. Campaigns promote specific products, usually the ones that perform best in ads — which tend to be visually striking, keenly priced, or both. Those are not always your best-margin lines.

Order size. Email to existing customers often produces larger baskets, which spreads fixed per-order costs like the shipping label and the fixed payment fee across more revenue.

Customer type. Returning customers buy differently: less discount-driven, more predictable, and materially less likely to return the goods.

Geography. Some channels skew toward regions with higher delivery costs, which shows up as a margin difference that has nothing to do with the channel itself.

Add them together and a ten-point spread between channels is unremarkable.

The two-figure method

For each channel, calculate two things:

Contribution margin on that channel’s orders — costed at order level, not with a store-wide average rate. Applying a blended margin percentage to channel revenue defeats the entire purpose, because the mix difference is the thing you are trying to see.

Total channel cost — platform spend, agency fees allocated to that channel, tax on invoices, and for owned channels the platform fees and creative costs that usually get recorded as zero.

Subtract the second from the first. What remains is profit after channel spend, and it can be compared across channels because both sides are money.

Owned channels are not free

Email and organic routinely appear with zero cost, which makes them look infinitely efficient and removes any basis for deciding how much more to invest.

They cost something: platform subscriptions, list growth spend, content production, creative, and the time of whoever runs them. In the example above, email’s $900 covers the platform and a share of creative — small, but not nothing, and enough to make the profit figure real.

The reason this matters is that the interesting question about email is rarely “is it profitable” — it is “should we spend more on it”. That question requires a cost line, and a channel recorded at zero cost cannot answer it.

The attribution caveat, stated honestly

Any per-channel figure rests on assigning orders to a single source, and customer journeys are not single-source.

Someone sees a paid social ad, opens an email a week later, searches the brand name, and buys. One channel gets the credit and two look less valuable than they were. Email in particular is disadvantaged in first-click models and flattered in last-click ones.

Two things make this workable rather than paralysing. Use your own attribution consistently — one model, applied the same way each period — so that comparisons over time hold even if levels are imperfect. And treat the channel view as directional for reallocation, not as a precise verdict on any channel’s contribution.

The place where the caveat bites hardest is turning a channel off entirely on the strength of its assigned numbers. That is the decision to test with a holdout rather than to make from a report.

Reallocating on the findings

A channel profit table invites an obvious move — shift budget from the low-profit channel to the high-profit one — and that move is right more often than not, with two qualifications.

Channels do not absorb budget equally. Email profit is high partly because the audience is finite. Tripling email spend does not triple email profit, because there are only so many people on the list, and the constraint is list size rather than budget. Paid channels absorb more budget at a declining return; owned channels absorb less at a flatter one.

Cutting acquisition starves retention. Email sells to customers another channel paid to acquire. Reallocating budget out of paid social into email works for a quarter and then runs out of new people to email. The two are sequential rather than substitutable.

The useful reallocation is usually narrower than the table suggests: move budget away from the specific campaign or feed segment carrying the lowest margin, rather than away from the channel as a whole, and invest in owned channels up to the point where their audience constraint binds.

What usually changes after the first run

Three findings recur across stores doing this for the first time.

Email and SMS are far more profitable than their revenue share suggests, which argues for investment in retention rather than only in acquisition.

One paid campaign type carries a materially lower margin than the rest — usually the one tied to a standing discount, or a Shopping feed weighted toward cheap products. Scoping the offer or excluding products from the feed fixes it without abandoning the channel.

A channel that looked marginal on ROAS is comfortably profitable, because it sells full-price items at a better margin than the store average and was being judged against a break-even it never needed to meet.

None of those are visible from revenue and spend alone. All three follow directly from measuring margin on each channel’s own orders.

Two channels, one third the revenue, four times the profit

One month for a store running paid social and email, with contribution margin measured separately on each channel's orders.

Two channels, one third the revenue, four times the profit
Line Amount
Paid social — revenue $52,000
Paid social — contribution margin 35% — discount-led, heavier products $18,200
Paid social — channel spend $16,400
Paid social — profit after spend $1,800
Email — revenue $19,000
Email — contribution margin 48% — full price, returning customers $9,120
Email — channel spend $900
Email — profit after spend $8,220

Paid social produced nearly three times the revenue and less than a quarter of the profit. The difference is not only spend — it is that paid social sold a discounted, heavier mix at 35% margin while email sold full-price repeat orders at 48%.

Where the numbers come from

Every figure above traces to a specific field in a specific system. These are the ones that matter, and where each one goes wrong.

Data sources and their caveats
Figure Source Where it breaks
Channel revenue Orders tagged by source, from your own analytics or UTM data Attribution assigns a single source to a journey that usually involved several.
Contribution margin by channel Order-level costs on that channel's orders Requires per-order costing, which is why most channel reports stop at revenue.
Channel spend Platform billing, plus agency fees allocated to the channel Owned channels like email have real costs — platform fees, list growth, creative — that are often recorded as zero.

What this does not tell you

  • Channels assist each other. A customer who saw paid social, opened an email and arrived through search gets assigned to one of the three, and the other two show as less valuable than they were.
  • Email and organic disproportionately serve existing customers, so their apparent efficiency partly reflects acquisition work that another channel already paid for.

Frequently asked questions

Why does contribution margin differ by channel?

Because channels sell different things to different people. Paid campaigns are frequently discount-led and skew toward promoted products; email and organic sell more full-price items to customers who already know the brand. Same store, different mix, different margin.

Is email really that much more profitable?

On a per-order basis it usually is, though the comparison is not entirely fair — email largely sells to customers another channel paid to acquire. It is best read as evidence for retention investment rather than as an argument to cut acquisition.

How do I attribute orders to channels?

Use your own data rather than platform claims — UTM parameters, a first-party source field, or Shopify's own referrer data. Any single-source model is an approximation, but a consistent one supports comparison in a way overlapping platform claims cannot.

Should owned channels be counted as free?

No. Email and organic carry platform fees, content and creative costs, and list growth spend. Recording them at zero makes them look infinitely efficient and removes any basis for deciding how much more to invest.

Keep reading — Ads, CAC & marketing profit

All profit guides

Scale profitably.

Know what every order made you.

Install Free on Shopify