Why Isn't the Coupon Field Showing at WooCommerce Checkout?
Why the WooCommerce Coupon Field Hides
WooCommerce treats coupon functionality as an optional feature that can be turned off entirely, and when disabled, the coupon field and its related processing simply don't appear anywhere in the store, rather than showing but doing nothing. This setting is separate from whether any coupons actually exist, which is why creating a coupon doesn't automatically make the field appear if the feature itself is switched off.
Other Causes of a Missing Coupon Field
- A theme or checkout customization deliberately hiding the coupon field via CSS or a template override, sometimes intentionally (to reduce checkout distractions) and sometimes as an unintended side effect of an unrelated change.
- The block-based checkout's coupon field is configured slightly differently than the classic shortcode version, and a customization built for one may not apply to the other after switching checkout types.
- A caching plugin serving a stale, pre-setting-change version of the checkout page after coupons were enabled.
How to Restore the Coupon Field
- Check WooCommerce → Settings → Products → General and confirm "Enable the use of coupon codes" is checked.
- Clear all caches after enabling it, to rule out a stale cached version of the page.
- Check for theme CSS or template overrides hiding the coupon field specifically, if the setting is already enabled but the field still doesn't appear.
- Confirm which checkout type is active (block vs. classic) and test the coupon field specifically in that context.
Quick isolation steps
- Confirm the coupon setting is enabled in WooCommerce's settings, and clear every cache afterwards.
- Check which checkout you have. The classic checkout shows a "Have a coupon? Click here to enter your code" notice above the form. The block checkout puts an "Add a coupon" control inside the order summary. A customer or owner expecting one while the store runs the other can believe the field is missing when it is only somewhere else.
- View checkout in a private window while logged out. This rules out cached output and anything specific to your admin session.
- Inspect the page for the field. If the element exists in the HTML but isn't visible, a theme rule or custom CSS is hiding it. If it isn't in the HTML at all, it is a setting or template override.
If the field shows but the code is rejected
That is a different problem. Open the coupon in WooCommerce and check its restrictions: expiry date, usage limits, minimum spend, product and category exclusions, allowed email addresses and "individual use only". Each produces a specific message, and reading it usually names the rule that failed.
Need this fixed alongside other checkout issues? See WooCommerce fixes.