Fall Product Update: MCP, Shopify Plus & deeper control ahead of BFCM
0
Days
0
Hours
0
Minutes
0
Seconds
See what's new
2025-09-24 12:00 am
2025-05-21 12:00 am
2025-03-14 12:00 am
2025-05-20 12:00 am
2025-04-22 12:00 am
2025-09-29 12:00 am
arrow pointing left
go to blog
Promo strategies
Coupon & promotions UI/UX best practices
Kate Banasik
Kate Banasik
November 13, 2025
Share it on Twitter
Share it on Facebook
Share it on LinkedIn
Share it on Twitter
Share it on Facebook
Share it on LinkedIn

Coupon & promotions UI/UX best practices

Promotions shape user behaviour more powerfully than almost any other conversion lever. Yet most brands still treat coupons as afterthoughts: slapped onto banners, buried at checkout, or presented in ways that confuse customers, drain margins, or erode trust.

This guide gives you end-to-end UI/UX best practices for designing promotions that are clear, compelling, and conversion-oriented. It’s grounded in behavioural psychology and real-world examples.

Coupons UI Kit on Figma banner

Promotion visibility & messaging

1.1 Make the timeframe explicit and prominent

Unclear incentive validity is one of the leading causes of coupon-related frustration. Users often discover at checkout that a deal is no longer active, resulting in abandonment.

Best practices

  • Display the start and end date (or countdown) on every banner, landing page, email, push notification, and in-app message.
  • Use a live countdown for time-sensitive campaigns (e.g., flash sales).
  • For mobile, ensure the countdown remains visible above the fold.

Behavioural reasoning

  • Explicit deadlines create mild urgency (FOMO) that nudges completion.
  • Reduces cognitive load as users don’t need to guess or click deeper.

Trade-offs

  • Very short timers can feel manipulative. Use countdowns only where they make sense.

Example

Pomelo Fashion is using a countdown timer to clearly display when their offers expire.

Pomelo Fashion Dicount timer

1.2 Communicate eligibility rules up front

Most user frustration stems from discovering restrictions too late.

Best practices

  • Summarize key conditions in plain language, like minimum spend, exclusions and usage limits.
  • Provide a ‘See full terms’ modal instead of burying info in legal pages.

Behavioural reasoning

  • Users are more likely to engage when they feel the offer is fair and transparent.

Trade-offs

  • Avoid clutter. Show essentials, hide the rest in expandable sections.

Example

Pretty Little Thing states straight on their main page banner that the promotion is excluding sale items and beauty items.  

Pree

1.3 Communicate site-wide promotions globally

If you offer free shipping or other site-wide discounts, make these benefits visible on every page. Consistent reminders help users understand their budget, reinforce perceived value, and prevent frustration caused by “hidden” perks.

Failing to display global promotions consistently can create distrust, users may assume the brand intentionally hid an offer to discourage its use.

Effective placements include:

  • A hero-space announcement on the homepage
  • A top-of-page banner on every page, including cart and checkout
  • Promotional callouts on product-listing pages or side rails
  • Bottom-of-page banners near the footer

Global visibility strengthens trust, supports browsing, and ensures all users discover and benefit from site-wide deals.

1.4 Leave the old price tag on 

Make sure your customers know what the price was before you slashed it. People make purchasing decisions based on how much they value the deal, not how much they value the product. Whenever possible, give your customers a reference cost that makes your deal look good by comparison. 

Example

Shein crosses out the old price, places the new price, and even adds a tag stating the level of the discount in percentage.

Shein old price placement

1.5 Use the homepage to highlight only major, site-wide promotions

The homepage is prime real estate, but promoting every offer there leads to information overload and banner blindness. Limit this space to your biggest public promotions, such as site-wide sales or auto-applied cart discounts.

Avoid advertising product- or category-specific deals on the homepage. These belong on category pages, PDPs, or the Offers hub, where they are more contextually relevant and less likely to overwhelm users.

Example
Happy Socks highlights only the largest public offer using both a top-page ribbon and a primary homepage hero banner. Smaller category-level deals appear deeper in the site.

Happy Socks homepage promotion banner

1.6 Use pop-ups strategically and never as the sole promotion channel

Pop-ups can effectively highlight coupon offers or cart-level promotions, but they come with significant UX drawbacks. If a pop-up is the only place where the promotion is presented, users might close it, forget the details, or lose the coupon code completely.

Because of this, pop-ups should always be paired with persistent communication formats such as banners, ribbons, emails, or SMS.

Pop-ups are also inherently intrusive: they cover the content users actually intended to view, interrupt browsing flow, and are frequently perceived as irritating.

