How to add free shipping magento only for specific categories

5.4k Views Asked by At

I want to be able to offer free shipping for products in most categories and I have this part working. My problem is, I don't want to offer free shipping for certain categories because they require truck freight and it's quite expensive. I cannot figure out how to correctly configure the shopping cart price rule so that free shipping is only applied to to the correct categories and not to all.

This is what I have so far: If ALL of these conditions are TRUE :

If total amount  equals or greater than  200  for a subselection of items in cart matching ALL  of these conditions:
    Category  is  150, 176, 185, 178, 157, 140, ... 
    Category  is not one of  180, 327, 347, 331, 341, 352, ...  

I just need help figuring how to configure the rule so that I achieve the desired result.

2

There are 2 best solutions below

2
On

One major mistake you did within your rule is use the category definer "is" as opposed to "is one of" by saying "is" you are saying that there has to be a product from every one of the categories in the following list for the rule to apply. Hope the below helps

It's pretty simple,

Create a new rule: Under the Conditions tab

Here you are restricting the categories that are excluded from free shipping

Here is what I did. I do not want to allow free shipping on category 10, however I wanted to allow free shipping on categories 30 and 19.

Now by setting "For Matching Items Only" that means free shipping only applies to categories 30 and 19.. Say I add an item from each categories 30 and 19 my shipping cost will be $ say I add an item from category 20.. This category is not defined in the rule. Because I selected "for matching items only" The weight of 30 and 19 will not be calculated into shipping and the cost of shipping will be based solely on the weight of item 20.

Next scenario, Say I add an item from 30 and 19, I apply the coupon "freeship" It works, now because of my rule. Say I add an item from category 10. Because I told Magento in the conditionals tab to ignore the rule if it finds this. Free ship is no longer valid on the entire cart. Hope this helps Below are a few screen shots for setup enter image description here

1.) Conditions Tab

Here I am stating the categories that free shipping applies to. 2.) enter image description here

0
On

I achieved this by adding an attribute. For products that are exempt from free shipping, I set that attribute to "Yes" and for all others I don't care as long as it isn't "Yes"

Then I add a shipping restriction for that attribute.

Shipping restrictions is provided in Community Edition by this extension which currently costs $99:

http://amasty.com/shipping-restrictions.html

Disclaimer: I'm not employed or compensated by Amasty in any way. We (the company I work for) use this extension and I can say that it works well.