Order bumps and post-purchase upsells for WooCommerce

Two different moments, two different offers. Both raise the order without asking the customer to start again.

The bump: inside the form, before the button

Any product, shown as a tick box under the fields with its own image, price and discount. One tick and the total underneath updates. If the bump is a variable product it carries its own colour and size picker, and the order is written against that exact variation.

The upsell: after the order exists

The order is already placed and the thank-you page is already earned, so the offer costs nothing to make. Accepting it appends the product to the order that was just placed — no second checkout, no second address, and no second delivery fee. A countdown makes it a decision rather than a page.

And a downsell if they say no

Declining shows the cheaper alternative once. It is the same mechanic; the point is that a no is worth asking one more question about, not worth a second email.

Then look at whether it worked

The dashboard counts upsells shown against upsells accepted, so take-up is a number rather than a feeling. Around a third is healthy. Near zero almost always means the offer has nothing to do with what they just bought.

Questions

Does the upsell charge again?

No — it appends to the existing cash-on-delivery order, so the courier collects one total at one door.

Can I show different bumps on different products?

Yes. Bumps are configured per product as well as globally.

The plugin that does all of this

The form itself is free on WordPress.org. The premium add-on is what adds the offers, the delivery table, the fraud rules and the dashboard.