Ask a store owner what their best seller is and the answer comes back in about a second. They know the name, they probably know roughly how many went out last month, and they can tell you which photo sells it.
Ask the same owner which product makes them the most money and something different happens. There is a pause. Then they name the same product, with noticeably less confidence.
Most of the time those are not the same product. Sometimes they are close. Now and then the best seller is quietly the worst thing in the catalog, and it has been sitting at the top of the homepage, first in every collection, and soaking up the entire ad budget, precisely because it sells so well.
That is not a failure of attention. Every report a small store looks at is built to answer the first question and not the second one.
Your Store Ranks Products by Revenue. Your Bank Account Doesn't.
Open the top-products report in any ecommerce platform and look at what it is actually sorting on. Units sold, or revenue. That is the whole ranking. Nothing in that list knows what you paid your supplier, what the box cost, what the carrier charged you to move it, what your processor skimmed off the top, or how many came back three weeks later.
It is a popularity contest. Useful, but it is measuring interest, not income.
The rest of the ecommerce advice world has the same blind spot, and it shows up most clearly in how average order value gets taught. AOV is total revenue divided by total orders. It is a revenue metric with no cost side at all. We have written about why a bigger cart is the cheapest growth lever you have, and we stand behind it, but a bigger cart full of the wrong products is just a faster way to lose money.
This matters more for a small store than a large one. A retailer with four thousand SKUs is playing averages, and the winners cover the losers. When you sell eleven things, there are no averages. One product carrying your ad spend while quietly running at a loss is not a rounding error. It is the reason the bank balance never seems to match the sales figures on the dashboard.
And there is an unkind pattern hiding in this. Products often become best sellers because they are the cheapest thing you sell, the thing you discount hardest, and the thing you advertise most. Every one of those is also a reason the product earns the least per order.
Gross Profit Is the First Subtraction. There Are Six More.
Here is the good news, and it is genuinely good: your platform will do the first subtraction for free, and most owners never switch it on.
Shopify has a "cost per item" field on every product and variant. Fill it in and the profit reports under Analytics switch on, including gross profit by product and by variant. Shopify calculates gross profit as net sales minus cost, and margin as net sales minus cost, divided by net sales. If you do nothing else after reading this, go and fill in that field. It takes an afternoon for a small catalog and it moves you from guessing to measuring.
Now the limits, which Shopify is upfront about in its own documentation. Those reports only cover products that had a cost recorded at the time they sold, so anything you filled in last week tells you nothing about last year. The cost figure is static, so it does not follow your supplier's price increases. And the reports do not account for transaction fees, the shipping you paid, duties, or import taxes.
So gross profit is the first subtraction. Between that number and the money you actually keep, six more are waiting:
Pick, pack and packaging. The mailer, the box, the void fill, the tissue paper, the thank-you card, the tape. Then the labor, whether that is a 3PL charging you per order or you at the kitchen table at nine at night. Your time is not free just because you do not invoice yourself for it.
Shipping you paid, net of what the customer paid. Not your rate card. What actually left your account, by weight and by zone. A heavy product shipped across the country is a different business from the same product shipped across town.
Transaction fees. On Shopify Payments in the US, online card rates run 2.9% plus 30 cents on Basic, 2.7% plus 30 cents on Grow, and 2.5% plus 30 cents on Advanced. On a $22 order, that 30 cents is not noise.
Returns and refunds. The National Retail Federation and Happy Returns put returns at 15.8% of total retail sales in 2025, and 19.3% of online sales. That survey covers large merchants, so treat it as a direction rather than your number, but the direction is the point: roughly one in five online orders comes back. You paid to ship it out, you paid to get it back, someone spent time inspecting and restocking it, and depending on what it is you may not be able to sell it again at full price.
Discounts actually redeemed. Not your list price. What the average unit really sold for once codes, sitewide sales and the automatic 10% in your welcome email have all had their turn.
Attributable ad spend. If a product only sells when you advertise it, that spend belongs to that product.
"My Margin Is About Sixty Percent" Is a Guess Wearing a Number's Clothes
Almost every owner has a number they carry around. Ask about profitability and it arrives immediately: we run about a sixty percent margin. Then average order value gets multiplied by that number and treated as profit.
Nathan at Blue Sense Digital, who teaches this to much larger brands, is blunt about the shortcut. Take your average order value, multiply by the margin you think you have, and the answer will always be off. Not sometimes. Always.
Four reasons it drifts, and every one of them is worse for a small catalog.
Margin is not constant across products. It is an average of numbers that may range from eighteen percent to seventy, and averages hide exactly the product you need to find.
Discounting compresses margin at the precise moment revenue looks best. Your biggest revenue month is frequently your thinnest margin month, which is why November can feel like a triumph in the dashboard and a disappointment in the bank.
Shipping varies by weight and zone, so two products with identical gross margins are not equally profitable once they are in a van.
And returns cluster. They do not spread themselves politely across the catalog. Anything involving fit, color or feel takes them disproportionately, which means one or two SKUs are carrying most of your return cost while everything else looks clean.
Jessica Totillo Coster, who spent twenty years in retail and three of them as the only employee of a seven-figure online store, makes the related point that most stores never clear sixty percent gross margin in the first place. That is the ceiling people quote as their floor, and it is before any of the six subtractions above.
Run the Number on Ten Products. It Takes an Afternoon.
You do not need software for this. You need a spreadsheet, ten rows, and about three hours.
Take your top ten products by revenue over the last ninety days. Ninety, not thirty, so a single promotion does not distort the picture. Give each one a row and these columns:
Average selling price actually achieved, which is revenue for that product divided by units sold, so discounts are already baked in. Then unit cost from your supplier invoices. Packaging cost. Average shipping cost you paid, pulled from your carrier invoices rather than estimated. Transaction fees at your plan's rate. Return rate for that specific product, from your refunds, not from a benchmark. Ad spend you can honestly tie to it.
Subtract your way down and you have contribution per unit. Multiply by units sold and you have total contribution.
Then sort by that last column and see what moves.
One caution, because this is where people over-correct. Rank by total contribution, not by margin percentage. A candle that earns eighty percent and sells four units a month is a lovely product and an irrelevant one. The high-volume item with a thinner percentage may still be the largest single source of real money in the business. Percentage tells you the quality of each sale. Total contribution tells you what the product is worth to you.
What the Answer Changes on Monday
A number is only worth having if it changes a decision. This one changes six.
Where the ad budget goes. This is the big one, and it is why we care about this at all. If your ads are pushing the product with the thinnest contribution, no amount of creative testing or bid tuning fixes it, because you are efficiently buying sales that do not pay. Move the budget to the products that can carry it. As one operator put it plainly, if the margin is not baked into the product, buying customers at scale is close to impossible.
What sits at the top of a collection page. Merchandising is usually done by what sells. Sort by what earns instead, at least for the first row. The collection page is the aisle and the product page is the close, and the first six products in that aisle do most of the work.
Which product goes inside the bundle. The sweetener in a bundle should be a high-contribution item, because the discount comes out of the bundle's combined margin. Bundling your thinnest product as the add-on is how a clever AOV play turns into a loss.
Where the free-shipping threshold sits, and what it steers people toward. The threshold needs to sit above your current average order value, or you are simply paying for shipping you used to charge for. It also needs to point people at add-ons that actually earn.
What you raise the price on. A product with steady demand and thin contribution is the clearest price-increase candidate you will ever get. A modest increase on a product people already choose drops almost entirely to the bottom line, and it requires no new traffic.
What you stop selling. Rarely the first move, and never on ninety days of data alone. Some thin products earn their keep as the entry item that produces a second, better order, and the second sale is where the profit lives. Check what those buyers do next before you cut anything.
The Four Products That Lie to You
The heavy one. Great margin on paper, and then the carrier invoice arrives. Dimensional weight and cross-country zones can erase a healthy percentage entirely. Check contribution by shipping zone if you sell anything bulky.
The returner. Fit, color, feel. If a product's return rate is double the store average, its real contribution is far below its reported one, and better photography, a size guide or blunter product copy will earn you more than any ad ever will.
The discount magnet. The product that only moves during a sale. Its true average selling price is well below list, and the customers it brings in are the ones who came for the price. Blue Sense makes this point about discount-acquired cohorts generally: they repeat worse, because a price cut widens your audience to people who were only ever there for the price.
The loss leader that never leads. A deliberate loss leader is a legitimate strategy, but only if it produces a second order. Pull the ninety-day repeat rate of customers whose first purchase was that product. If they do not come back, it is not a loss leader. It is just a loss.
What to Do This Week
One afternoon, in this order. Fill in cost per item on every product so your platform can do the first subtraction. Pull ninety days of revenue by product. Build the ten-row sheet above, using real carrier and processor figures rather than estimates. Sort by total contribution and look for the products that move more than two places from their revenue rank, because those are the ones your reports have been misrepresenting. Then make one change: move ad budget from the lowest-contribution product to the highest. That single move is usually worth more than a month of optimization work.
Do it again quarterly. Supplier costs move, carriers raise rates, and your promotional calendar rewrites your average selling prices without asking.
Working out which products actually make money is unglamorous, and it is the most valuable afternoon available to most store owners. We do this for ecommerce clients all the time, and the reaction is almost always the same: mild surprise, followed by a much better decision about where the next thousand dollars goes. If you would rather have someone else build the sheet and act on it, we are happy to help. If you would rather run it yourself, everything you need is above.