However, pop-ups excel in moment-based rewards. When users complete an action, such as subscribing to a newsletter, showing the earned discount immediately in a pop-up is faster and more satisfying than making them check their inbox. This immediate feedback reinforces positive behaviour and reduces drop-off.

You can combine approaches:

  • Show the reward instantly via pop-up,
  • Also send the coupon via email so the customer can return to it later.

For mobile apps, push notifications can serve as a less intrusive, more contextually appropriate alternative to pop-ups.

Example
Tula communicates a cart-level promotion using a pop-up, but also allows users to revisit the offer by clicking a fixed “15% off” banner. This ensures the promotion isn’t lost once the pop-up is dismissed.

Tula popup

Promotion discovery & browsing experience

2.1 Centralize active promotions in a dedicated “Offers” hub

Finding deals should not require hunting.

Best practices

  • Add a top-level “Offers” or “Promotions” section.
  • Use it to display all active coupons, loyalty rewards, and personalized offers.
  • For logged-in users, highlight eligible offers at the top.

Behavioural reasoning

  • Reduces frustration and lowers perceived effort.
  • Drives browsing as promotions reinforce exploration.

Example

Victoria's Secret presents all available offers in a clear UI on one site. Note how the information architecture on the site uses size to emphasize or de-emphasize selected offers.

Victorias Secret promo compliation page

2.2 Enable filtering in your sales category

If you offer a sales category collecting all items a certain cart promotion or discount code is applicable to, you should allow users to navigate and filter that category. Some visitors will just want to see products on sale and nothing else, so separate sales categories should allow them to view all offers, and navigate through this section with ease.

Examples

Pomelo Fashion offers sale category filters by product type and size.

Pomelo sale category filtering

2.3 Use visual hierarchy and consistent badge design

Promotions should be instantly scannable.

Best practices

  • Consistent badge color, shape, and terminology across ads, product tiles and PDPs.
  • For tiered discounts, show relative value differences visually (e.g., bigger badge or color shift).

Behavioural reasoning

  • Visual consistency means recognition which in turn leads to faster decision making.
  • Users rely heavily on “pattern spotting” when scanning product lists.

2.4 List discounts in the Sales section and in appropriate categories

Do not limit the display of sale items to a dedicated Sales section of the site. For the best discoverability, it is best to list discounted items on both the appropriate category page and in the Sales section. Some users navigate directly to Sales sections when motivated to find a bargain, but others do not specifically seek out Sales sections. Users looking for a particular item generally browse based on category. Sites that display sale items together with full-price items help users discover discounts within their area of interest.

Example

Pretty Little Thing lists sale items under sale items and product categories so that they can be found in both.

pretty little things promotion view on sale page

2.5 Personalize where possible

In 2025, generic percentages are noise. Personalized offers increase perceived fairness and relevance.

Best practices

  • Tailor promotions based on customer history, CLV tier, location, seasonality, and browsing behavior.
  • Use progressive disclosure (“Recommended for you”, “New customer reward”).

Trade-offs

  • Avoid over-personalization that feels creepy.
  • Provide an easy opt-out from behavioural personalization.

2.6 Offer a customer cockpit 

Displaying all cart promotions and discount codes a certain customer can access in a dedicated customer cockpit helps customers understand which promotions are available specifically to them. It also allows you to display personal, amazing discount coupons, gift cards, loyalty points balance, or other rewards, as opposed to a sales page that displays only promotions available to the public, not personalized ones. 

Best practices

  • Show active and upcoming coupons.
  • Expiration alerts (push/email).
  • Auto-apply eligible rewards at next checkout.

Example

H&M offers a customer cockpit, where customers can find their loyalty points balance, available promotions and discounts, unique vouchers, and a referral program.

H&M customer cockpit

Coupon code interactions & input UX

3.1 Automatically apply eligible public codes

If a coupon code is open-for-all, you could simplify the redemption process by allowing users to automatically apply it to their cart by clicking on the discount code or, at least, to automatically copy it when clicking on it, so that they do not have to remember the code. The user should never need to Google “BrandName coupon code”.

Best practices

  • Auto-apply any public, site-wide, or universally valid promotion to the cart.
  • Still allow users to override with better codes.

Behavioural reasoning

  • Prevents leakage to coupon sites.
  • Lowers user effort and reduces checkout friction.

Trade-offs

  • Do not auto-apply personalized or limited-time codes meant for specific segments, respect segmentation rules.

Examples

