If you want a specific product to ship, for free, and to be able to restrict where that product will ship to for free, you can do that by manipulating Product Weight.
Please note: Manipulating a Product's weight setting will only directly effect shipping rates for Live Rates or other rates that return based on live information. It does effect which Flat Rates are eligible for selection but will not change the price of shipping unless the rate is set up to charge per pound.
Let's run through an example.
I have a specific product that I want to have ship for free, but I want to be able to limit where in the world that it ships for free. For this example we'll use product code articletest from my store. In the image below, you will see that when I created the product, I set it as a weight of 15 pounds.
So now to set this product to be eligible for the shipping method that I'm going to create, we need to set it's weight to something a little bit ridiculous. Let's set it to 4000.
To do this, I navigate to Inventory>Products, and doing a search for the product code (in this case articletest) and when the search returns that product, I click on its product code to go into the product page to edit it.
Then in the Weight field, I will replace the existing 15 with 4000, and then click Save.
After that, all that remains is to set up the shipping method. To do this we will go to Settings>Shipping. Scroll down to Flat Rates and click Add Rate.
Then we will be on the page to edit the rate. For this method, I will give it a label naming it something pertaining to the product that it is going to be free shipping for. Remember that this field has a limit of 55 characters including spaces.
Since my the name for the product is "Limited Free Shipping TEST" I will name this rate "Limited Free Shipping"
Since I want the shipping to cost my customers nothing, I will set the base rate as 0 and leave the cost per lb box blank.
Then I will enable the method by clicking on the Active Check-box so that a check appears in it.
Then for the Qualifying Locations section, I will click the checkbox labeled "Change Ship To locations for this method" so that my method does not use the default shipping locations I have configured on my main Shipping page.
I want this product to ship free within the continental United States, and to exclude Alaska and Hawaii. Therefore, I will start typing United States into the Include box. Then I will move to the Exclude box and type in Alaska and Hawaii.
When you start typing in these fields, a menu should pop-up trying to match what you're typing with a name of a country. This feature can be useful if you're not certain how to spell the name of a specific country.
Please note, that if you wish to use the same settings as are listed on the top of your Settings>Shipping page, you do not need to enable the check-box or do anything else on this section.
In the Qualifying Orders section you can set the lower and upper limits on weight and price ranges for orders that you want to be eligible for this shipping method. Since I want to limit this method to the product articletest, I will set the minimum field under Weight Range to 4000.
With this setup, only orders that the system sees as being 4000 lbs or more will be able to select this method for shipping. Any order that meets the qualifications set will be allowed to pick this shipping method.
If you wish to limit this shipping method to orders that only order this particular item and nothing else, you can add a maximum weight as well. For this I will set the maximum weight as 4001 pounds. Click the Save button at the top right.
This will set it so that only orders between 4000 and 4001 lbs will be eligible for this shipping method.
The possible problem with this is that if the majority of your shipping methods are Live Rates, or Flat Rates that have a cost per pound set up, then the rates for those methods while a customer has this product in their cart, will be inaccurate.
For this reason, it is best to have other shipping methods set up if you choose to use this solution.
Let's say this Product is included in the customers cart, along with several other items, but when they are on the check out page, they don't get any options for shipping. Here are a few things to try:
-Try to get the exact products and quantity from the customer, and the address they are using for shipping
-Go to your store front, preferably while not logged in to your Admin account, or in an Incognito or Private Browser Window. Add the same amount of the same products to your cart and check to see if you can replicate the issue
-If you're able to replicate the issue, then check the weight of each product in the cart. If the total exceeds the maximum weight value you set up for all of your shipping methods, then the order won't be eligible for any shipping methods.
-If you're not able to replicate, then check the customer's shipping address. Is it in one of the regions that are excluded for this shipping method? If so then they won't be able to select this method.