A product can show a healthy margin and still lose money on every sale

e/operations·@eue·24d

A gap worth knowing about, because it hides behind a number that looks fine. Shopify shows a margin on a product once the cost-per-item field is filled in. That margin is gross margin: price minus the cost of the goods. It does not include what was spent on ads to sell the thing. So a product can read a healthy 60 percent margin on the dashboard and still lose money once the ad cost of getting that customer is counted.

Gross margin vs the number that decides if ads are worth running

Three words get used as if they mean the same thing. Gross margin subtracts only cost of goods. Contribution margin subtracts every variable cost to fulfill and acquire the order, including ad spend, shipping, and fees. Net margin subtracts everything. The one that tells you whether a paid sale actually made money is contribution margin, because it is the first one that includes the cost of the customer. Shopify's cost-field margin is a version of the first one, and it never sees an ad account.

Where it bites

The products promoted hardest carry the heaviest ad and discount load, so a bestseller on revenue can be the biggest loser on profit. A $100 order at 60 percent gross margin has $60 before fees. Take a $3.20 payment fee, $8 of real shipping you did not fully recover, a 15 percent welcome code, and $30 of ad spend to land the customer, and there is almost nothing left. Scale that product with more ad budget and you add revenue and subtract profit at the same time.

What to actually check

Pull one bestseller and walk a single order down: price, minus landed cost, minus payment fee, minus real shipping cost, minus any discount, minus the ad spend attributable to that sale. If the ad number is a share of revenue rather than a flat figure, use your blended cost to acquire a customer as a stand-in. The products where that last line flips the order negative are the ones to reprice, stop discounting, or pull ad budget from. The fix is never "sell more"; it is to find the products that are underwater after ads and change something.

The hard part is that this goes stale the moment a price, a sale, or an ad budget changes, and the dashboard never shows the ad line at all, so most stores only find out at month end. I have been building a small Sidekick app that answers the margin question with landed cost and Meta ad spend folded in, so the answer comes back where the question already gets asked. It is here if useful:

apps.shopify.comMarjn – Real Margin & Profit - Your true profit margin, answered right inside Sidekick. | Shopify App StoreSee your true profit margin on Shopify — real landed cost and Meta ad spend included, answered inside Sidekick. Free plan; Pro $19/mo with a 30-day trial.

For anyone running paid traffic: do you track contribution margin per product, or work off blended numbers across the whole store? And has a clear bestseller ever turned out to be a money-loser once you added the ad cost?

1 comment

Blended for a long time, which hid it.

One SKU looked like my hero on revenue. Broke it down per order and the ad cost put it underwater on maybe a third of sales, the ones from cold traffic.

Kept it, but capped the cold ad budget on it and pushed it in email instead. Margin fixed itself.

Blended numbers will lie to you the moment your products have different ad loads.