Vanity Planet automatically applies public coupon codes on eligible orders in the cart. After going to the checkout, the order total is recalculated to reflect the discount code. 

Vanity Planet checkout view

3.2 Promote early coupon entry in the shopping cart

Users who already have a coupon want to validate it as early as possible. Providing a clear, prominent coupon field directly in the shopping cart lets them check eligibility and see updated totals before entering any personal or payment information. This reduces anxiety and prevents last-minute surprises.

Best practices

  • Avoid sidebar placement – coupon fields placed in the right rail often suffer from banner blindness was users interpret sidebars as ads and ignore them.
  • Manage visibility for customers without coupons – users who don’t have a code may feel they’re missing out and leave the site to search for one.
  • If not all codes are public, use a subtle text link (“Have a promo code?”) that expands into an input field. This prevents unnecessary coupon hunting while still supporting users who genuinely need to enter a code.

Trade-off:
This pattern is less discoverable, so make sure returning users can easily find it.

3.3 Design an effective coupon field

Regardless of whether the field is always visible or revealed on click:

  • Use a standard text input, wide enough to fit your longest codes.
  • Ideally keep codes 8–12 characters for readability and lower error rates.
  • If your codes follow a consistent pattern, use auto-validation to detect incomplete or invalid formats early.
  • If you offer suggestions (e.g., loyalty rewards), surface them in a dropdown under the field.

3.4 Leverage psychology in your copywriting

The way you frame your promotion influences how users perceive its value:

  • For necessity products, use earned framing: “You’ve earned a $10 off coupon!” This makes the discount feel like serious financial benefit.
  • For frivolous or pleasure-driven products, use luck/surprise framing: “You just won a $10 off coupon!” This amplifies delight and fits hedonic purchases.

These cues align with mental accounting principles and boost perceived value.

3.5 Make manual entry seamless

When entering codes manually, the UX must be frictionless. Simplify code entry with thoughtful design by making coupon codes:

  • Memorable: Use meaningful combinations related to your brand or promotion.
  • Distinct: Avoid confusing characters like "O" and "0."
  • Short and simple: Keep the length manageable for easier recall.

Best practices

  • Provide a clearly labeled input field (“Have a promo code?”).
  • Autofocus when clicked.
  • Allow paste without stripping hyphens or case.
  • Validate instantly, not after clicking a button.
  • If the promo code is invalid, state why, like expired, used, or not eligible.

Behavioural reasoning

  • Clear recovery paths reduce frustration and abandonment.

Example

Birchbox has a very visible coupon code box in the cart view. They also offer a link to open a coupon code box in the checkout view, for those who missed it in the shopping cart view. It is a great way to keep the option to add a promo code on both steps, hiding the coupon code box on the checkout form which helps to decrease churn.  

Birchbox coupon box

Checkout & redemption UI design

4.1 Show the discount impact immediately

Users must see the value they are getting.

Best practices

  • Show the discount as a separate line in the cart summary.
  • Display percentage and absolute savings (e.g., “You saved $28”).
  • If conditions aren’t met (e.g., min spend), show progress, like "Spend $12 more to unlock 20% off".

Example

Pretty Little Thing shows a checkmark and the amount of savings applied to the order after entering a valid code. They also display the discount amount calculated in the order totals, specifying which discount code applied the discount.

PretyLittlehing Coupon Success Message

4.2 Avoid hidden surprises

The worst UX moment is when the user expects a deal and it suddenly disappears.

Prevent this by:

  • Persisting applied promotions across sessions.
  • Showing warnings well before checkout if a condition becomes invalid.
  • Avoiding last-second changes (e.g., price adjustments at payment).

4.3 Clarify stackability

Users frequently try to combine discounts, so clarify your rules and adapt the UI accordingly. If only one coupon is allowed, hide the input field after a code is applied and replace it with a “change coupon code” option plus a clear way to remove it. Make sure the page states that only one code can be used per order.

If multiple codes are allowed, show the applied code as “added to the order,” then reload the input field so customers can enter another. If cart promotions and coupons can’t be stacked, communicate this clearly in ads, terms and conditions, and especially at checkout, showing an explicit error message when users try to apply an incompatible offer.

Best practices

  • Always indicate if the promo code can be combined with others.
  • Provide a simple UI to toggle between eligible options, like "Choose the best offer".

Example

Summer Salt adds the added coupon below the coupon code field and empties the coupon code field once a coupon is applied to the order, suggesting users can apply more than one coupon per order.  

Summersalt promo stacking

4.4 Display helpful error messages

