Free Shipping on a Single Item in Magento

It’s amazing how many complicated solutions there are out there to what seems like a relatively simple problem. After reading loads of blog posts and forum discussions on this topic, I stripped the information down to this solution, which may or may not work in your case. My situation is this:
I run a Magento shop and need to offer free shipping on a single item. It may grow to be a whole category, but the solution is the same. I ship with table rates and do not offer free shipping “over XX dollars/pounds/euros”. I am currently using Magento (free)

Here’s what I did to offer free shipping on one specific product:

First, turn on Free Shipping in your Admin Panel > System > Configuration > Sales > Shipping Methods > Free Shipping.
VERY IMPORTANT: set a bogus Minimum order amount – I used 9999999999.99 because if someone spends that much at my shop in one go, I’m retiring.
Save Config.

Second, go to Admin Panel > Promotions > Shopping Cart Price Rules.
Add New Rule.
Use these exact settings:
Rule Name: [you decide]
Description: [you decide]
Status: Active
Customer Groups: [select all, unless you have a reason not to]
Coupon Code: [blank]
Uses Per Coupon: 0
Uses Per Customer: 0
From Date: [today, unless you have a later start date]
Priority: 0
Public in RSS Feed: No [unless you have a reason to say Yes]

Next section of the rule: Conditions: [ignore this section]

Last section: Actions:
Apply: Fixed amount discount
Discount Amount: 0
Minimum Qty Discount is Applied to: 0
Discount Qty Step (Buy X): 0
Free Shipping: For shipment with matching items or For matching items only [whichever fits your situation best]
Stop further rules processing: No
Apply the rule … :
If ALL of these conditions are TRUE:
SKU is [insert specific SKU, and then hit the green checkmark]
Category is [get the category ID from the Manage Categories page; ID shows up if you click on a file tree category folder]

If you need to do this Free Shipping thing with only a handful of products, just add more SKU rules in that last step. If that is the case, change the “If ALL of these conditions … ” to ANY.

Save Rule.

Hope this helps someone out there. It’s working for me. I am not a Magento expert, though my shop runs pretty well. For expert help, visit the Magento Forums.

28 thoughts on “Free Shipping on a Single Item in Magento”

  1. Hi Jen, I understand your configuration to allow a single product free shipping. Any ideas on how to offer free shipping to a discount code word, when your shipping has varied rates due to varying weights? Aaaargh, I have 1000 postcards to go in my neighbourhood letterboxes offering free shipping with the code word of the suburb!
    The only thing I can come up with is to make all my products the same weight, therefore the same shipping cost and discount the order by that amount with the code word.
    What do you think?

  2. Hi Anna- Sorry about not responding sooner to your comment; a family crisis is happening (I’ll be writing about it).

    I’ll have a think about the problem you specify, as it could potentially be handy for me to know as well. I’ll post what I come up with. πŸ™‚

  3. The solution is so simple and logical…once someone else figures it out. haha

    Thanks for the help! Greatly appreciated.

  4. I’ve been struggling with free shipping on only select items. Your suggestion seems logical, I followed the directions completely, tried it but it is still not working. It just calculates freight as normal with no mention of free shipping at checkout. Any suggestions, thanks.

  5. Hi Brigitte-
    I’m afraid I am not a Magento expert (just a tinkering user) and can only report on what I found to work in my version… All I can suggest is to consider your version number of your Magento install (if newer than mine, this may not work at all) and scrub the Shopping Cart Price Rules you’ve added and re-input to make sure the settings are all there as above.
    I’m sorry I can’t be more helpful. πŸ™

  6. I’m working on rebuilding our site and we use # of item table based shipping as our standard shipping, i.e. $6.50 for first item $4.00 for each additional item. I sat up my standard shipping based on a table shipping scheme first. Then I added a root category titled “free shipping” and made it inactive. I then applied the individual products for free shipping to this category and used Jen’s method and used the category rule. This seems to work. It gives a free shipping option if only a free shipping item is in the cart, along with special shipping options, such as UPS or if other products are in the cart also, it does not apply the standard shipping rate to the free shipping items. It will calculate the special shipping if that option is chosen.

    Seems to work. Thanks.

  7. Thanks Jen, my husband & I just started an online business so I am very new to this πŸ™‚ and your post was very helpful!

    Thanks again!

  8. stille haven’t found what I was looking for.
    I don’t understand why free shipping is a shipping method.
    So for example, i have these shipping options
    DHL 5€
    UPS 6€
    Free shipping 0€

    So when I use free shipping, the client cannot choose any other shipping method. That is ok if you have 1 shipping method, but what if I have more then one?

  9. Hi Jen,
    First thanks for your nice post.

    I wanna have your help on my situation:
    “Free shipping for the 2nd and more for items within a category. ”
    For example:
    Category ID=8 has 4 products named A, B, C and D.
    Fix shipping fee is $10 per item.
    If customer bought 2 A and 3 B , then shipping fee will only showed up as $10 + $10.

    Then I set the matching rule :
    – Quantity in cart greater than 1
    – Category is 8
    Free shipping for matching items only

    But it set free shipping for ALL items in that category, on the above example it’s $0 shipping fee.

    Please help me figuring out this problem, thank you in advanced!

    Best regards,

  10. Hi Ace-

    I’m afraid I’m not working with any Magento installs currently, so I’m rusty at best. I hope perhaps one of the other people commenting can help…
    Wishing you the best,

  11. This is great! Thanks so much. You actually don’t even need to enable free shipping as a shipping method either.

  12. You are a genius!! THANK YOU!
    I have been trying to find simple ways to do this for weeks now.
    Great post.

    Any ideas on how to add a free product to cart with coupon code?
    For example they buy product x put in a coupon code product y is added at no additional charge.

  13. Your solution helped me — thanks! I’m curious, why did you stop using Magento? I don’t love it but I’m not sure what’s better.

  14. Hi- I stopped using Magento because I stopped running shops and doing webdev.
    Magento is getting more difficult to use due to the developers pushing people to the paid Magento services, and to be honest, I’d probably go with something like Lemonstand now.
    So glad the tip is still helping people out there. πŸ™‚

Comments are closed.