How to Move the Coupon Form on WooCommerce Cart and Checkout

How to Move the Coupon Form on WooCommerce Cart and Checkout
On this page
  1. Why Coupon Placement Affects Conversion
  2. Step 1: Remove the Coupon Form From the Cart Page
  3. Step 2: Remove the Default Coupon Form From Checkout
  4. Step 3: Re-Add It Further Down the Checkout Page
  5. Troubleshooting
  6. Frequently Asked Questions
  7. Conclusion

To move the coupon form on WooCommerce cart and checkout, remove the default coupon prompt from its usual position and re-add it further down the checkout page — or remove it from the cart entirely — so customers focus on their order details before being tempted to pause and search for a discount code.

Why Coupon Placement Affects Conversion

  • A prominent “have a coupon?” field can trigger customers to leave and search for a code, risking abandonment
  • Moving it later in the flow lets customers commit to their order details first
  • Large ecommerce sites commonly de-emphasize coupon entry for exactly this reason

Step 1: Remove the Coupon Form From the Cart Page

PHP
/** Disable coupons specifically on the Cart page, keep them active at Checkout */
add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_form_on_cart_page_only' );

function disable_coupon_form_on_cart_page_only( $enabled ) {
    if ( is_cart() ) {
        return false;
    }
    return $enabled;
}

Step 2: Remove the Default Coupon Form From Checkout

PHP
add_action( 'wp', 'remove_default_checkout_coupon_form' );

function remove_default_checkout_coupon_form() {
    remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
}

Step 3: Re-Add It Further Down the Checkout Page

PHP
add_action( 'woocommerce_review_order_before_submit', 'display_coupon_form_below_order_review' );

function display_coupon_form_below_order_review() {
    woocommerce_checkout_coupon_form();
}
Move the coupon form on WooCommerce cart and checkout: the page before adding the code
Before
Move the coupon form on WooCommerce cart and checkout: the page after adding the code
After

This moves the “Have a coupon?” toggle from the very top of checkout down to just above the Place Order button, so customers see their itemized total before being prompted for a code.

Troubleshooting

The Coupon Form Disappears Entirely Instead of Moving

Confirm both the removal (Step 2) and re-addition (Step 3) snippets are active together — removing without re-adding will simply eliminate the coupon form rather than relocating it.

Coupon Field Duplicates in Two Places

This usually means the removal snippet isn’t running, often due to priority mismatch — the default hook uses priority 10, so your remove_action call must match that exact priority to succeed.

Frequently Asked Questions

Should I remove coupons from the cart entirely, or just move them?

Either works depending on your strategy — removing entirely pushes all coupon entry to checkout, while moving on both pages keeps it available but de-emphasized throughout.

Does hiding the coupon form stop coupon codes from working via URL?

No — a coupon applied via a URL parameter (a common tactic for email campaigns) still works regardless of whether the manual entry form is visible.

Will this work with the Cart and Checkout blocks?

These specific hooks target the classic cart and checkout shortcodes — the block-based versions require different customization through the Cart/Checkout Blocks configuration instead.

Conclusion

Moving the coupon form on WooCommerce cart and checkout is a small set of hook-based changes that can meaningfully reduce the “let me go find a discount code” abandonment pattern, by keeping customers focused on their order until later in the flow.

See also How to Hide the Coupon Code on WooCommerce Cart and Checkout. Then read How to Remove or Move the Login/Registration Form at WooCommerce Checkout.

Prefer no code? All-in-One Utilities Woo Add-on adds over 50 WooCommerce features, so you can switch them on without code.

Leave a Reply

Schedule a call