Skip to content

Slashed Price vs Promo Code: What a Five-Market Ad Test Revealed

Same 10% discount, shown two ways. When we hid it behind a promo code, cost per purchase jumped 85% to 100%+ in the West and almost nobody used the code. Germany did the opposite.
Two hanging price tags displaying "20% off" and "Special offer" against a soft blue background.

We run paid ads for a high-ticket ecommerce brand, and we wanted to answer a plain-sounding question with real money riding on it: what is the best way to show a discount? Same 10% off, presented two ways: a slashed price on the product page, or a promo code at checkout. When you spend enough on paid ads, even the wrapping around an offer earns a test.

We assumed the wrapping barely mattered. It mattered enormously. When we moved the discount from a slashed price on the page to a promo code at checkout, our cost per purchase across the Western markets jumped by 85% to 100% and more. Then Germany did the exact opposite. Here is the whole test, the real numbers, and what I think it means for your creative.

The short version

People buy what they can see, not what they have to read.

  • Same discount, two ways to show it. We gave 10% off as a promo code, then as a slashed price on the page. Only the presentation changed.
  • Hiding it behind a code nearly doubled our cost. Across the US, UK, Canada and Australia, cost per purchase rose 85% to 100%+ once shoppers had to enter a code.
  • Almost nobody used the code. Of 149 purchases in the window, only about 25 used the code that was plastered everywhere.
  • Germany went the other way. There the code cut cost per purchase by 52%, which we treat as an anomaly worth a hypothesis, not a rule.
  • Creative beats copy. A visible price drop does the job a written code cannot, because people scan before they ever read.

The test: two ways to show the same 10% off

The brand sells high-ticket products, so every sale is a considered purchase. We set up a clean A/B test: same products, same audiences, same budget, same 10% discount. The only variable was how that discount reached the shopper.

Method one was a promo code. The page showed the full price, and a code in the ad, the banner and the email took 10% off at checkout. To get the saving, a shopper had to notice the code, remember it, and type it in.

Method two was a slashed price. The page showed the old price struck through with the new price beside it, the 10% already gone. No code, no typing, nothing to remember. The saving was simply there.

Same money off either way. What differed was whether the shopper had to do something to claim it.

What happened to cost per purchase

We ran both versions long enough to trust the numbers, then compared what it cost to win a single sale under each. Cost per purchase is just how much ad spend it takes to make one sale, and it is the figure that decides whether the maths works at all.

In the four Western markets, the code lost badly. Cost per purchase climbed 85% to 100% and more once the saving lived in a code instead of on the price. Same offer, close to double the cost of a customer.

Change in cost per purchase after we swapped a slashed price for a promo code

0%
USA
Canada
UK
Australia
Germany
Western markets: cost per purchase rose 85% to 100%+Germany: cost per purchase fell 52%

Same 10% discount, same products, same audiences. Only the way the saving was shown changed. On this chart, taller means a more expensive customer, so lower is better.

That is a savage swing for a change most teams would file under cosmetic. Nothing about the product, the audience or the budget moved. The only thing that changed was whether the saving was shown or written.

Then there was Germany

Germany broke the pattern. In that market, switching to the promo code cut cost per purchase by 52%. The same move that punished us everywhere else made Germany cheaper to sell into.

I want to be honest about what that is: an anomaly, not a headline. One market disagreeing does not overturn four markets that agreed, and I would not rebuild a global strategy on a single reversal.

Still, it is worth a hypothesis. German shoppers have a reputation for treating discount codes deliberately, comparing and applying them as a habit rather than scrolling past. If that holds, a code there reads as less friction and more ritual. It is a theory we would want to test again before betting budget on it, and you should confirm your own markets rather than assume they behave like ours.

Only 25 people used the code

Here is the detail that reframed the whole test for me. During the promo code window, we recorded 149 purchases. Only about 25 of them actually used the code, even though it sat in the ad, the banner and the email.

The rest paid full price, or used the 5% off code they picked up for joining the email list. So the discount meant to power the campaign was ignored by roughly five in six buyers.

That is the real finding. Discounts still work. A saving nobody notices does not, and a code is very easy not to notice. Shoppers click without buying for the same reason a code goes unused: the offer never landed where their attention was. A slashed price is felt in the moment, while a code is a task for later.

Slashed price vs promo code, side by side

