Optimising for profit, not revenue: why your best-selling upsell can lose you money
Ask most Shopify merchants which upsell is their best and they will name the one that brings in the most revenue. It is the obvious answer — and it can be the wrong one. The upsell that generates the most sales is not always the one that makes you the most money. This post is about the gap between those two things, why it widens as you scale, and how to close it.
Revenue and profit are not the same lever
Revenue is what the customer pays. Profit is what you keep after the cost of the goods. An upsell strategy that chases the first without watching the second can grow your top line while doing very little for your bottom line — or, in the worst case, promoting products that barely break even once you account for what they cost you.
The reason this happens is subtle: recommendation tools optimise for whatever you point them at, and most default to revenue because it is the number that is easy to see. Margin lives in your cost data, not on the storefront, so it gets ignored.
A worked example (illustrative — use your own numbers)
Suppose two products are both relevant companions for the item a shopper just added. These figures are illustrative; plug in your own:
- Product A — $40 price, 20% margin → you keep $8.00
- Product B — $12 price, 60% margin → you keep $7.20
A recommendation engine that ranks by revenue will always lead with Product A, because $40 beats $12. But the profit is nearly identical — and there is a second effect working against A: a $40 add-on is a bigger ask than a $12 one, so it often converts worse. Factor in acceptance rate and the cheaper, higher-margin product can quietly win on total profit.
Now multiply that single decision across every product page and every cart, thousands of impressions a month. Leading with the higher-sticker, thinner-margin item on every one of them adds up to real money left on the table.
How profit-aware ranking works
The fix is to give the engine the one piece of information it is usually missing: your costs. With cost of goods synced from Shopify, recommendations can be re-ranked by the margin you actually keep rather than the price the customer sees.
The logic is simple and worth stating plainly: relevance decides which products are eligible to show; profit decides which eligible product leads. You are never sacrificing relevance for margin — an irrelevant offer helps no one. You are breaking ties in your own favour. That is exactly what the Profit Optimizer does: among the companions that genuinely fit, it surfaces the one you keep the most on.
The second axis: inventory
Profit is not the only thing revenue-ranking ignores. There is also the stock sitting in your warehouse.
Slow-moving and overstocked inventory ties up cash and, eventually, gets discounted to clear. A recommendation engine that knows your inventory levels can put that stock to work — gently boosting aging products among the relevant options so they move through your existing upsell traffic, instead of through a fire sale later. UpsellEngine calls this Inventory Rescue, and it can layer in optional automatic discount tiers that deepen over time for stock that needs an extra nudge.
Think of it as a second, quieter objective running alongside profit: not just "which companion earns the most" but "which companion earns well and helps me clear stock I need to move."
Why this matters more than it first sounds
The upsell slot is finite. A shopper will look at one recommendation row, maybe two. That attention is a scarce resource, and every impression you spend showing a low-margin product is an impression you did not spend on a high-margin one.
This is the same logic that makes upsells more profitable than ad spend in the first place: the revenue arrives with no new acquisition cost attached, so margin is the whole game. (We ran that comparison in detail in the AOV math post.) Once you have decided to earn more from the orders you already have, it would be strange to then optimise those orders for the wrong number.
When ranking by revenue is fine
Honesty matters, so here is the nuance: if your catalog is small and your margins are roughly uniform across products, revenue ranking and profit ranking will produce almost the same order, and the distinction barely matters. The gap opens up when you have many products with meaningfully different margins — which is most stores past a certain size. The more varied your margins, the more you are leaving on the table by ignoring them.
Measure profit, not vanity revenue
You cannot manage what you cannot see. When you review upsell performance, look past total revenue to per-product contribution: which recommendations earn the most margin, and which just move the most units. UpsellEngine's analytics dashboard breaks results out per product with CSV export, so profit — not vanity revenue — can drive your decisions.
Frequently asked questions
What is the difference between ranking upsells by revenue and by profit?
Revenue ranking leads with the product that has the highest price; profit ranking leads with the one that leaves you the most after cost of goods. They often disagree — a $12 add-on at 60% margin can beat a $40 one at 20% — and where margins vary across your catalog, ranking by revenue quietly promotes your less profitable products.
How does the app know my margins?
Cost of goods syncs from Shopify, so recommendations can be re-ranked by the margin you actually keep rather than the price the customer sees. You do not have to maintain a separate cost sheet.
Does optimising for profit hurt relevance or conversion?
No. Relevance still decides which companions are eligible to show; profit only breaks ties among products that already fit. You are choosing between good options, not forcing an irrelevant one.
How is inventory-based ranking different from profit ranking?
Profit ranking favours high-margin companions; inventory ranking favours slow-moving or overstocked stock you need to move. They can pull in different directions, so the engine balances both on a weighting you control — lean harder on stock movement during an overstock crunch, or let profit lead the rest of the time.
When is ranking by revenue good enough?
When your catalog is small and margins are roughly uniform, revenue and profit ranking produce almost the same order and the distinction barely matters. The gap opens up once you have many products with meaningfully different margins.
The takeaway
Your best-selling upsell and your most profitable upsell are often different products, and ranking by revenue quietly promotes the former at the expense of the latter. Sync your costs, let relevance decide what is eligible and profit decide what leads, and use your upsell traffic to move the stock you actually need to clear. It is the same amount of shopper attention — pointed at the products that are best for your business.
For the bigger picture of how the engine chooses in the first place, see how AI product recommendations work on Shopify. Ready to rank your own offers by profit? Start free — no card required, and 0% revenue share on every plan.
Related posts
How Shopify post-purchase upsells work, when Shopify allows them, and how to set them up — a practical 2026 guide, including the honest limitations.
A worked comparison: lifting average order value with upsells vs raising your ad budget. Why upsell revenue is more profitable — with the assumptions shown.
How AI builds Frequently Bought Together pairings from your Shopify order history — cold start, co-purchase analysis, and keeping manual control.
A worked comparison of revenue-share vs flat-fee upsell app pricing at 500, 2,000, and 5,000 orders/month — with every assumption clearly labeled.
How AI builds product recommendations for a Shopify store: semantic catalog reading, co-purchase learning, full coverage, and profit-aware ranking.
The seven places to show an upsell on Shopify — product page, cart, checkout, post-purchase, thank-you, popups — and which shopper each one catches.
How to move slow-moving and overstocked Shopify stock through your upsell traffic — AI stock boosting, targeted auto-discount tiers, and honest trade-offs.