Back to Community

Understanding and Fixing WooCommerce's Random Discount Issue

10 threads Sep 7, 2025 PluginWoocommerce

Content

Many WooCommerce store owners have reported a perplexing issue: their stores are applying significant, unconfigured discounts to orders. These discounts, sometimes as high as 90% or even 100% off, appear even when all coupon functionality is disabled. This guide will help you understand why this might be happening and provide steps to diagnose and resolve the problem.

The Problem: Unexpected and Unwanted Discounts

The core symptom is that discounts are being applied to orders without your consent. Key indicators of this specific issue include:

  • Discounts appear on orders despite having coupon usage disabled in WooCommerce settings (WooCommerce > Settings > General > Enable coupons).
  • When inspecting the affected order in the database or admin, you may see the meta fields _cart_discount and _cart_discount_tax, but no associated coupon code or name is stored.
  • You have no active coupons published on your site.
  • The discount is often applied to the most expensive item in the cart, sometimes completely zeroing out its cost.

Why Is This Happening?

Based on community reports and troubleshooting threads, this problem is rarely caused by WooCommerce core itself. The most common culprits are:

  1. Third-Party Plugins: Dynamic pricing, bulk discount, or other promotional plugins are the most frequent source of these mysterious discounts. These plugins often apply their own rules that can sometimes malfunction or conflict with other code.
  2. Theme or Custom Code Conflicts: Custom functions in your theme's functions.php file or from a custom plugin might be incorrectly applying discounts.
  3. Cached Data: In rare cases, outdated cached cart or session data could lead to incorrect calculations.

How to Troubleshoot and Fix the Issue

Follow these steps to identify and eliminate the source of the random discounts.

Step 1: The Conflict Test

The most effective way to find the cause is to perform a full conflict test. This will help you determine if the issue is being caused by a plugin or your theme.

  1. Switch to a Default Theme: Temporarily switch your theme to a default WordPress theme like Twenty Twenty-Four. Clear any caching mechanisms you have (server, plugin, browser) and test the checkout process. If the discounts stop, the issue is with your original theme.
  2. Deactivate All Plugins: If the issue persists with a default theme, begin deactivating all plugins except WooCommerce. Clear your caches again and test.
  3. Reactivate Plugins One by One: If the discounts stop, reactivate your plugins one by one, testing after each activation. When the random discounts reappear, you have found the conflicting plugin. Pay particular attention to any plugins related to pricing, discounts, or payments.

Step 2: Investigate Specific Plugins

If the conflict test points to a specific plugin, investigate its settings. For dynamic pricing plugins, carefully review all your rules to ensure none are configured to apply a larger discount than intended. Check the plugin's documentation or support channels for any known issues.

Step 3: Check for Custom Code

If the conflict test does not reveal a plugin or theme issue, the problem may lie in custom code. Review any custom code snippets in your theme's functions.php file or in a custom site-specific plugin. Look for functions that hook into WooCommerce's cart or discount calculation processes (e.g., woocommerce_before_calculate_totals). Temporarily remove this code to see if it resolves the issue.

Step 4: Review Your System Status Report

When seeking help from communities like BugWP.com, always provide your system status report. You can find it by navigating to WooCommerce > Status > Get system report. This report gives experts a complete overview of your environment, which is crucial for diagnosing obscure issues.

Conclusion

The appearance of random, unconfigured discounts can be alarming for any store owner. In virtually all reported cases, the root cause is a conflict with a third-party plugin or custom code that interacts with WooCommerce's pricing system. By methodically performing a conflict test, you can isolate the cause and take steps to resolve it, either by reconfiguring a plugin, seeking an update from the plugin developer, or removing problematic custom code.