Customer cannot reapply same discount code after first order cancellation

Topic summary

A merchant encountered an issue where a customer couldn’t reuse a discount code after their initial order was cancelled due to insufficient credit. The discount was configured with “limit to one use per customer,” which tracks usage by email/phone number.

Current System Behavior:

  • Once a discount code is applied to an order, it’s marked as “used” for that customer
  • This status persists even if the order is cancelled or returned
  • The discount does not automatically become available again

Recommended Workarounds:

  1. Create a new one-time discount code specifically for the affected customer using “Specific Customers” eligibility
  2. Use third-party automation tools like Mechanic (https://tasks.mechanic.dev/reissue-single-use-discount-codes-after-order-cancellation) to automatically reissue codes after cancellations
  3. Remove the “limit to one use per customer” restriction (though this may not align with promotional goals)

Status: This remains the expected platform behavior as of 2025, with no native feature to automatically release used discount codes after order cancellations. The issue requires manual intervention or third-party solutions.

Summarized with AI on October 23. AI used: claude-sonnet-4-5-20250929.

Good morning, our store is currently running promotion and has created a discount code which is limited to one use per customer. My customer has applied the discount code, and done successfully checkout. Unfortunately, the order has been cancelled due to insufficient credit after an hour later. When my customer reapply the same code in a new order in checkout screen, it prompts a message and told the discount code has already been used. May I know why system did not release ‘used’ status from customer’s canceled order? Please advise is there’s anything I can do, except untick ‘limit to one use per customer’ from discount code settings? Thanks in advanced.

Hi, @KvChow !

If the box "Limit to one per customer" is checked when you create your discount code, this will track a customer’s email address or phone number to limit discount to one use per customer. I can confirm that the discount does not become available again to this customer if their order is cancelled or returned. I do understand why it may be convenient to have this automatically become available for the future, and will pass this feedback on to our developers on your behalf.

That being said, your best option for a workaround in these situations will be to create a one time use discount code for this specific customer. To do this, when you create the discount code I recommend:

  1. Under Customer Eligibility, select Specific Customers then click Browse and add the customer that the discount is intended for.
  2. Under Usage Limits, select Limit number of times this discount can be used in total, and enter 1.
  3. Under Active Dates, set an End date if the promotion is time restricted.

This will ensure that the discount created can be used only once and by this customer only. You will then need to share the discount code you have created with the customer directly. Alternatively, you could not check the “limit to one per customer” box when you create the original discount code, but this may not be the best solution if you prefer to limit customers’ usage.

Let me know how this goes!

1 Like

@Hilary_3 Thanks for your prompt responses, and suggestion. Yes, hope there is such feature to cater such scenario in future.

We are in 2025 and the issue is still there.

has this been resolved?

This is expected behavior, single use discounts are used when used; no take backs.
To have an unused single use discount you need to make a new discount.

There are discount apps, or automation tools like mechanic that can help in some situations https://tasks.mechanic.dev/reissue-single-use-discount-codes-after-order-cancellation