1. January Free Plugin of the Month: EDD Sale Price
  2. February Free Plugin of the Month – WooCommerce Advanced Shipping Validation
  3. March Free Plugin of the Month: Stripe for WooCommerce
  4. April Free Plugin of the Month: Role-Based Pricing
  5. May Free Plugin of the Month: T-Shirt Designer
  6. June Free Plugin of the Month: WooCommerce Shipping Estimates
  7. July Free Plugin of the Month: Checkout Notes for Easy Digital Downloads
  8. August Free Plugin of the Month: Catalog WooCommerce Products
  9. September Free Plugin of the Month: EDD Featured Downloads
  10. October Free Plugin of the Month: Pop-up Sales Offers for WooCommerce
  11. November Free Plugin of the Month: WooCommerce Product Dependencies
  12. December Free Plugin of the Month: EDD Metrics

There are a number of customization options for shipping in WooCommerce, from selecting vendors to creating different shipping methods. One of these options is the ability to restrict shipping to entire countries. However, what if you need shipping validation based on other, more specific customer selections?

Having shipping validation rules can help you determine when checkout should be blocked for certain shipping methods. For example, you may want to block free shipping from Alaska and Hawaii for US orders, or prevent customers from choosing expedited shipping in certain states. In this case, it’s helpful to be able to set up shipping validation rules to block checkout.

Shipping validation: Advanced Shipping Validation plugin

The Advanced Shipping Validation for WooCommerce is a free plugin that gives you more options to restrict shipping regions, and prevent checkout due to other reasons.

options shipping validation

Options to prevent checkout

The plugin provides options to prevent checkout based on the items in a customer’s cart, specific location and region details, and the details of individual products. You can also create multiple shipping validation rules to suit your needs.

Since this is a free plugin available from WordPress.org, you can add the plugin through your WordPress dashboard as well.

Shipping validation: Create rules

Once you are ready to create a rule, you can select from the many options available. You can create validation based on “and” and “or” rules.

  • “And” rules are all grouped together and mean that all of the conditions have to be met for the checkout to be prevented.
  • “Or” rules mean that either group of conditions need to be met for the checkout to be prevented.
rules shipping validation

“and/or” rules can be created for validation

In this example, the checkout will be prevented if the city is selected as “Scranton” AND the shipping method is selected as “Local Delivery”, OR if the coupon code “DunderMifflin” is used. In this way, you can tackle multiple use cases where checkout should be prevented for different customers who may have a specific set of criteria.

In addition to the rules, you can also create a customized note that is displayed whenever checkout is prevented. You can create different messages for different set of rules so that they are specific to a customer’s selection.

message shipping validation

Customized validation message appears at the top of the checkout

To enhance the customer experience, in your validation note for the reason for not being able to checkout, provide customers with an alternative. Or, create a call to action that directs them towards a resolution. This can be as simple as contacting the store to discuss options. This way, customers don’t get frustrated by not knowing what it is that’s preventing them from completing their purchase, or where to go for support.

As you add products to your store, or provide shipping to more regions, you can get an overview of all the validation rules active on your store.

overview shipping validation

Overview of all validation rules active on your store

You can quickly enable or disable these validation rules through the plugin overview screen.

Shipping validation: Manage shipping

There are a number of reasons for using the plugin to manage shipping for your WooCommerce store. If you know certain products require special handling or cannot be shipped to certain locations, even though you may make it clear in the copy of your website, some people may still purchase them.

In such cases, it creates added work for you to cancel the order, refund the money, reset the inventory, and provide and explanation to a now-angry customer. It is much easier to stop checkout before the order is put through.

Here are some reasons why shipping to certain regions may be an issue:

Shipping restrictions on certain products

Certain products have restrictions on being shipped within countries, or across borders. Firearms, gasoline, alcohol, perfume, drugs, etc., are examples of products that you may not be able to ship to all regions or countries. In such cases, you can prevent checkout if standard shipping is selected. Instead, you can provide shipping for local or in-person delivery options.

You should check local laws to see if certain items are deemed hazardous or have restrictions. Couriers also have materials that they deem hazardous and have shipping restrictions. Here are shipping restrictions for USPS and Canada Post.

Shipping costs

There may be cases where shipping of certain products eats into your profit margins due to the high cost of shipping. This is especially true if your store offers free shipping above a certain threshold of order value. If there is an item for which shipping costs are very high, you may be better served by offloading this cost entirely on to the customer.

Specialized shipping

Some items in your store may need special shipping. These can be oversized, fragile, or heavy items that need special instructions for delivery. For example, if you typically sell keyboards (the musical instrument kind), and you add a full sized piano to your products, you will probably need specialized shipping instructions to deliver to a Manhattan apartment on the 28th floor.

Inventory management

There may be cases where you don’t want to sell an item if the stock is low. For example, if you have the same product on your online store, and also sell it at a retail location, or to a distributer, you may need to stop shipping it from your online store to make sure it is available in other channels. Or, if there is typically a lag in your inventory numbers being updated based on the distribution from the warehouse, you may want to prevent selling items that are actually out of stock.

You can also prevent checkout if an item is out of stock to avoid customers having to wait longer than they expected.

Shipping validation: Summary

If left unchecked, shipping can become a huge drain on your business. Poorly managed shipping can cost your business by chipping away at the profit margins. Shipping can also determine the type of experience your customers have with your brand. Customers can have a negative experience if they end up paying too much, are offered very few shipping options, or get shipping denied to them after they’ve checked out and paid due to shipping restrictions. Even if you refund the money, that is extra time and effort that could’ve been spent running your business.

You can prevent people from completing their checkout based on their cart details, location and user details, and products in their cart. Use the free Advanced Shipping Validation for WooCommerce plugin by Jeroen Sormani to create these shipping validation rules. (We covered the WooCommerce Advanced Free Shipping plugin by Jeroen in a previous post.)

Are there other shipping rules you use? How do you use them? Tell us in the comments below.

Posted by Jai Sangha

Jai is a regular contributor to Sell with WP, and helps merchants improve their WordPress eCommerce businesses with plugin reviews, marketing or customer service tips, and tutorials.


  1. Thank you for this great write-up Jai!

    1. Thanks Jeroen!

Comments are closed.