Magento: Free Shipping Without Coupons

I decided to create this to help give back to the Magento community. 

Problem: You want free shipping on products, but you don’t want to have to force a customer enter a coupon/code to do so. 
Solution: See below. 
Special Notes: Must apply to Simple Products. I don’t know if it will work with other types of products.  It should, but on the products that have “free shipping” enabled will cost the customer nothing to ship.  This rule can be mimmicked and advanced rules can be set if you wanted to do something with an advanced product type.  Please also note that you are disabling the free shipping for all products that is on by default.

————————————————–

For this to work, you first must do the following change the amount that allows free shipping.  You’ll want to set it something unrealistic so it never appears under normal conditions. 

1. Log into the backend of your site.
2. Go to Systems -> Configuration
3. On the tabs on the left, click “Shipping Methods”
4. Under “Free Shipping”, set minimum shipping price to 9999999999.99.  This way, its enabled but wont ever show up (unless someone buys 9999999999.99 worth of products from your store. In which case, set it so its not possible to reach the amount where free shipping would be allowed.
5. Save Config.

Now, onto setting up attributes and rules! 

Steps:

1. Log into the backend of your site.
2. Go to Catalog -> Manage Products. 
3. Select a product you want to edit. It doesn’t matter at this point.
4. On the top right, there will be a “Create New Attribute” button, click it. Hard.
5. Once you’re on the “Create Attribute” screen, you’ll want to fill it out.  Here is what I have for reference

a.    Attribute Code: free_shipping
b.    Scope: Global
c.    Catalog Input Type for Store Owner: Dropdown
d.    Unique Value: No
e.    Values Required: Yes
f.    Input Validation for Store Onwner: None
g.    Apply To: All Product Types
h.    Use To Create Configurable Product: No
i.    Use in Quick Search: No
j.    Use in Advance Search: No
k.    Comparable on Front End: No
l.    Use in Layered Navigation: No
m.    Visible on Catalog Pages on Front End: No

6. Once you’re done filling that information out, go to the Manage Label/Options side tab:

a.    Now I don’t know what the fields under “Manage Titles” say, because they are just scrambled letters (thanks v1.1.1) but the first field is what is show next to the drop down box and shown when creating a coupon and stuff.  So I went with “Free Shipping”.
b.    Under the “Manage Options”, create two options.  Again, I don’t know what the fields say (thanks v1.1.1).  One should say “Yes” and the other should say “No”. Set the default to “No”

7. Save Attribute (button in upper right.)
8. Once that saves, go to Promotions -> Shopping Cart Price Rules.
9. Click the “Add New Rule” button on the upper right. Softly this time.
10. Here is the information I used as a reference

a.    Rule Name: Free Shipping
b.    Description: Free shipping on selected products.
c.    Status: Active
d.    Customer Groups: NOT LOGGED IN, GENERAL, WHOLESALE, RETAILER
e.    Everything else I left blank/default.

11. The “Conditions” tab on the left should be left how it is.  Skip over it and select the “Actions” tab

a.    Apply: Percent of product price discount
b.    Discount Amount: 0
c.    Maximum Qty Discount is Applied to: 0
d.    Discount Qty Step (Buy X): 0
e.    Free Shipping: For Matching items only (IMPORTANT!  If a user has multiple items in shopping cart, only the product with free shipping is free, and not everything in the cart.)
f.    Stop Further Rules Processing: No

12. Here is the important part… the rules.  Set this up like mine and you’ll be good:

a.    If ANY of these conditions are TRUE:
b.    Click the + and select the “Free Shipping” attribute you created earlier.  Then click the “…” and select it as “Yes”

13. Save attribute!
14. Edit any product you like.  ** IT MUST BE A SIMPLE PRODUCT **.  At the very bottom of the product information page when you’re under the “General” tab, there will be a Free Shipping* with a drop down box. Set the “Free Shipping” to “Yes”.  Save it.  Now act like you are buying the product you just updated and calculate shipping cost.  If ground shipping says: $0.00, it worked!

28 Comments

  • #1 by Cate on July 14th, 2009

    Quote

    Thank you, thank you, thank you, thank you, thank you!

  • #2 by Garrett on July 30th, 2009

    Quote

    Thanks, this was a very helpful post.

  • #3 by James Henry on August 14th, 2009

    Quote

    I’m glad you found the tutorial helpful!

  • #4 by philo on August 19th, 2009

    Quote

    Thanks for your post, I am not able to find “free shipping” attribute in condition, i followed all the steps..

  • #5 by philo on August 19th, 2009

    Quote

    Thank you

  • #6 by sparkybarkalot on August 20th, 2009

    Quote

    I’ve got the same issue as philo. The new attribute is not appearing in the “Please choose a condition to add” dropdown, though the attribute has for sure been created.

    Any suggestions?

  • #7 by SPIDER on August 26th, 2009

    Quote

    in ver. 1.3.2.3 of Magento you should check Use for Price Rule Conditions to Yes when U creating new attribute.

  • #8 by Tanner Hobin on August 30th, 2009

    Quote

    philo and sparkybaralot,

    I had the same issue. The option “Use for Price Rule Conditions” in the newly created attribute needs to be set to yes.

    James, your a genius. Thanks for posting.

  • #9 by Danelle on September 6th, 2009

    Quote

    Hi,

    I had the same issue after following these instructions: attribute doesn’t appear when setting the rule.

    I’m using v1.3.2.3

    To get the attribute showing in the list, I edited the ‘free_shipping’ attribute we’ve just created:

    Under ‘Attribute Information’ > ‘Properties’ tab:
    Within the ‘Frontend Properties’ box I set the ‘Use for Price Rule Conditions’ dropdown box to yes.

    Then, once back in the edit rule page, the attribute ‘Free Shipping’ appears in the conditions box under ‘price attributes’.

  • #10 by Danelle on September 6th, 2009

    Quote

    Yep works a treat – I’ve just tried this and it seems to be working fine.

    Customers can’t see that they’re getting ‘free’ shipping as such, the shipping summary at checkout shows as ‘$0.00′ if all items are set to free shipping (under ‘fixed rate’ shipping type).

  • #11 by Danelle on September 6th, 2009

    Quote

    Yep works a treat – I’ve just tried this and it seems to be working fine.

    Customers can’t see that they’re getting ‘free’ shipping as such, the shipping summary at checkout shows as ‘$0.00′ if all items are set to free shipping (under ‘fixed rate’ shipping type).

    Thanks heaps for the instructions!!

  • #12 by Chjquest on September 24th, 2009

    Quote

    OK, I know the problem you guys may engage. This solution indeed works, what you need to do is to do one more thing (I think the author forget to post this^_^):
    Go to Admin Panel, choose Catalog->Attributes->Manage Attributes, and choose the attribute you build in the beginning(here is called “Free Shipping”), click it and look for [Use for Price Rule Conditions] and choose yes, then you can see at the last step!!

    Again, thanks James for this helpful solution!

  • #13 by Chjquest on September 24th, 2009

    Quote

    BTW,
    with your permission, I would like to forward this solution to my blog and comment with the source from your blog. Thanks.

  • #14 by James Henry on September 25th, 2009

    Quote

    Looks like I need to update the tutorial! Sorry I’ve been late getting back to everyone, work has been hectic!

    philo :

    Thanks for your post, I am not able to find “free shipping” attribute in condition, i followed all the steps..

    sparkybarkalot :

    I’ve got the same issue as philo. The new attribute is not appearing in the “Please choose a condition to add” dropdown, though the attribute has for sure been created.

    Any suggestions?

    Try what Chjquest posted, that should fix it.

    SPIDER :

    in ver. 1.3.2.3 of Magento you should check Use for Price Rule Conditions to Yes when U creating new attribute.

    Thanks for helping out with some of the questions!

    Tanner Hobin :

    philo and sparkybaralot,

    I had the same issue. The option “Use for Price Rule Conditions” in the newly created attribute needs to be set to yes.

    James, your a genius. Thanks for posting.

    Lol, Thanks!

    Chjquest :

    OK, I know the problem you guys may engage. This solution indeed works, what you need to do is to do one more thing (I think the author forget to post this^_^):
    Go to Admin Panel, choose Catalog->Attributes->Manage Attributes, and choose the attribute you build in the beginning(here is called “Free Shipping”), click it and look for [Use for Price Rule Conditions] and choose yes, then you can see at the last step!!

    Again, thanks James for this helpful solution!

    I’ll have to include this in the tutorial. Thanks for helping out with answering questions and bringing it to my attention!

    Chjquest :

    BTW,
    with your permission, I would like to forward this solution to my blog and comment with the source from your blog. Thanks.

    Sure, no problem!

  • #15 by mike on September 27th, 2009

    Quote

    Is it possible to have certain items ship free? (this website)

    AND

    Orders over $75? Instead of 999999.99 use 75?

    Thanks!

  • #16 by James Henry on September 28th, 2009

    Quote

    mike :

    Is it possible to have certain items ship free? (this website)

    AND

    Orders over $75? Instead of 999999.99 use 75?

    Thanks!

    Mike, if you certain things to have free shipping AND any order over $75 to have free shipping, changing the 999999.99 to 75 should work!

  • #17 by PJ on September 30th, 2009

    Quote

    Can this work with a configurable product? Or are there any other methods someone might have thought of? I am setting up free shipping if someone orders a recurring option – the main product has configurations to ship once, or ship every 1, 2, or 3 months. Any recurring option should have free shipping.

    Thanks!
    PJ

  • #18 by ptobes on October 6th, 2009

    Quote

    Thanks!!! One note, make sure you delete any Shopping Cart Price Rules that are Free Shipping related. You may have created some before finding this post like I did.

    Also, I am having trouble getting the rule “For matching products only” to work properly. Orders with multiple products (when a subset of those are Free Shipping and the rest not) are all getting charged shipping.

    Any ideas?

    Cheers!

  • #19 by Chjquest on October 6th, 2009

    Quote

    ptobes, can you describe in detail ?
    I tried on my shopping cart, it works.
    For example, I add one Shapr AQUOS 46 inch, shipping is 64USD, add another Intel Q8200 (Free), shipping total is still 64USD.

  • #20 by Ukuhi on October 9th, 2009

    Quote

    This tutorial really helped. Thanks for the time and effort in putting it out here. Just one more thing, how can one add a “free shipping” icon on “product list” and “product view” page for products with free shipping. To be able to do this would be really the icing on the cake!!!!

  • #21 by Steve on October 13th, 2009

    Quote

    Thanks a bunch, James and commenters!

  • #22 by mattheoh on October 17th, 2009

    Quote

    Hi everybody.

    I apply the tutorial the best I could … (my english is not really perfect !)
    And I have a little problem…
    When the customer orders a product with free shipping, also appears the normal shipping (flat rate), but at 0 €.

    So finally, he has two choices :
    - Free shipping : 0€
    - Normal shipping (flat rate) : 0€

    At the end, it’s working ! but the customer could be a little bit confusing… someone would have an idea ?

    Thanks a lot.

  • #23 by Web Designer Greensboro on November 17th, 2009

    Quote

    Awesome tip….thanks so much for posting it! :)

  • #24 by Josie on December 14th, 2009

    Quote

    I tried this. Got it all up and running, but the free shipping doesn’t show up on the cart. customer still gets charged shipping

    Please advise.

  • #25 by Josie on December 14th, 2009

    Quote

    Oh Duh! Figured it out! Thank you for this!

  • #26 by Telly on December 22nd, 2009

    Quote

    thank you so much james

  • #27 by Gershon on December 29th, 2009

    Quote

    You are a pure genius thanks a lot for posting this!

  • #28 by Cassius on December 29th, 2009

    Quote

    Thanks for sharing!!!
    Now it’s gonna be easy…

    sorry for my poor english