If the code is invalid or the promotion conditions are not met, you should display a relevant error message stating the type of the issue with the coupon code. Do not display the same error message in every case as it will not instruct the user what is wrong and how they can fix the issue. 

Display the error message right next to the coupon code box, not on the top or bottom of the page as the user may not notice the error message. Make sure the error message is visible, for example by using red or other contrasting color. 

Types of error messages to display: 

  • Coupon code is invalid. 
  • The coupon code was already used and cannot be redeemed more times. 
  • The order amount is insufficient or excessive to apply the coupon (in that case, return the information on how much is missing to qualify for the coupon or how much excess there is in the shopping cart). 
  • The order contents do not meet promotion terms (in that case, mention which items should be removed or added to qualify). 
  • The coupon has expired. 
  • Other reasons – if you can imagine other cases, craft a message specifically for them. Have one default message for all other cases that you could not have thought of. 

Example

Summer Salt displays an error message if the code entered is invalid or if the promotion conditions are not met. They encourage customers to double-check their code. Having the public coupons visible on the top ribbon helps to correct the mistake. 

Summer salt error message

4.5 Help users reach minimum-spend thresholds

Many promotions, such as free shipping or discounts unlocked above a certain order value, motivate users to increase their basket size. To make this effective, the cart should clearly show how much more the shopper needs to spend to qualify.

A strong UX pattern is a progress indicator in the cart that calculates the missing amount in real time. For example:Spend $12 more to unlock free shipping.”

To further boost motivation without encouraging users to spend only the bare minimum, you can adjust how the progress bar behaves:

  • Fast progress early: Creates positive momentum and makes the goal feel achievable.
  • Slower progress near the end: Prevents users from anchoring to the exact threshold and abandoning before going above it.

You can take this a step further by offering smart product suggestions directly in the cart, items that would help users reach the required threshold effortlessly. This removes the cognitive load of doing the math and keeps shoppers focused on completing their purchase.

Example:
Tula displays a clear message in the shopping cart showing how much is missing to qualify for free shipping, guiding users toward the goal.

Tula how much more for free shipping

Post-Purchase & lifecycle integration

Promotions shouldn’t end at checkout, they should reinforce long-term value.

5.1 Provide a follow-up incentive

After purchase, email or show a personalized next-step reward:

  • Refer-a-friend offer
  • Loyalty points
  • Category-specific coupon based on browsing
  • Limited-time repeat purchase discount

This increases repeat conversion probability while the excitement is still high.

Mobile-first promotion UX

While mobile traffic tends to be higher, mobile conversions are typically lower. Mobile-first promotion UX can bridge that gap.

Best practices

  • Ensure promo elements fit above the fold.
  • Avoid overly long codes.
  • Sticky banners that scroll minimally.
  • Tap-to-copy for codes.
  • Large tap targets for expanding details.

Behavioural reasoning

Mobile users are impatient. Every extra tap is a conversion killer.

Accessibility & compliance

Promotions must be usable for everyone.

Mandatory guidelines

  • WCAG-compliant color contrast for badges.
  • Screen-reader readable discount logic (“20 percent off applied”).
  • Keyboard navigable coupon input.
  • Clear, non-deceptive expiry terms.
  • GDPR-compliant personalization logic.

Common UX mistakes to avoid

  • Burying promo details under legal pages.
  • Conflicting promos on the same product (e.g., PDP says 15%, checkout says 10%).
  • Applying promo codes silently without explanation.
  • Overusing countdowns (creates distrust).
  • Showing invalid coupons in customer wallet.
  • Using coupon fields that disappear until after login.

Summary

The main takeaway is simple: coupon offers and promotions need more than just great discounts to succeed. It’s not just about the deal – you also need thoughtful design, smart placement, and smooth validation to make it all work seamlessly. If your promotions aren’t easy for customers to find and use, even the best offers might get overlooked.

Clear communication is key. Make sure your audience knows the value of the discount and any conditions upfront. And don’t forget to monitor your promotional codes to see what’s working and what’s not. With these updated UX tips, you’re ready to create promotions that not only grab attention but also drive results.

FAQs

What is Voucherify?
Voucherify is a promotion & loyalty platform designed for enterprises that need scalability and customization. Voucherify helps world-leading brands create, manage, and track personalized promotions across multiple channels – whether it’s discounts, vouchers, loyalty programs, or referrals.

With its powerful API-first architecture, Voucherify can be quickly integrated into any existing systems and scaled effortlessly as the business grows. It's perfect for brands that want to take full control of their promotional strategies, without the limitations of cookie-cutter solutions and ready plug-ins.

Are you optimizing your incentives or just running them?