WooCommerce gives merchants basic set up options for shipping rates so that merchants can get going with some flat rates offered to customers without the need for further customization.
WooCommerce 2.6 added even more to the basic shipping options, ensuring you could configure rates for regular shipping, expedited shipping, or free shipping based on where the customer is located by letting you add more than one flat rate method.
However, this doesn’t let you limit rate availability based on something other than customer location. While you can add multiple rates, you can’t control when these rates or show, or to whom they’re made available.
To add multiple flat rates with additional parameters, limits, or rules, you can use Advanced Flat Rate Shipping Method for WooCommerce from DotStore to add more flat rates, while also restricting the availability of these rates.
Advanced Flat Rate Shipping Method for WooCommerce will allow merchants to limit rates based on customer location (as WooCommerce core does), but it also can make this feature available to stores running WooCommerce 2.4 or 2.5 as well.
However, the most powerful features are the other customization options for rates: product rules, order rules, and user rules. These will let you determine when to make certain shipping rates available, letting you consider:
- certain users or roles
- cart details like total value or total weight
- whether certain products, categories, or tags are in the cart
These can let you create flexible systems of shipping rules to offer different rates to different customers or for different orders. Here’s a full set of conditions you can leverage for your shipping rate availability:
||Enable or expire on a specific date||
The first thing I’d recommend doing would be to set up the shipping zones you’d like to use, if any. These are similar to the core Shipping Zones available in WooCommerce 2.6+, and will help you limit certain rates to particular areas.
I would have liked to see the plugin leverage the core WooCommerce shipping zones instead of creating its own, but this was built originally before WooCommerce added zones, and it lets the plugin remain compatible with lower WooCommerce versions for now. DotStore aims to use the core zones in an upcoming release.
Setting up zones shouldn’t be too time consuming for most stores, so you could probably replicate any zones you have set up in WooCommerce itself.
To add a zone, click “Add Shipping Zone” from the “Manage Shipping Zones” section, and determine where this zone applies:
You’ll be able to add multiple zones if needed. Note that there’s no “Rest of the World” zone by default in Advanced Flat Rate Shipping Method for WooCommerce, so either you’ll need to have a zone that applies to all countries as a fallback, or you could leverage the WooCommerce zones alongside of Advanced Flat Rate Shipping Method.
I liked using the WooCommerce free shipping rates to keep them tied more tightly to coupons even though you could do this with either WooCommerce or this plugin.
Once your zones are set up, you can now set up some rates, using these zones, locations, or other parameters to limit rate availability for your customers.
While WooCommerce 2.6+ will let you set up location-based flat rates, Advanced Flat Rate Shipping Method rates will let you add other parameters aside from zone or location, such as product data, order data, or user information.
This can let you create WooCommerce VIP shipping, offer reduced shipping rates for meeting order thresholds, or limit shipping rates by product (without having to try to muck around with shipping classes).
When creating a rate, you can give it a name, cost, and other information, such as whether or not it’s taxable, only available during certain dates (great for sales or holiday season), and additional information like delivery estimate.
Your costs can also leverage the cost shortcodes found in WooCommerce core if needed:
[qty]= number of items
[cost]= cost of items
[fee percent="10" min_fee="20"]= Percentage-based fee
Once you’ve added basic data, you can also limit your rate to certain customers, products, or orders. Rates can leverage location restrictions based on your configured zones, or use certain countries, states, or postcodes.
If you want to limit a shipping method based on certain products, you can do so by requiring some products, categories, tags, or SKUs to be present in the cart.
I’m not 100% sure when you’d use a SKU-based rule over a product one since WooCommerce forces SKUs to be unique, but I could a system in which products are “retired” and replaced (using the same SKU) perhaps leveraging this.
User-based rules are also available, letting you give out certain shipping rates as a benefit to certain customers, such as active subscribers, or your best customers to improve loyalty.
Finally, cart / order details can influence rate availability as well. You can make some rates available for certain coupons, which would allow you to do a free shipping coupon.
You can also account for order values, cart quantities, or cart weight using less than, greater than, or between operators to set up your limits.
Once you’ve configured rules for a particular rate, you can save it, and it’s now ready to be used! Finish adding all flat rates you need, and you’re ready to adjust display settings.
Finally, we can move onto settings for what your customer will see. The “Master Settings” will affect display on the frontend, so you may want to determine what to do when multiple rates are available, as there are a few choices:
- Allow Customer to Choose will present all shipping choices to your customer to allow them to pick which method they’d like.
- Apply Highest will automatically apply the most expensive shipping rate available without offering shipping choices.
- Apply Smallest will do the opposite: it will apply the lowest available shipping rate automatically.
- Force all shipping methods will charge the sum of all available methods for shipping.
This lets you determine what your customer sees, and can simplify shipping choices if need be. For example, if you wanted to automatically choose the lowest rate for the customer, you can use “Apply Smallest” to cut out the shipping choice completely. “Force all methods” would let you total the methods in the cart, useful if you want a per-product shipping charge approach.
You can also show shipping rates as a dropdown or as a radio button (an option that was removed from WooCommerce in version 2.5) by adjusting the display settings.
This would let you bring back a dropdown selector if desired. I’m not a huge fan of this set up and prefer radio buttons, but it can be useful if you have a lot of choices for shipping (though that’s another point to consider 😉 ).
If you’ve added tooltips to a shipping method, these will also be shown to customers on the cart page and at checkout to provide more details about the shipping method.
That’s all it takes! You can set up as many rates as you’d like limited by location, product, order details, and user information. Let’s take a look at a few example set ups you could create with this increased control over WooCommerce shipping rate availability.
Want to reward your best customers to keep them loyal to your store? You can do so by providing them with free or reduced shipping costs as a thank you for purchasing from your store.
To do so, you’d set up a user-based rate restriction:
For example, if you use WooCommerce Subscriptions, you can provide reduced shipping rates for your active subscriber role as a perk for signing up for a recurring plan.
If you want to set up WooCommerce VIP shipping, I’d recommend doing the following:
- Whatever your “regular” / default rates are, be sure to add a user restriction for “Specific User Role” > “Not In”, and select the roles you’ll give VIP rates to. This way, subscribers won’t see multiple rates to choose, only the VIP ones.
- For your VIP customers, create the opposite rule: “Specific User Role” > “In”, then select the same roles. These customers will get the special rates for shipping automatically when signed in.
This will let you offer benefits for certain customers or customer roles, making it more compelling to subscribe to your site.
One of the best ways to increase your average order value is to use incentivized order thresholds. Typically you’ll see these as “Orders over $50 get free shipping!” or something similar.
These can be great drivers of higher order values, but you may not be able to afford free shipping, or you may want to incentivize lower thresholds, especially if you have a fairly low average order value to begin with.
If so, you could offer reduced shipping for meeting certain thresholds, ie “Orders over $60 get reduced shipping!” You could also combine the two concepts to offer reduced 2-day or expedited shipping in addition to free ground shipping.
To do this, be sure your regular or default rates are scoped to less than your threshold amount so they don’t show up for all customers.
Then, add new rates for orders over this amount, and do the opposite rule: orders greater than your threshold. In my case, I set up the following:
- US Ground: (orders < $60) $4.99
- Expedited: (orders < $60) $8.99
- Free ground shipping: (orders > $60) $0 (I used WooCommerce core for this, but you could use an Advanced Flat Rate also)
- Discount Expedited Shipping: (orders > $60) $3.99
Now when I have an order of less than $60, my regular ground and expedited rates are shown:
While at over $60, my WooCommerce shipping incentives kick in, giving higher order amounts reduced shipping costs (or free shipping).
Want to inform customers of these rates? Something like Cart Notices can help you add information for customers to know these discounted rates are available.
Have some particularly heavy items in your store that require expensive shipping? You can set up weight-based rate limits as well. We’d basically be doing the same thing as we did in our example above to create WooCommerce heavy item shipping rates:
- Set up default rates for weights under your weight threshold
- Set up “heavy” item rates for a weight over your threshold.
You could even scope this to certain products or categories if one product wouldn’t cause increased shipping, but multiples of the product would (since it will use your overall cart rate).
For a final example, the rules available in Advanced Flat Rate Shipping Method could let you create WooCommerce holiday shipping rates, as you could offer expedited shipping for your country around holiday seasons, encouraging customers to purchase on a deadline to get an order on-time.
This can be useful especially around Christmas-time, as you can offer a rate for only a selected date window, guaranteeing holiday arrival for customers with that rate.
To set up a holiday rate, we’ll use the start / end dates for the rate, along with location-based rules.
First, add the dates during which your rate should be available:
Next, you probably can’t offer this guaranteed rate to all customers. Ensure you limited by certain shipping zones, or by location. You can limit by country, state / province, or even certain postcodes. This way, you don’t offer a guaranteed rate to a customer if they’re not in an area you can get guaranteed delivery for.
Now this rate will only be available before the holiday, and within your defined locations, helping you create a sense of urgency to drive purchases around holidays.
If you’re not sure if the plugin is for you, you can give the free demo a try to see it in action, or see the lite version on WordPress.org which has a limited set of some of the featured offered by Advanced Flat Rate Shipping Method for WooCommerce (and over 1000 installs).
There’s also ample documentation available to help you get set up if you opt for the pro plugin right away.
I liked that Advanced Flat Rate Shipping Method for WooCommerce let me set up product-based restrictions, including using categories or tags, as this helps you limit shipping methods and completely exclude certain items from certain methods with little effort.
I especially liked the order details limits and the user-based limits for flat rates, as these give you a lot of flexibility in offering some rates to certain customers. For example, having order limits lets you set up discounted rates for higher order values, or even offer tiered rates based on order value.
User limits helped me create a WooCommerce VIP shipping system to reward some of my customers, either individually or based on their role with my store.
In terms of negatives, I wasn’t crazy about the plugin overriding some core WooCommerce cart functions or the cart template. As such, you’ll definitely want to keep this plugin up-to-date, as these parts of WooCommerce are often subject to change, and this plugin would need to ensure it remains compatible.
I would have liked to see it leverage WooCommerce shipping zones, as I mentioned previously, but I can understand that trying to support lower WooCommerce versions may make this a bit more challenging to do (as you’d have to conditionally implement 2 separate shipping zone approaches). It sounds like this is coming soon though.
However, none of these downsides affected functionality, and I was able to do some really advanced set up for my flat rates for several kinds of products and customers.
Advanced Flat Rate Shipping Method for WooCommerce can give merchants some neat tools for adding several flat rates and for customizing shipping rate availability based on a number of parameters. You can pick up the plugin for $49: