I need to have the ability for a discount code to be applied to a customers shipping method (not FREE shipping) if possible. Like for example when an item is $10 and shipping is also $10 need the discount code to apply 20% off shipping only. Please your help will be appreciated. Thank you!
Topic summary
Merchants are requesting the ability to apply percentage or fixed-amount discount codes specifically to shipping costs, rather than only offering free shipping or product discounts. This feature has been absent from Shopify’s native functionality for over 7 years despite repeated requests.
Core Issue:
- Users need shipping discounts (e.g., 20% off shipping) without affecting product prices
- Common use cases include heavy products where free shipping isn’t viable, international orders with high shipping costs, and local pickup incentives
- Applying discounts to products instead creates tax reporting complications and doesn’t solve the cart abandonment problem caused by high shipping rates
Official Response:
Shopify support acknowledged the limitation early in the thread and suggested workarounds:
- Third-party apps like Advanced Shipping Rules or Better Shipping
- Using negative handling fees in shipping settings
- Applying product discounts instead (not ideal for most merchants)
Current Status:
- The feature remains unavailable in Shopify’s core platform as of 2025
- Multiple third-party apps now offer solutions: Advanced Free Shipping, ShipOff, and Savify
- These apps enable percentage or fixed shipping discounts based on conditions like order value, location, or shipping method
- Merchants express frustration that such a “basic” e-commerce feature requires paid third-party solutions
Resolution: Unresolved natively; workarounds exist only through apps
Hey, Nicole!
Karlie here from the Shopify Guru Team! Although the type of functionality you’re looking for with applying discounts to shipping isn’t available in Shopify yet, I would be happy to offer you some workarounds that could work for you.
My first suggestion would be to use an app that would allow you to set specific shipping rates and rules to your shop. I had Advanced Shipping Rules or Better Shipping in mind - which would allow you to set rules for your shipping depending on different aspects of your website. If you were to use this method, you wouldn’t have discount codes for shipping, but instead automatic discounted shipping rates that you would set up by using the app.
Another option would be to use the Discount section of your Shopify Admin to create percentage or price based discounts on your products. I know this isn’t exactly what you’re looking for, but you can still give the customer a percentage off of their products instead of shipping. If you’re interested, be sure to check out our Discount Guide for more information on how to use the Discounts section of your Shopify Admin.
I understand that the feature you’re looking for isn’t available within the Shopify Admin, so I would be glad to bring this up to the appropriate team here for you so we can look into making Shopify a better platform for future merchants.
I hope this helps, but if you have any further questions - be sure to ask and I would be happy to help!
Karlie
Shopify Guru
support@shopify.com
I am also interested in this functionality. We currently offer free shipping on our products (meaning the cost is built into the price.) we would like to make a shipping rule that gives a slight discount to local customers who want to pick up their order from our shop.
You offer a flat rate dollar amount shipping rule which we can make negative ie -$10. What we need is an order percentage shipping rule so we can give an incentive to customers to pick up .
Example rule - “customer pickup” -8%.
i hope this makes sense. The e-commerce platform we are leaving to join Shopify allows this.
Hello, I think this a basic functionality that should be added. Not all shipping discounts imply free shipping and in most cases the profit margins for shipping and products are different, which is why you can’t apply the discount to the product. Shopify should definitely have a shipping discount wheere an amount or percentage is used.
Agreed, this is a feature I am looking for too.
how this feature is not part of Shopify is beyong me
This would be so useful. Can we vote for this to be added in?
I’d like this as well - I’m happy to do free shipping within Australia, but internationally it’s HELLA expensive, I’d prefer to offer 50% off instead of making it free - because it can be $20-30+ to ship internationally.
Hi, I found out that under the shipping setting, there’s a handling fee that asked for a percentage or flat amount. It actually allows us to charge a -ve rate on Handling Fee. So that’s what I did
this should solve your issue. Unfortunately the local pickup or local delivery option doesn’t allow us to set negative shipping cost
Hi, that would make the shipping cheaper across the board - I’m looking to
only apply the discount over a certain $$$ amount. Thanks though!
I think its best if we have this functionality to cater to our clients better.
Any luck on this? Or a third party app perhaps to offer this feature?
@Karlie - Can we put this forward to development to add feature into pipeline???
Thanks
This feature really needs to be part of Shopify basic. I would suggest having the ability to do both flat rate and percentage discount for shipping. Shopify needs to take anything related to shipping very seriously considering how much their own literature emphasizes shipping costs as the number one reason for cart abandonment.
Please implement this ASAP!
Hi,
As Karlie has mentioned, applying discount codes to shipping isn’t available in Shopify yet. So, the only workarounds available currently is to use any apps that would do the job.
You can look into the Advanced Shipping Rules which would allow you to set rules that might help you add discounts for the shipping rates.
Another option would be the same as Karlie suggested; To use the “Discount” section of your Shopify Admin to create percentage or price based discounts on your products. Although this might not be the accurate workaround, but you can still give the customer a percentage off of their products instead of shipping. You can check out the Discount Guide for more information.
Now, if you want to automatically provide a discount on the shipping services provided by different carriers at checkout, you can look into the Multi Carrier Shipping Label app. The app lets you create shipping rules so that, you can provide a percentile discount to all the shipping services displayed at checkout based on conditions like order price, product quantity, weight-range and many more.
Also, to get the development done on Shopify admin, you can request the support team place a request. If they are getting more number of requests for the same issue, the development might be done on priority.
I hope this helps!
IMO, it would be great if the app (Advance Shipping Rule) is free. ![]()
I would also like this feature to be able to discount shipping. I don’t want a separate app, this should be built into Shopify. Using fixed or percent discount off the product is not ideal for tax reasons. It complicates my quarterly tax reporting. Thanks.
We need this feature a lot. @Karlie Please add this to the dev list!
This is a nonsensical “solution”. Shopify needs to support discount codes for flat-rate shipping. Our product is heavy - we cannot offer free shipping, but we do need to offer flat-rate shipping to our retail customers. At the same time, we cannot have it apply to trade customers (who use a discount code) or we would lose money. If flat-rate shipping was available as a discount code, we could exclude trade customers from using both. *** We’ve tried several apps as well as paying someone to code it in Liquid, but it remains really buggy and doesn’t present correctly on the screen. Why can’t shopify just make this a discount option? It’s clear that many people want this capability, especially since shipping rates have skyrocketed.
Its 2023 and this feature is still not yet available on shopify? it should be a basic feature ![]()