
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.

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
Behavioural reasoning
Trade-offs
Example
Pomelo Fashion is using a countdown timer to clearly display when their offers expire.

Most user frustration stems from discovering restrictions too late.
Best practices
Behavioural reasoning
Trade-offs
Example
Pretty Little Thing states straight on their main page banner that the promotion is excluding sale items and beauty items.

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:
Global visibility strengthens trust, supports browsing, and ensures all users discover and benefit from site-wide deals.
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.

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.

Learn more: Coupon distribution playbook: email, SMS, push, and more
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:
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.

Finding deals should not require hunting.
Best practices
Behavioural reasoning
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.

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.

Promotions should be instantly scannable.
Best practices
Behavioural reasoning
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.

In 2025, generic percentages are noise. Personalized offers increase perceived fairness and relevance.
Best practices
Trade-offs
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
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.

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
Behavioural reasoning
Trade-offs
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.

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
Trade-off:
This pattern is less discoverable, so make sure returning users can easily find it.
Regardless of whether the field is always visible or revealed on click:
The way you frame your promotion influences how users perceive its value:
These cues align with mental accounting principles and boost perceived value.
When entering codes manually, the UX must be frictionless. Simplify code entry with thoughtful design by making coupon codes:
Best practices
Behavioural reasoning
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.

Users must see the value they are getting.
Best practices
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.

The worst UX moment is when the user expects a deal and it suddenly disappears.
Prevent this by:
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
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.

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:
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.

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:
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.

Promotions shouldn’t end at checkout, they should reinforce long-term value.
After purchase, email or show a personalized next-step reward:
This increases repeat conversion probability while the excitement is still high.
While mobile traffic tends to be higher, mobile conversions are typically lower. Mobile-first promotion UX can bridge that gap.
Best practices
Behavioural reasoning
Mobile users are impatient. Every extra tap is a conversion killer.
Promotions must be usable for everyone.
Mandatory guidelines
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.