The coupon code is a slap in the face

You’ve decided to pay for something on the web. After hours of research, comparison shopping, and trying the demo it’s time to make the plunge. You click “Buy Now,”, enter your credit card information and you’re just about to click “Checkout.” And then you notice it. In the lower left-hand side, a little form field that says “Coupon code.”

xkcd comic, 837

You want to pay for this product or service. You were prepared to pay the advertised price; now you know there is (or has been) a magical passcode that could get you a lower price. You fire up Google, and search: “product name, coupon code.” You get pages of results: mostly garbage, some scams, and a few legitimate coupon sites. Unfortunately, the codes listed on those sites are a year old: you missed your chance.

Why do web apps and retailers do this to their paying customers? At the moment you’re actually ready to buy something you get a slap in the face: “You’re paying full price, but if you had our magic code you wouldn’t have to.”

Simply put: this is bad customer service.

I’m not opposed to running a promotion, or offering a coupon. It’s the optics that matter. Instead of posting this constant reminder on your checkout page, remove the “Coupon code” field.

You can do this differently. Brad Sorensen had these suggestions:

Retailers would do better to give everyone a discount for a period or no one.

[Or] instead of coupon codes, they should have separate referrer URLs for people with the code so you don’t feel like the loser who didn’t get invited to the party.


Update (September, 2013):

I originally wrote the post from an anecdotal POV. I’ve just now started digging into the research. Here’s what I’ve found so far:

  • Oliver & Shor found that: “prompting for a code in the absence of having one had negative effects on fairness, satisfaction, and completion when compared to the control.” (Reference)
  • This study by Oliver & Swan (1989) found a big link between a consumer’s perception of pricing fairness, and their overall satisfaction with a purchase. (Reference)
  • Xia, Monroe, & Cox found: “For price comparisons, the other-customer comparison has the greatest effect on perceived price unfairness because of the salience of such a comparison” (Reference)
  • This study by Google found that in a real-world setting, “more than 40% of shoppers have left a retail store without purchasing because they knew they left a coupon at home”. (Reference)

Discuss this post on Hacker News

I share resources on building and launching products here

Tiny Marketing Wins


Get a small, actionable marketing tactic in your inbox every workday!

Unsubscribe at any time. Powered by ConvertKit
Whoa! Looks like you're already subscribed to Tiny Marketing Wins. Have you seen Marketing for Developers yet?


