Discount Code Can Be Applied at Checkout Without Email Verification

When a discount is created on the Shopify store, it’s possible to apply the discount code directly on the checkout page without first entering an email address. The code is accepted at the discount field regardless of whether the customer is the eligible user for that discount.

This doesn’t break the checkout flow — if an ineligible email is entered afterward, the order still cannot be completed. However, it’s unclear whether this behavior is intentional, allowing customers to check if a discount code is valid before committing to checkout, or whether it’s a gap that should be addressed, since the discount appears to apply successfully before eligibility is actually verified.

Steps to Reproduce:

  1. Create a discount code restricted to specific eligible customers.
  2. Go to the store’s checkout page.
  3. Enter the discount code in the discount field without adding an email.
  4. Observe that the discount is accepted/applied at this stage.
  5. Proceed to enter an email that is not eligible for the discount.
  6. Note that the order cannot be completed with the ineligible email.

This is expected behavior with Shopify’s native discount system.

When a discount is restricted to specific customers, Shopify doesn’t prevent anyone from entering the code. The validation happens later during checkout, based on the customer identity and email used for the order.

If you need strict enforcement where a discount code only works for a specific email address before the order can proceed, Shopify’s built-in discounts won’t fully handle that use case. You’ll typically need additional validation logic through Shopify Functions or a custom app.

One alternative is to generate unique single-use discount codes and distribute a different code to each customer. That doesn’t enforce email verification, but it reduces code sharing and abuse significantly.