Ecommerce profitability often falls as a store grows because the costs that rise with growth climb faster than the money each order brings in. Acquisition gets more expensive, discounts become habit and fixed costs step up. The fix is to raise profit per order before chasing more orders.
That's an uncomfortable pattern for founders who hit their revenue target and then look at the bank balance. It's also common enough that we look for it first on any store that's scaling. This post explains where the money goes and which levers bring it back. It's part of our guide to the ecommerce KPIs that decide whether a store can grow.
Why do growing ecommerce stores make less money?
Growth changes the cost of every order. The first customers a store wins are usually the cheapest: people who already know the brand, warm audiences and word of mouth. Doubling revenue means reaching people who are colder and harder to convince. To run your own numbers, use our Shopify profit calculator.
Five costs tend to rise faster than revenue:
- Acquisition cost. Each new layer of audience costs more to win than the last.
- Discounting. Promotions that started as occasional tactics become the calendar. Customers learn to wait for them.
- Shipping and fulfilment. Free shipping thresholds set years ago no longer cover what an order costs to pack and send.
- Fixed costs. More staff, more apps, more tools and a bigger warehouse arrive in steps, often ahead of the revenue that justifies them.
- Inventory cash. A wider catalogue ties up more money in stock, including slow sellers that never earn it back.
None of these shows up in the revenue line. That's why a store can hit every growth target and still make less money than it did a year earlier.
The three layers of ecommerce profitability
Profit isn't one number. It's three layers, and each one answers a different question.
| Layer | What it subtracts from revenue | The question it answers |
|---|---|---|
| Gross margin | Product cost | Is the product priced well? |
| Contribution margin | Product cost, shipping, payment fees, discounts and acquisition cost | Does each order make money? |
| Net profit | Everything above, plus fixed costs | Does the business make money? |
The middle layer is where growing stores usually break. Gross margin can look healthy while contribution margin quietly shrinks, because acquisition cost and discounts sit below the gross margin line. Our explainer on contribution margin in ecommerce goes through how to calculate it per order and per channel.
What it looks like when revenue doubles and profit falls
Example, hypothetical round numbers. A store doubles revenue from $1,000,000 to $2,000,000 in a year, at the same $50 average order value.
| Year one | Year two | |
|---|---|---|
| Revenue | $1,000,000 | $2,000,000 |
| Orders | 20,000 | 40,000 |
| Margin after product cost and discounts | 60% ($600,000) | 55% ($1,100,000) |
| Shipping and fees | $150,000 | $300,000 |
| Ad spend | $250,000 | $650,000 |
| Contribution margin | $200,000 | $150,000 |
| Fixed costs | $120,000 | $200,000 |
| Net profit | $80,000 | minus $50,000 |
Revenue doubled. Orders doubled. Profit went from $80,000 to a $50,000 loss. Nothing in the example is extreme: slightly deeper discounts, ads that cost more per customer at higher volume, and a few new hires.
The lesson is that more orders at a shrinking profit per order make the problem bigger, not smaller.
Which levers improve profitability without shrinking the store?
Cutting costs is the obvious reaction, and sometimes it's right. But most growing stores have more room on the revenue side of each order than on the cost side. These are the levers we look at, in order.
Raise the value of each order
Every order carries costs that barely change with its size: the acquisition cost to win the visit, the pick and pack, the payment processing base fee. A larger order spreads those costs over more revenue. It's usually the fastest way to lift profit per order, because it works on customers you're already paying to win.
Revisit price
Founders tend to fear price increases more than the data justifies. On Mountain Ice, prices went up 20% and conversion settled from close to 7% to a steady 6%, which still earned more per visitor than before, because break-even was 5.83%. A price increase is close to pure margin, because the cost of each unit stays the same. Not every store has that headroom, but most have never tested whether they do.
Put discounts on a budget
Treat discounts as a cost with a cap, not a habit. Count them in contribution margin, and compare each promotion's margin with what the same period earns at full price. A promotion that lifts revenue while cutting profit isn't a win.
Make repeat customers count
A repeat order carries no new acquisition cost. That makes returning customers the most profitable orders a store gets, as long as they're not bought back with a discount. Cohort-level repeat orders are worth tracking alongside revenue for exactly this reason.
Cut what never pays back
Look at contribution margin by product and by channel. Some products earn their place only as entry points that lead to repeat orders, and some never do. Some channels look cheap on the first order and expensive over a year. Cut what loses money at every horizon you can measure.
How to check whether your store can afford to grow
Before you push more spend into growth, answer one question: does each order make money after acquisition cost? If it does, growth adds profit. If it doesn't, growth multiplies the loss, and the example above is what that looks like.
The full method for answering that question is in our explainer on ecommerce unit economics. It works per order, per customer and per channel, which is where profitability is actually decided.
Fix profit per order first
Growing stores rarely have a revenue problem. They have a profit-per-order problem that more revenue makes worse. Fix the order first, then scale it.
The quickest place to start is the value of each order. Our AOV Gameplan sets out the five offers a Shopify store should run to raise average order value, in the order to set them up. It takes about ten minutes to read.
