Skip to content
JHLet's talk
← Back to the blog
Performance marketing

The Sale Was a Success. The Profit Wasn’t.

4 min read
A shopkeeper compares a stack of sale orders with a nearly empty cash drawer.

A busy checkout is easy to like. Orders arrive, the revenue chart climbs, and someone has a screenshot worth sending to the team. I would be pleased too. The part I would want beside that screenshot is less photogenic: what each order has left after the shop paid to acquire and fulfill it.

The discount has changed that amount before the first additional customer arrives. More orders may compensate for it, but I would rather work out how many while the offer can still be changed.

A simple example with an inconvenient result

Take a hypothetical product selling for $100. Its product cost is $40. Allow another $20 per order for the variable costs included in this example, such as acquisition, payment processing and fulfillment. That leaves $40 per order towards fixed overhead and profit.

Now reduce the price to $80 and assume, for the moment, that those costs remain unchanged.

Per orderRegular priceDiscounted price
Revenue$100$80
Product cost$40$40
Other variable costs$20$20
Contribution before fixed overhead$40$20

A 20% price reduction has halved the contribution in this example. The shop needs twice as many orders to produce the same total contribution, assuming the costs hold and the original orders would otherwise have happened at full price.

This is the part I would slow down over in a campaign discussion. Were the discounted orders additional, or did some customers simply pay less for purchases they were already going to make? Did they buy more items? Did acquisition become more expensive? The arithmetic is useful because it gives us questions precise enough to investigate, without pretending it has explained the whole promotion.

Give the profit label a definition

Shopify's profit reports explain gross profit using recorded product costs and net sales. A report built around product cost should not be mistaken for a complete calculation of the money left after advertising, payment fees and every other expense. Shopify's profit-report guidance.

For a promotion, I would write down which costs are included before using the word profitable. Otherwise, two people can agree that a campaign made a profit while doing entirely different calculations.

Start with net selling revenue after discounts and expected refunds. Subtract product cost and the relevant variable costs of obtaining and fulfilling the order. Compare total contribution with the result expected without the promotion. Fixed overhead still needs to be covered, and an unusually demanding campaign may introduce extra costs of its own.

Changing one input makes the calculation more revealing. More expensive advertising would squeeze the discounted order again. Several items travelling in the same shipment might improve the calculation. Both are plausible enough to examine; neither deserves to be smuggled into the forecast just because it produces the answer we wanted.

Write a cautious case beside the expected case. Estimate what happens if order volume increases less than planned, returns rise or acquisition costs worsen. The purpose is to find out whether a modest forecasting error turns a reasonable promotion into an expensive one.

Also decide what will trigger a review while the campaign is running. A team might investigate when contribution falls below its agreed threshold, rather than waiting for a revenue target to be reached. The threshold should come from the business's costs and objectives, not a benchmark borrowed from an unrelated shop.

Afterward, compare the forecast with the actual result and record which assumption failed. If the campaign attracted customers who later bought again, track those purchases separately over a suitable period. That gives the next promotion a better starting point than repeating the discount because last time looked busy.

Decide what the discount is buying

A promotion can have a purpose beyond immediate contribution: clearing particular inventory, introducing a new product or acquiring customers who later return. Each purpose needs its own evidence. Future repeat purchases should remain an assumption until the business has measured them for a comparable group.

Before launching, record the offer, expected orders, contribution per order and the assumptions most likely to fail. During the campaign, check actual costs and order quality. Review refunds and repeat purchases when enough time has passed.

There is still pleasure in seeing people buy. A promotion can be lively, useful and worth repeating. I would simply like the team to know what made it worthwhile before the next offer is justified by how busy everyone remembers being.

Performance marketing