I’m having trouble with my live Shopify store where the post-purchase page isn’t appearing after checkout. I’ve checked all the basic requirements that Shopify mentions for the post-purchase extension to work. The order value is above the minimum $0.50 threshold, there’s a physical shipping address included, and payment was processed in USD. However, I had to apply some discounts to meet certain conditions. The shipping cost was $25 USD so I used a discount code, and I also had to reduce the product price down to $0.50 with another discount. Could these discount applications be interfering with the post-purchase page functionality? Has anyone experienced similar issues where discounts prevent the post-purchase extension from rendering correctly?
Discounts absolutely break post-purchase extensions. I’ve hit this same wall working on ecommerce automations.
Shopify’s got some undocumented validation rules that kick in with heavy discounts. Drop a product to exactly $0.50 (their minimum) and it gets flagged as a test order or edge case.
Hit something similar last year. Built a workaround that monitors failed post-purchase triggers and grabs that data anyway. Skip Shopify’s finicky post-purchase system entirely - set up automation that watches completed orders and fires your post-purchase actions through webhooks.
You get full control over when and how your post-purchase flow runs. No more worrying about discount amounts or Shopify’s other quirks. Add custom logic for different scenarios too.
Way more reliable than crossing your fingers and hoping Shopify’s extension plays nice with your discount structure.
same thing happened to me - the post-purchase app was the issue. check if your extension’s actually enabled in the Shopify partners dashboard. heavy discounting can trigger fraud detection and Shopify will quietly disable checkout extensions without warning. mine got flagged as “suspicious activity” because of that exact $0.50 price. had to manually reactivate it and whitelist my test scenarios.
Had this exact problem six months ago - spent hours on it. The issue isn’t the discounts themselves, it’s how Shopify calculates final order value for post-purchase eligibility. Stack multiple discount codes and bring items down to the minimum threshold? Shopify’s validation logic gets confused about whether the order qualifies. My post-purchase extension randomly worked for some orders but not others with similar discount patterns. Shopify checks the pre-discount total against internal rules before applying the $0.50 minimum check. Test with a slightly higher final price - try $1.00 instead of exactly $0.50. Check your Partners dashboard for error logs related to the post-purchase extension. They don’t show these errors to merchants, but you might see validation failures there. My temporary fix: remove one discount code and adjust the other to hit the same final price. Resolved the validation issues.
Check your theme’s checkout settings - some themes clash with post-purchase extensions when discounts get complicated. I’ve seen this with custom checkout flows where the theme’s JavaScript messes with Shopify’s post-purchase rendering. The extension loads but gets blocked by theme scripts that don’t expect heavy discount changes. Go to your theme editor and look for custom checkout mods or third-party apps running scripts during checkout. Also check if your post-purchase extension allows orders right at the minimum threshold - some have internal minimums set higher than Shopify’s $0.50 requirement. Try a different theme temporarily to rule out conflicts.
Yeah, those discount combos are hitting Shopify’s validation quirks hard. The problem is you’re wrestling with a system that wasn’t built for complex discount scenarios.
I dealt with the same mess managing checkout flows across different business units. Shopify’s post-purchase extensions are rigid and break on edge cases like this.
Here’s what worked for me: build a parallel system that grabs order data no matter what Shopify does. Use webhooks to trigger automation on every completed order. Run your post-purchase logic separately - don’t wait around for Shopify’s extension to maybe function.
You can handle any discount combo, any price point, plus add custom rules for different scenarios. Best part? Full visibility instead of guessing why some orders work and others fail.
Takes an hour to set up and you’re done fighting Shopify’s validation logic. Way more reliable than tweaking discount amounts and crossing your fingers.
Yeah, multiple discounts definitely break post-purchase extensions, but check something else first. Your browser cache might be screwing with the display, especially if you’ve been testing the same checkout over and over. Shopify’s post-purchase stuff gets stuck in cached states when you’re running tons of test orders with heavy discounts. Clear your browser completely or try incognito mode with a fresh session. Also check if your post-purchase extension got auto-disabled from repeated failed triggers. When Shopify sees multiple orders hitting edge cases like your $0.50 minimum, it’ll sometimes silently disable extensions to protect itself. Go to your admin dashboard and verify the extension is actually running for live orders, not just showing as installed.
This sounds like a timing issue, not a discount problem. When you stack multiple codes like that, Shopify needs extra time to process everything before showing the post-purchase page. I’ve seen this happen - orders get stuck in pending status for a few extra seconds while the system calculates complex discounts. The post-purchase extension waits for full order confirmation, but if there’s any delay, it just times out and skips the whole thing. Try a test order with just the product discount (skip the shipping one) to hit your $0.50 minimum. If the post-purchase page shows up with only one discount, you’ll know it’s definitely a processing delay issue. Also check your payment gateway - some processors get slow when discounts change the total significantly, which can mess with the post-purchase timing even when everything else looks right.