WooCommerce coupon vs sale price: which should you use?
Sale prices show a crossed-out price everywhere; coupons are invisible until checkout. When to use each in WooCommerce, how they stack, and how to measure.
Use a sale price when you want the discount to be visible: it shows a crossed-out regular price on every product card, is picked up by "on sale" listings and feeds, and needs nothing from the shopper. Use a coupon when you want the discount to be conditional or targeted: a minimum spend, a specific audience, a limited number of uses, or something you can hand out and track. Many promotions use both. Here is how to decide, and the details that catch stores out.
What each one actually does in WooCommerce#
Sale price#
A sale price is a property of the product (or variation). You set it on the product's General tab, optionally with a schedule. From that moment:
- The product shows
regular pricesale price in the shop, on the product page, in search results blocks and in the cart. - The product counts as "on sale": the
[products on_sale="true"]shortcode, the On Sale product collection, sale badges and tools like Sales Drawer all pick it up automatically. - Structured data on the product page carries the sale price, so Google can show it in rich results, and product feeds send it as the
sale_priceattribute that Google Merchant Center uses to display a strike-through price in Shopping ads (Google's sale_price attribute documentation). - Nothing is required from the shopper. The lower price is simply the price.
The trade-off is that a sale price is unconditional. Everyone gets it, on every unit, for the whole period.
Coupon#
A coupon is a rule applied at the cart. You create it under Marketing → Coupons with a type (percentage, fixed cart or fixed product), usage restrictions (minimum or maximum spend, specific products or categories, email addresses, "exclude sale items") and usage limits (per coupon, per user, expiry date). The WooCommerce coupon management guide lists every option.
- The shopper has to enter the code. Until then, nothing on the site changes: no crossed-out price, no "on sale" status, no badge.
- Conditions are flexible: free shipping, minimum spend, first order only, one per customer.
- Every use is recorded, and WooCommerce → Analytics → Coupons reports orders and discount amounts by code, which makes coupons the easiest discount to measure.
The trade-off is invisibility. A coupon only converts shoppers who know it exists and remember it at checkout.
Dynamic pricing (a third option)#
Plugins such as discount-rule or dynamic-pricing extensions apply rules automatically ("buy 2 get 10% off", "wholesale customers pay 20% less") without a code. They sit between the two: automatic like a sale price, conditional like a coupon. They add complexity and another plugin to maintain, so use them when the rule genuinely can't be expressed as a sale price or a coupon.
Sale price vs coupon: the comparison#
| Sale price | Coupon | |
|---|---|---|
| Visible on product cards and pages | Yes, crossed-out price | No |
| Picked up by "on sale" listings, badges, drawers | Yes | No |
| Appears in product feeds and rich results | Yes | No |
| Conditions (minimum spend, audience, limits) | No | Yes |
| Shopper action required | None | Enter a code |
| Measurement | Compare periods manually | Built-in coupon report |
| Easy to undo | Schedule an end date | Expiry date or usage limit |
| Risk of margin leak | Discount applies to every unit | Only redeemed orders |
When to use a sale price#
- Clearance and end-of-season markdowns. You want every visitor to see the lower price with no friction. How to run a clearance sale in WooCommerce goes deeper.
- Seasonal events and site-wide sales. Black Friday, holiday sales, anniversary sales. Visibility is the whole point.
- Price-comparison and Shopping traffic. Feeds and rich results only reflect sale prices.
- Anything you want promoted automatically. Sale badges, "on sale" collections and a site-wide drawer all key off the sale price. A coupon triggers none of them.
Schedule it with a start and end date so it switches itself off (step by step), and if it doesn't switch on time, see scheduled sale not working.
When to use a coupon#
- Targeting a group. A code in an email to past customers, a welcome code for first orders, a partner code for an influencer's audience.
- Conditional offers. Free shipping over $75, 10% off orders of three or more, a fixed amount off a specific category.
- Recovering carts. A time-limited code in an abandoned-cart email.
- Measuring a channel. Give each channel its own code and the coupon report tells you which one paid off.
Using both at once#
The common pattern is a sale price for the headline offer and a coupon for an extra, conditional layer: "Everything in Outerwear is 20% off, and orders over $150 get free shipping with code WARM". Two things to decide:
- Can the coupon stack on sale prices? Every coupon has an Exclude sale items checkbox under usage restrictions. Tick it if you don't want double discounts on products that already have a sale price.
- Can coupons stack with each other? Tick Individual use only to stop a coupon being combined with others.
If you show a coupon code on the site itself, show it somewhere useful. A code in a header bar is easy to forget by checkout; a code shown next to the products it applies to, with tap-to-copy, is used. Sales Drawer's free version shows a coupon in the drawer header, validates it live against WooCommerce, and removes it automatically when it expires or runs out (coupons in the drawer).
How much should you discount?#
Whichever mechanism you choose, the size of the discount matters more than the mechanism. A few rules that hold up across stores:
- Start from margin, not from a round number. A 30% discount on a product with a 40% gross margin leaves 10 points to cover fulfilment and returns.
- Make the saving concrete. "$30 off" on a $90 item is easier to value than "33% off". Percentages tend to win on cheaper items, fixed amounts on expensive ones.
- Smaller and more frequent beats deep and rare, unless you are clearing stock. Deep, frequent discounts train shoppers to wait.
- Set an end and keep to it. An offer that quietly extends teaches customers that deadlines are fake; the rules on sale pricing and countdowns also apply.
Measuring the result#
Coupons come with a report; sale prices don't. WooCommerce Analytics has no "sold at sale price" dimension, so a product sold at a markdown looks the same as one sold at full price. To know whether a sale-price promotion worked, compare revenue, orders and average order value for the sale period against a comparable period, and track the on-site promotion itself. How to measure whether your WooCommerce sale actually worked walks through it.
Frequently asked questions#
Does a WooCommerce coupon show a crossed-out price?#
No. A coupon only changes the total in the cart once the code is applied. Only a sale price shows the regular price crossed out on product cards and product pages.
Can customers use a coupon on products that are already on sale?#
By default, yes. Open the coupon, go to Usage restriction and tick "Exclude sale items" to stop the coupon applying to products with a sale price.
Which is better for Google Shopping and rich results?#
A sale price. Product structured data and merchant feeds carry the sale price, so Google can display the discount. Coupons are applied at the cart and are invisible to feeds and search engines.
Can I apply a discount automatically without a coupon code?#
WooCommerce has no built-in automatic cart discount. Use a sale price if the discount is unconditional, or a dynamic-pricing plugin if it depends on quantity, customer role or cart contents.
Which is easier to measure?#
Coupons: WooCommerce → Analytics → Coupons shows orders and discount totals per code. Sale-price promotions have to be measured by comparing the sale period with a normal one, or with a tool that attributes orders to the promotion.
Should I use a sale price or a coupon for Black Friday?#
A sale price for the headline discounts, so every product card and listing shows the saving, plus optional coupons for conditional extras such as free shipping over a threshold. The Black Friday checklist has the full timeline.