Strip it back, and the two methods ask very different things of the same shopper.

What the shopper meets Promo code at checkout Slashed price on the page
What they have to do Spot the code, remember it, type it in Nothing, the lower price is already applied
How the discount reads Words and an instruction to follow A visual, old price struck through beside the new one
Where it lives In the caption, the banner or the email On the product, right next to the price
Cost per purchase in the West Rose 85% to 100%+ Held steady

The real lesson is about attention, not pricing

The takeaway is not really about discounts. It is about how people take an ad in. We scan, we feel, and we act on what we can see, which is exactly why creative does the heavy lifting in a campaign.

Put the offer in the creative itself, not the caption underneath it. A price crossed out gets noticed before a single word is read. Treated this way, a weak discount is not a pricing problem but a conversion problem, and fixing how an offer shows up is some of the cheapest optimisation going, because you are not spending more, just letting people see what you already offer. If you run Meta ads, the rule is the same: the saving belongs in the frame, not the footnote.

Kristina Abbruzzese, founder of Aesthetic Digital Marketing

From the studio
The first time I watched the cost per purchase climb, I assumed we had broken something in the build. We had not. The ads were fine, the targeting was fine, the offer was identical in every version. People simply were not seeing a discount they had to go and find. It changed how I brief creative now: if the saving is not visible in the first second, I treat it as missing.
How we know this: These figures come from a live test on a high-ticket automotive brand we run paid ads for, measured across 149 purchases in one testing window. The client is anonymised and the numbers are taken straight from our own campaign reporting, shown as the range we actually saw rather than a tidy average. Last verified August 2026.

Discounts getting ignored?

Put your offer where people actually look.

We audit how your discounts and creative show up in the feed, then close the leaks that quietly inflate your cost per sale.

Book a strategy call

How to show a discount so people actually see it

If you want a saving to land, make it impossible to miss and effortless to claim.

Put the price drop in the creative. Show the old and new price together, in the image or the first frame of the video, so the discount is seen before any copy is read.

Lead with the saving, not the mechanics. Whether you open on the problem or the benefit, the number should be the hero, never the instructions for unlocking it.

Keep the code, but give it a smaller job. A code is brilliant for tracking, email capture and influencer deals, so keep it for those. Just do not let it be the only proof a discount exists.

Write less, show more. If one line of ad copy is carrying your whole offer, it is carrying too much. And before you blame the price for soft sales, check what a purchase is actually costing you to win, because the leak is usually the presentation, not the number.

Frequently asked questions

Should I use a promo code or just show the sale price?

For most Western audiences, show the sale price. A code adds a step, and in our test most shoppers skipped it, which pushed cost per purchase up. Keep a code for tracking or email capture, but do not make it the only way the discount appears.

Why did the promo code work in Germany but nowhere else?

Honestly, we treat it as an anomaly. Our working hypothesis is that German shoppers engage with discount codes more deliberately, so a code is less friction there. We would test it again before relying on it, and you should check your own markets rather than assume they behave the same.

Does this mean discount codes are a bad idea?

No. Codes are great for tracking, influencer partnerships, email signups and segmenting offers. The mistake is relying on a code as the only signal that a discount exists, because most people never see or use it.

What is cost per purchase?

It is how much ad spend it takes to generate one sale, sometimes called cost per acquisition. If the same offer suddenly costs far more to convert, something in the funnel has changed, and in our case it was how the discount was shown.

How many sales do you need before a test like this is trustworthy?

Enough conversions that the gap between versions is unlikely to be noise. We compared across 149 purchases, which was plenty to see a clear pattern. With very small samples, treat any difference with caution.

We already run a promo code. What should we change first?

Add the visual. Put the slashed price or a clear sale badge on the page and in the creative so the discount is seen even when the code is not used. Keep the code running for tracking, and compare cost per purchase before and after.

The bottom line is simple: do not make people work for a discount you want them to use. Show the saving, keep the code for the jobs it is genuinely good at, and watch what happens to your cost per sale. If you want another set of eyes on how your offers show up, book a call and we will take a look.

The newsletter

What's working, while it's still working.

Notes from live client accounts: what's converting, what flopped, and what's worth your time this month.

  • Written from real accounts, not theory
  • Sent when there's something worth sending
  • Unsubscribe in one click, no guilt trip