Skip to main content
E-commerce

Discount Codes That Do Not Lose You Money

Discount Codes That Do Not Lose You Money

A shop runs SUMMER20 for a bank holiday weekend. Two years later it still works. It is in a coupon-aggregator site, a browser extension offers it at checkout to every visitor who was already buying, and roughly a fifth of the shop's revenue leaves through a code nobody remembers creating.

Nothing broke. The code was created without an end date, and a discount without an end date is not a campaign, it is a price change.

A code needs a floor, a ceiling and an end

Almost every discount that goes wrong is missing one of three limits, and each one fails differently.

  • A floor. Without a minimum order, 20% off a single low-margin item is a sale you lose money on. The minimum is what turns a discount into a reason to add something.
  • A ceiling. A percentage with no cap is an open cheque against your biggest orders. The customer spending 40 costs you 8; the customer spending 900 costs you 180, and that is usually your best order of the month.
  • An end. A date, a total number of uses, or both. A code that cannot expire will outlive the campaign, the season and often the product.

A discount code with a floor, a ceiling and an end, next to the same code with none of them

Set all three and the same headline number becomes safe. "20% off, over 50, up to 15, until Sunday" is a sentence with a known worst case. "20% off" is not.

Percentage or fixed amount

They behave differently as the basket grows, and that is the whole basis for choosing.

A fixed amount is flat: 10 off is 10 off whether the order is 30 or 300. It reads as generous on small baskets and trivial on large ones, which makes it the right tool for a first order or for shifting a specific item.

A percentage scales with the order, which is what you want when the goal is a bigger basket and what hurts you when there is no cap. Pair it with a minimum order and a maximum discount and it does the job without the tail risk.

If you are unsure, a fixed amount over a minimum is the safer default. It is easier to explain, easier to forecast, and it cannot cost you more than the number printed on it.

The limits worth setting every time

When you create a code in the shop's Coupons screen, you are not just choosing a number. The fields that decide whether the campaign is safe are the ones underneath it:

  • Minimum order amount. The floor. Set it above your average order value if the goal is to lift the basket, at or below it if the goal is a first purchase.
  • Maximum discount. The ceiling, and only meaningful on percentages. This is the single most valuable field on the form.
  • Total uses. Turns a code into a limited run. Useful for anything you announce publicly, because a public code is a permanent code otherwise.
  • Uses per customer. Stops one account redeeming a welcome offer eleven times.
  • Start and end dates. A code can be created in advance and go live on its own, which is how a seasonal offer stops depending on somebody remembering.
  • Specific products. Restricts the discount to a set of items, so end-of-line stock is discounted without touching your new range.

There is also a buy X get Y setting for the offers that are hard to express as a percentage, such as three for two on a single line.

Each redemption is counted, so a code's usage is visible from the same screen. If a code you never promoted has hundreds of uses, it has been published somewhere you did not publish it.

Where the money actually goes

The uncomfortable arithmetic is that a discount is taken out of margin, not revenue. On a 40% gross margin, a 20% discount does not cost you a fifth of the sale, it costs you half the profit on it. The order still has to be picked, packed and shipped, and any card fee is charged on the discounted total, which is the only part of this that moves in your favour.

That is why the interesting question is never "what discount converts best". It is "what does this discount need to bring with it to be worth running". Usually the answer is one of three things: a bigger basket (minimum order), a first-time customer who will buy again (per-customer limit of one), or stock you want gone before it ages (product restriction).

If a code does none of those, it is a price cut you have not decided to make. A gift card is often the better instrument, because the money arrives first.

Codes that never should have been public

Two habits cause most of the leakage.

The first is putting a code in a place where it can be scraped: the checkout page, an unlisted landing page, a public post that stays up. Anything a browser extension can find, it will offer to every customer, including the ones who were already buying at full price.

The second is the untargeted welcome bar. If the code shows to everyone who lands on the site, you have discounted your whole shop, including the traffic from people who typed your name into Google because they were going to buy anyway.

A code you email to a segment is a different instrument to a code you publish. The first is a campaign. The second is a price.

What to do about the shopper who leaves without buying

The reflex is to chase them with a discount. Do the cheaper thing first: find out where they stopped. Shipping cost shown late, an account demanded before checkout, or a payment method they do not have are all more common than price, and none of them are fixed by 10% off. There is a walkthrough of that in where website visitors drop off, and the mechanics of following up sit in recovering abandoned checkouts.

If price genuinely is the objection, a small fixed amount over a minimum, valid for 48 hours, aimed at that one person, is a campaign. The same offer sprayed at everybody is a discount on your existing sales.

FAQ

Should a discount code apply before or after shipping?

Before. Discount the goods, then work out shipping on what is left, so a code cannot accidentally make delivery free. If you also run a free-shipping threshold, decide explicitly whether the threshold is measured before or after the discount and be consistent, because customers notice the inconsistency at the worst possible moment.

What is a safe first discount for a new shop?

A fixed amount over a minimum order, capped to one use per customer, running for a defined window. It has a known worst case, it cannot be scaled up by a large basket, and it tells you something about demand rather than about how many people can find a coupon site.

Do discount codes hurt my brand?

Constant, sitewide, always-on discounts do, because they train people to wait. Occasional, specific, time-boxed offers do not. The difference is whether the code has an end date.

How do I stop a code being shared?

Limit uses per customer and set a total cap, then treat any code you send by email as if it will eventually be public, because most are. For something that genuinely must not spread, issue codes individually rather than one shared code.

Where do I set all this up?

In the shop's Coupons screen, which is walked through in coupons, reviews and returns. If you have not set the shop up yet, start at setting up your shop, or see what a shop here includes on the online store builder page.

Share:
Website building tips & guides

The Webkio team builds website, booking and online shop software for small businesses. The guides here come from what we watch owners actually struggle with: taking bookings without adding staff, being found by people nearby, getting paid without friction, and keeping a site working long after launch day.

Ready to build your own? Browse free website templates, or see plans & pricing.