If you’re new to WooCommerce, you might have trouble understanding the basics of configurable shipping. Unlike some platforms, WooCommerce offers some of the most flexible and configurable shipping functionality in today’s eCommerce.
At a first glance, it can seem daunting; however we like to break shipping into three categories:
Shipping methods are a ‘type’ of shipping in the WooCommerce code base. “Flat rate”, “Free shipping” and “Local pickup” are the three Core shipping methods. Shipping methods can have multiple shipping rates related to it.
A shipping rate is what is actually shown as an option to the customer. Its a instance that is related to a shipping method (type).
Shipping classes do not do anything on their own. They’re simple ‘tags’ you can assign to products used to identify different types of (shippable) products.
Shipping zones is the main area where you can configure shipping rates. A shipping zone is an area that can be refined by country, state and postcodes. Each shipping zone can have multiple shipping options, each which will be available to the customer as an option to choose from.
First Matching Zone Priority
When a user has entered shipping details during the checkout, only the first shipping zone that matches the customers location will be used. This means only the shipping options from the first matching zone will be displayed and all other shipping zones will be discarded.
While this is most likely done for performance reasons, WooCommerce simply simply stops checking/processing other zones when it has found a shipping location that matches the customer.
For example, let’s imagine we have a shipping zone for Australia, but we want to include a range of shipping options specifically for orders in Tasmania, we would need to create a shipping zone for Tasmania and have it positioned above Australia (a higher priority).