Launch pricing: Lock in Pro at $79/yr before prices go up View pricing →
Pro feature

Automatic discounts

Overview

Automatic discounts help you move products before they expire by reducing prices as the expiration date approaches. You define discount tiers based on how many days remain until expiration, and the plugin applies the appropriate discount automatically. This reduces waste and recovers revenue from stock that might otherwise go unsold.

Setting up discount tiers

Configure discounts under Products → Expirations → Settings → Discounts:

  1. Click Add Tier to create a new discount rule.
  2. Set the days until expiration threshold and the discount percentage.
  3. Add additional tiers as needed.
  4. Save your settings.

Example configuration

The plugin includes default tiers to get you started:

Days until expirationDiscount
14 days10% off
7 days25% off
3 days50% off

With this setup, a product that expires in 10 days would receive a 10% discount. Once it reaches 7 days, the discount increases to 25%, and at 3 days it jumps to 50%.

How discounts are applied

Discounts are applied in real time using WooCommerce’s price filters. When a product falls within a discount tier, the sale price is adjusted automatically:

  • The sale price integrates seamlessly with WooCommerce’s pricing — sale badges, cart calculations, and order totals all reflect the discounted price.
  • When a product moves into a new discount tier, the sale price updates accordingly.
  • If a product expires and is removed from the catalog (via expiry actions), discounts no longer matter since the product is no longer for sale.

Expiring soon badge

When automatic discounts are active, products approaching expiration can display an expiring soon badge on your storefront. This badge draws customer attention to discounted items and encourages purchases. On single product pages it also surfaces the active discount — for example “50% off - Expiring soon” — making the deal explicit.

The badge appears on:

  • Shop and category archive pages
  • Individual product pages

The badge has its own on/off toggle, separate from the badge-text setting: Show sale badge (“Display a badge on discounted products”) under Products → Expirations → Settings → Discounts. It is enabled by default, so discounted products show the badge unless you turn it off — discounts keep applying either way. The Badge text field on the same screen customizes the wording (e.g. “Expiring soon”, “Clearance”). Together they create a clear visual signal that a deal is available.

Known limitation: WooCommerce “Sale” loops

Expiry discounts are applied dynamically through WooCommerce’s price filters, not by writing a sale price to the product. As a result, expiry-discounted products do not appear in WooCommerce’s “on sale” product loops — for example the [sale_products] shortcode or the “On Sale” block — because those read from a sale-price lookup table that the dynamic discount does not touch. The discounted price, strikethrough, sale badge, and cart/checkout totals are all still correct on the products themselves; they just are not collected into sale-only listings.

Tips for effective discounting

  • Start small — A 10% discount at 14 days gives customers a gentle nudge. Reserve steep discounts for the final days.
  • Match your margins — Set discount percentages that still keep the sale profitable, or at least minimize your loss compared to unsold expired stock.
  • Combine with email notifications — Use email notifications to alert yourself when products enter discount tiers, so you can monitor how well the discounts are working.
  • Review the Overview tab regularly — The Overview tab shows which products are expiring soon, helping you gauge whether your discount strategy is effective.