How To Setup WooCommerce Country Based Shipping
This documentation is for the WooCommerce Advanced Shipping plugin.
Setting up a shipping method
One of the many conditions of the WooCommerce Advanced Shipping plugin is to setup conditions based on country. First create a new shipping method by going to WooCommerce -> Settings -> Shipping -> Advanced Shipping. Here you will see a overview table with all you existing Advanced Shipping methods. At the bottom of that table you will see a button 'Add Advanced Shipping Method'.
Country based shipping conditions
If you've created a new shipping method you will see three drop downs fields on the page. The first one is for the condition, this needs to be set to 'Country'.
After selecting the country condition, the value field will be changed to a drop down field with all the available countries for your webshop. Note that this only contains the countries that are available as 'selling locations'.
Setup multiple countries
There cannot be two country condition with the 'equal to' operator
If you want to allow a shipping method to multiple countries, it is not possible to set multiple 'Country' - 'Equal to' conditions. This is because if you do, you are telling the system that the customer ordering must be in Country X AND in Country Y, which of course isn't possible.
To work around this there are two options;
Create different condition groups
Within the plugin there is a great option to create different condition groups within one shipping method. If all conditions within either one of those condition groups are matching, the shipping method will be available. For example, you can do the following to allow the same shipping method to either of the three countries.
This is not possible
Creating a Shipping zone allows you to set multiple countries within one field. This way you can group a bunch of countries, for example all west-european countries. That way you only have to select all the countries once, and use that within a shipping condition.
The second option is probably better if you want to ship to multiple countries with the same conditions, and you have a lot of conditions. With the first method you'd have to re-apply all those conditions to all condition groups.
Shipping zones are not available by default in the plugin itself. I made this decision because the vast majority of the plugin users will not use this feature. For that reason I've created a separate extension from it. You can read more about this extension and how to get it over at the WooCommerce Shipping Zones doc.
Excluding countries from a shipping method
You can exclude specific countries from a shipping method by setting a 'country' - 'not equal to' condition. You can set multiple of these conditions within one shipping method.
Combining country conditions
You can set different combinations of conditions with for country based shipping. Depending on your needs you can set weight, subtotal, quantity, width/height/length or any other condition. Below are a couple of example shipping methods