Go through these in order. Most problems are solved in the first four.
This is the most common cause. If the customer has a discount code, sale or loyalty reward that isn't set to combine with shipping discounts, Shopify applies only one of them.
Check the other discount's settings, not just ours. In Shopify admin, go to Discounts, open it, and tick Shipping discounts under Combinations. Codes from other apps (Klaviyo, Facebook, wholesale apps) need it too. See Combining with other discounts.
When you pick a rate from the list in Choose specific rates, it must match the name shown at checkout exactly. Checkout sometimes shows a different name, for example "Shipping" for mixed carts, or no "(Flat Rate)" suffix.
First check the list for the name you see at checkout and select that. If it isn't listed, type a keyword from it and choose the wildcard option. See Choose which rates to discount.
A Test badge on the dashboard means only checkouts with the first name ABC123 get the discount. Turn Test mode off to go live. See Test a discount before going live.
Use "Is at least" for thresholds, not "Is equal to", which only matches the exact amount.
Cart total is after discounts, so a discount code can push the cart below your threshold. See Cart total and cart subtotal.
Contains (any / strict mode) and Contains (only) fail if anything else is in the cart, including add-ons like shipping protection or a free gift. Add those products to your selection or collection.
Customer tag and order count only match signed-in customers. See Customer tag and customer order count.
Collection conditions only count products in the selected collections.
Cart weight: check the unit (it defaults to grams).
Location conditions are checked once the shipping address is entered.
RM: Advanced Free Shipping only discounts rates Shopify shows. It never creates, hides or changes them. A discount from the app always shows the original price crossed out, with the discount's title underneath.
If a rate shows "Free" without a crossed-out price, it's coming from Shopify's shipping settings, your carrier app or another app. Check Settings → Shipping and delivery. A free rate there also leaves nothing for the app to discount.
Shopify won't let two discounts share a name or code, even if one is old, inactive, or from another app. Rename yours, or delete the old one in Shopify admin under Discounts and save yours again.
If the discount was deleted or deactivated on Shopify's Discounts page, open it in the app and save it again.
Status on the dashboard: Scheduled hasn't started yet, and Expired has ended.
Code discounts only apply when the customer enters the code.
Customers: if it's set to specific customer segments, everyone else is excluded.
Cheapest shipping rate: if another $0 rate is showing, that's the cheapest, so nothing else gets discounted.
Exclude rates over… skips rates above your maximum.
Fixed Price doesn't change rates that already cost that much or less.
Local pickup can't be discounted.
Shopify limits how much a single discount can hold. Long lists of products, variants, postcodes or states can stop it working. Use a collection instead of many products, wildcards or ranges instead of many postcodes, and Is not one of for the few states you want to exclude.
Chat with us in the app, or email [email protected]. Include the discount's name and a screenshot of a checkout where it isn't working, showing the cart and the shipping rates.