Post-Purchase Discount Codes (called Apply Discount Code in the app) allows customers to apply a discount code to their order after checkout. This is perfect for customers who forgot to enter a code during purchase, preventing frustration and reducing support tickets.
You'll find this at App Blocks > Apply Discount Code.
Configure how customers can apply post-purchase discount codes to their orders.
ℹ️ Note: This module may not always be shown to customers. If automatic payment capture is turned off, discount codes that result in a refund cannot be processed on orders with uncaptured payments. Check your Payment Capture Settings if this applies to you.
Setting | Description |
Allow customers to redeem post-purchase discount codes | The master toggle. When enabled, customers can enter and apply a discount code to their order after checkout via the order editing block. |
Prompt customers to apply discount codes from the order summary | When enabled, customers can apply discount codes from the order cancellation modal and the order summary page. This increases visibility and may lead to more customers redeeming codes. |
Allow customers to redeem expired discount codes | When enabled, customers can redeem discount codes that have already expired. For example, if a customer's discount code expired on Friday but they're making edits over the weekend, this feature allows them to still apply the code even after the sale period is over. |
✅ Example: A customer completes checkout and immediately realises they forgot to enter a 15% discount code from a promotional email. They use the order editing block on their thank you page, enter the code, and the discount is applied to their order. No support ticket needed.
Set limitations on how discount codes can be applied and which products they affect.
Setting | Description |
Exclude digital products from qualifying for post-purchase discount codes | When enabled, post-purchase discounts will only apply to physical products being shipped to the customer. Digital products like insurance or digital downloads won't be discounted. |
Disable one-time discount codes after they are redeemed | When enabled, one-time use discount codes are automatically disabled after a customer redeems them. This only affects codes that are already set to one-time use in Shopify. |
💡 Tip: If you sell a mix of physical and digital products, enable the digital product exclusion to prevent discounts from applying to items like shipping insurance or digital add-ons. This protects your margins on products that don't have physical fulfilment costs.
Manage the permissions required for discount code functionality.
Setting | Description |
Order Editing has permission to redeem discount codes | This permission must be enabled for the discount code functionality to work. It grants Order Editing the ability to read and apply discount codes from your Shopify store. |
💡 Tip: If you're having trouble with discount codes not working, check that this permission toggle is enabled. It's not turned on by default and must be manually enabled.
You can customise every text label your customers see when applying discount codes. Click the Translate button in the top-right corner to open the translations panel. Change any default text to match your brand's tone of voice, and set different translations for each language your store supports.
Field | Default Value | What It Controls |
Section Title | Apply a discount code | The heading customers see for the discount code section on the order editing block. |
Action Button | Edit | The button customers click to start entering a discount code. |
Input Label | Discount code | The label shown on the text input field where customers type their code. |
Submit Button | Apply code | The button customers click to submit and apply their discount code. |
Instructions Text | Redeem your discount code on your existing order. | The instruction text shown to guide customers on how the feature works. |
Success Message | Discount code was valid and you can accept your refund. | The confirmation message shown when a discount code is successfully validated. |
Awaiting Confirmation Message | Accept the refund to redeem your discount code on your order. | The message prompting customers to confirm the refund to complete the discount redemption. |
Loading Message 1 | Validating the discount code | The first loading message shown while the code is being checked. |
Loading Message 2 | Checking discount code details | The second loading message shown during validation. |
Loading Message 3 | Processing discount code application | The final loading message shown before the discount is applied. |
✅ Examples of custom translations:
• A friendly brand changes "Apply a discount code" to "Forgot your promo code? Add it here!" to make the feature more inviting.
• A luxury brand changes "Apply code" to "Redeem" for a cleaner, more refined button label.
• A playful DTC brand customises the loading messages to "Checking your code...", "Looking good...", and "Applying your savings!" to match their tone.
If automatic payment capture is turned off, discount codes that result in a refund can't be processed on orders with uncaptured payments. Check your Payment Capture Settings to resolve this.
This depends on your Shopify discount code configuration. Order Editing respects whatever stacking rules you've set up in Shopify. If Shopify allows combining discounts, customers can apply multiple codes.
It depends on your business. If you run time-limited sales and a customer checks out just before the sale ends but edits their order shortly after, allowing expired codes means they can still apply the discount. This improves the customer experience but may extend your promotional windows slightly.
Yes. The App Permissions toggle on this page must be enabled, and you should also check that discount code permissions are granted in Settings > Discount Codes. Both need to be active for discount codes to work.
If applying a discount code reduces the order total, the difference is refunded according to your Order Downgrades settings. Note that this only works when automatic payment capture is enabled.