Leave a Reply

  1. I had never really thought of it, but yes, I think that it probably is. It makes non-coupon holders feel like 2nd class citizens. I think that the way around this is to hide any coupon code by default, and then include a special URI parameter to people that have a code. This would make the code field appear in the form….

  2. Completely agree. We don’t show that field (you have to input the coupon code in the URL to get it). Also, it decreases conversions as people leave the signup page and go hunting for a code (and then often don’t come back).

  3. It’s price discrimination. Why does McDonald’s have small, medium and large items? It’s not because they actually cost McDonald’s more than a few pennies difference, it’s because customers self-discriminate on price.

    Coupon codes allows of people who’re willing to put up with a little friction (finding the codes) to get a lower price.

    Why do museums have senior, student and other discounts? It’s not to help seniors. It’s so they can charge more against everyone else.

    Most people don’t think about what they spend, so the coupon code box doesn’t matter. For consumers that are price sensitive, it offers an option.

    Econ 101.

  4. A PayPal/Comscore study found that 27% of potential buyers abandoned their shopping cart because they had to go look for a coupon code.

    Another study found that removing the promo code box improved conversion from 3.8% to 5.1%


    (There’s also some good shopping cart / checkout UX tips in there too)

  5. I’m not the type to go hunting for coupons, but I know plenty of people who do.

    Anything that makes a paying customer leave the cart is bad and will increase cart abandonment.

    Ideally the system should recognise if you have been given any coupons, say for customer loyalty, and automatically add that for you.

    One website I use all the time, requires me to phone them to use my loyalty points – how prehistoric of them LOL.

  6. You can leave the coupon field and give a coupon (of small value) on your main landing page.

  7. A common solution to this problem is to provide a coupon code right beside the field. This requires your shop to have somewhat higher prices in the shop but often creates happy customers in the end. Goodwill vs Having the lowest advertised price.

  8. This can get a merchant repeat sales and a little amplification from a customer who thinks they have found an ‘exploit’ in the form of a coupon code and then shares their conquest with friends.

  9. Better yet, click on a company’s twitter or facebook icon only to find they ran a sale and show the prices. Save 25%, maybe I can wait a few months until the next major holiday? Sale cancelled.

  10. The smart thing to do — would be to auto-grab a special coupon code for them – if they subscribe to a newsletter, or SMS list – or like on facebook–some sort of action that could increase future sales/brand love… — user gets something -and business benefits at the same time and user comes back because of the awesome service

  11. Ooh, I agree. I hate that feeling.

  12. I find this post very interesting because I was actually considering the use of “coupon codes” specifically for locality-based promotions, e.g., posting a flyer on a telephone pole. I figured it’d be easier for consumers to remember “CODE123” versus “”. On the other hand, I wholeheartedly agree with your position because I’ve felt the slap in the face before.

    What would you propose for a situation like this?

  13. Really good point. Hiding the field from regular checkout is a smart idea. I always get ready to checkout, notice the coupon field, and return disappointed 10 minutes later when I was unable to find an active coupon.

  14. My wife paid a combined $600 for the two of us to get SCUBA certified here in FL. We found out that two others in our class paid a combined $160 for the same class, and got 2 free SCUBA boat trips with the deal, due to a Groupon deal the company set up.

    Coupons are socialism applied to marketing. One person pays full price, and coupon-clippers (or “smart consumers”, if they want to call themselves that) pay another. The aggregate is a profit for the company, and acquisition of more customers. Just like normal socialism, the producers get a slap in the face for their efforts, and the others make out like bandits.

  15. That’s exactly what goes through my head every time!

  16. Way over complicating it. Simply disable the coupon code box on checkout unless there is an active promotion running. Whatever promotions you choose to run, obfuscating them in quickly expiring coupon codes or different URLs is the wrong way to go. If someone wants to make an effort to source the coupon encourage the engagement to establish a better relationship. Help your customer succeed. Discount codes are not a good way to track your demographic so don’t over use them.

    The frustration isn’t the box. It’s when there are two dozen outdated codes to try listed in retail-me-notand none of them work or worse not finding and coupons at all.

    Turn the box off when a promo is not active. If your promos are too complex for this rule they are too complex for customers and are costing more business than they can bring in. -a general rule of thumb, your mileage may very.

  17. eh. as a person who makes websites, attention to detail is important. as a customer, this is something that ranks pretty low on my “give a shit” radar. i just see a coupon code field as an opportunity, not a backhanded insult.

  18. Another problem is that the poor experience of actually finding a valid coupon code can be highly frustrating. Many of the cashback and voucher code sites do a poor job of keeping expired codes off their site (probably because they want to attract the traffic anyway) which leads to customer annoyance as discussed here:

  19. @Michael:

    You clearly do not understand socialism at all. If anything, the coupon thing is a common trait of capitalism.

  20. RedBox does this, too – but they constantly email you codes, so the only customers without one aren’t paying attention, or are renting a ridiculous number of movies. If anything, the place to enter a RedBox code is too subtile – I once rented a movie and had it in my hand without entering the code because I missed it.

  21. This could be true; disabling the box might be a good start.

  22. @rick Half the time I press the other button instead of promo code. Gift code is it…? There’s a line of buttons and a need to click one fast is in my nature!

  23. Forcing customers to pick up the phone might seem antediluvian, but it reduces the likelihood of cart abandonment.

  24. That’s why I’ve never bought anything from Barnes and Noble. Also, those “club cards” that stores have are the same way. You see a huge price label: 99 cents! and then go buy a dozen. When you get to the checkout, they ring up as $4.99 each. The 99 cent price only applies to people who have the card.

  25. @Andy:

    Pardon me, communism (aka, Marxist socialism in its final form), wherein people get what they need, not what they’ve earned. IMHO, simply by existing as a human, somebody hasn’t earned the right to a product for less than 30% of the price I’ve paid.

  26. Eventbrite keeps the coupon field, but it’s just a tiny link that you don’t really see if you’re not searching for it. I think that this “UI mistake” must work pretty well

  27. “RedBox does this, too – but they constantly email you codes, so the only customers without one aren’t paying attention”

    No. They’re also the ones who opted out of getting spammed on a daily basis.

  28. What about hiding the coupon field?

    e.g. Click the second “d” in “Address” to enter your coupon code.

    ^ That would be displayed wherever the customer sees the coupon, ofc.

  29. Efficient coupon code entry is e-commerce 101. See this old but still great post on shopping cart page optimization:

  30. Smart, elegant case for strongly reconsidering the coupon field in checkout forms.

    This video is one of my all-time favorites and has an awesome and surprising take on this issue around the 2:20 mark (though I recommend watching the whole thing!).

  31. Absolutely agreed. That is one very annoying stuff on Amazon.

    Also, somewhat similar the rest of us feel when it comes to extra deals, free shipping and zillion other stuff for US citizens only. 😉

    Think about that.

Trackbacks for this post

  1. Bad Usability - The Checkout Coupon Code | Website Development
  2. The week that was… | MHP Communications
  3. The Previously Ignored Summer Reading List | Michael Gracie
  4. Put the cart before the horse: Coupon boxes are they annoying? | chrisgarner2000
  5. Atomic Energy » Coupons and Slaps
  6. What does a heavy metal party have to do with getting traffic to my website? | by @mijustin
  7. 21 Quick Actions You Can Do Today to Massively Improve Your Landing Page Conversions | Design for FoundersDesign for Founders