WooCommerce sale prices with a discount out of range

Discounts below 5% or above 90% may deserve a second look. CatalogLift shows both prices and the calculated percentage so you can confirm the promotion is intentional or correct it.

Sales-readiness Low severity Fix in CatalogLift

A review threshold, not a verdict on your promotion

A 4% loyalty discount and a 95% clearance discount can both be intentional. The same numbers can also come from an import mistake. Prices alone do not tell us which is true, what your margin is, or whether shoppers respond to the offer.

This check uses a fixed 5–90% range and low severity. It does not compare your promotion with category averages. If the offer is correct, dismiss the finding and keep the price.

How to find out-of-range discounts manually

The regular and sale price of a simple product live in postmeta under _regular_price and _sale_price. With WP-CLI, one query computes the discount for every published product on sale and keeps only the ones outside the review range:

wp db query "SELECT p.ID, p.post_title,
  r.meta_value AS regular_price,
  s.meta_value AS sale_price,
  ROUND((r.meta_value - s.meta_value) / r.meta_value * 100, 2) AS discount_pct
FROM wp_posts p
JOIN wp_postmeta r ON r.post_id = p.ID AND r.meta_key = '_regular_price'
JOIN wp_postmeta s ON s.post_id = p.ID AND s.meta_key = '_sale_price'
WHERE p.post_type = 'product' AND p.post_status = 'publish'
  AND r.meta_value + 0 > 0
  AND s.meta_value != ''
  AND s.meta_value + 0 >= 0
  AND s.meta_value + 0 < r.meta_value + 0
HAVING discount_pct < 5 OR discount_pct > 90
ORDER BY discount_pct DESC;"

Prices are stored as text, so the + 0 forces a numeric comparison. Adjust the wp_ prefix if yours differs.

This gets you a list, with the usual gaps. It only knows about simple products, so a variable product's variations need a second query against their own postmeta. It gives you IDs, not a place to fix them, so each row still means opening the product in wp-admin. And it answers once: the next price import or the next ended campaign can put the same rows back without anyone noticing.

How CatalogLift finds it

For each published simple product with a valid sale, CatalogLift calculates the percentage reduction from its regular price. Discounts below 5% or above 90% receive a low-severity review finding. Both boundary values are accepted. The evidence records the prices, percentage and thresholds used by that scan.

A finding does not change the price. Dismiss it if the promotion is intentional, or approve an update or removal of the sale price. After a change, CatalogLift reads WooCommerce again and checks whether the finding still applies.

Fair questions, straight answers.

What counts as a discount out of range?

CatalogLift flags discounts below 5% or above 90%. Exactly 5% and 90% are inside the range. These are fixed review thresholds, not a prediction of margin, shopper behaviour or the intention behind a sale.

What if the discount is intentional?

Keep the price and dismiss the finding. A small loyalty discount or a deep clearance sale can be deliberate. The finding asks you to review the numbers; it does not prove that the promotion is wrong.

Does CatalogLift change the sale price for me?

There is no automatic price change and no AI involved. You can approve a different sale price or remove the sale. CatalogLift records who approved the change, writes it to WooCommerce and checks the result with a fresh scan.

Does this cover variable products?

This check reads published simple products. It does not assess variation discounts. Variation price checks have their own scope.

See it on your own catalog.

Create a free account, connect your WooCommerce store and this check runs on your real products, along with the rest.

No card required. The free plan never writes to WooCommerce.