Calculating shipping rates before applying discounts

Topic summary

Core Issue:
Shopify calculates shipping rates after applying discount codes, not before. This causes customers who qualify for free shipping based on their cart subtotal to lose that benefit when a percentage discount drops their total below the threshold—resulting in unexpected shipping charges and abandoned sales.

Merchant Impact:

  • Stores report losing 50-100 sales monthly and receiving 10-15 customer complaints weekly
  • Customers end up paying more with a discount code than without one
  • The issue is particularly problematic during promotional periods (e.g., Black Friday with 30% discounts)

Shopify’s Official Response:

  • Support suggests using free shipping discount codes instead of percentage discounts
  • Discount stacking is not natively supported on standard plans
  • The checkout calculation order (cart → checkout → shipping rates) is described as “standard practice”

Community Workarounds:

For Shopify Plus merchants:

  • Custom scripts in Script Editor can check pre-discount cart values and force free shipping when original subtotal qualifies
  • Code example provided that compares cart amount before discount application

For standard plans:

  • Third-party apps: “Discountyard” and “Advanced Free Shipping” allow free shipping based on subtotal
  • Creative workaround: Set product weights equal to their prices, then configure free shipping based on weight thresholds (only works if not using actual weight-based shipping)

Status:
No native Shopify solution after 4+ years. Merchants express frustration that this requires workarounds rather than a platform-level fix.

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

I’m trying to actually fix the opposite issue (in a shipping app) of having Shipping Rate rules to be applied after a discount has been applied to an order rather than before. I don’t think it’s deceiving at all if you’re offering Free Shipping on total cart value, rather than subtotal (or individual items). I think the later is double dipping. If you visit an online store who offers Free Shipping on orders over $100 and see an item showing the price as Was $110, Now $90, you wouldn’t expect Free shipping (just because it used to cost $110), so why would you with a discount code?

1 Like