How To Restrict Shipping Destinations For Some Products

It’s straightforward to restrict shipping destinations in WooCommerce. All you need to do is to specify the countries to which you ship, or even the states or counties within those countries. And for countries to which you do not ship, you simply do not set up a shipping option. Then when the customer looks in the list of destination countries, they see whether their country is listed.

It is also straightforward to restrict shipping destinations in WooCommerce for some products but not for others. You simply create a shipping class for that range of products and list the restricted list of countries to which you ship.

But beware how WooCommerce behaves at checkout when you mix products that have different shipping restrictions.

The reason I looked into any of this is that we ship most of our products to a whole range of countries. But currently we only ship our mounted prints within the UK.

The Shipping Cost Problem Illustrated

Let’s suppose you sell some products to a lot of countries and some products only with your home country. You might want to do this for bulky or fragile items, for example. You don’t want to be responsible for shipping bulky or fragile items to the other side of the world. At the same time, you are happy to ship small items to the other side of the world.

Suppose the bulky or fragile items are expensive to ship. Or for whatever reason, you don’t want to ship them outside your home country. This pepper in a bowl mounted print will serve as an example, and let’s say you have a complete range of mounted prints that you don’t want to ship outside your home country.

Red Pepper Print

You add them to your catalogue and you set up shipping costs for for your home country. And because you are not going to ship outside your home country, you do not set up shipping costs for that item for any other countries.

Let’s test how it works. You add that item to the basket and you say you are a customer in another country. What will happen is that the checkout will flag that it does not have a shipping option for that country. That’s expected behaviour and it’s what we would want.

But now you also add a low-value product that you do ship to many countries to the basket. Then WooCommerce will override the ‘home country’ rule and charge shipping based on the products that you do ship abroad. That is definitely not what you want, not least because you will be charging shipping based on the cost to ship that low-value item.

Solutions To Restrict Shipping Destinations For Some Products Only

There are two or three ways to solve it.

One way, and probably the least satisfactory way, is to set up shipping costs for all countries you ship your other products to. And you make the shipping costs so high that no one from another country will buy the product. They get all the way to the checkout or the basket and then find out that shipping to their country is astronomical. It’s a solution that’s almost guaranteed to make customers unhappy.

And what happens if there is a problem with the product and the customer wants to return it. Then the customer finds out that the cost of shipping back is a fraction of the cost you charged to ship the product. Now that customer is going to be doubly unhappy. So while this is a solution of sorts, it’s not a particularly good solution.

Another solution if you can code is that you can write the code to deal with it, but many people don’t have developer skills.

And that leaves the third solution, which is to use the WooCommerce Advanced Shipping Packages extension. It’s not expensive at $49 per year plus tax.

The lesson though, is that you have to test in order to see how the cart and the checkout works with mixed products with different shipping restrictions. WooCommerce wasn’t able to handle this scenario out of the box and if I hadn’t tested I might have found out when a customer chose options that triggered that behaviour.


About The Blog

The Flying Twigs blog is about several topics, closely related. One recurring topic is what we call 'Behind the cards'.

Behind The Cards

Our Behind the cards articles are where we write about the thinking that went into a particular card. A card should speak for itself and its message and emotional content should be clear. That said, there is always a back story. It might be where we were when we took a photograph that features in the greeting card. Or it might be a design, a colour palette, or the typography that gets the message across.

How To Write

The How To Write articles are about how to write the message in your card. It's for when you need help planing how you are going to write a card. A good example is a Leaving Card to a colleaue at work. You may be close to that person or not so close. And you may see them every day and wonder what you can write when you and your colleague have said so much already. That's where our advice comes in.

Or you might want to write a sympathy card to a friend or a relative. You may be casting about for ideas and not know what to write. Our How To Write articles have you covered.


Design is another topic we cover, such as an article about dazzle camouflage in World War I warships and in herds (or dazzles) of zebra.

Item added to cart.
0 items - £0.00