How to Set up WooCommerce Shipping by User Role?

Set Up WooCommerce Shipping By User Role
Author Bartosz Gajewski
Reading time:
4 minutes read

In this article, I will show you how to set up WooCommerce shipping by user role. You’ll learn how to set shipping cost for each user role and how to hide shipping methods for certain user groups. I will use the Flexible Shipping PRO plugin to carry out this tutorial.

WooCommerce’s user roles

The first step to setting the shipping cost based on user role is to understand and learn about the roles available in WooCommerce. WordPress has few user roles available by default, and WooCommerce cause two additional roles. Let’s get through all of them:

Administrator: The highest level of user with access to every option in both WordPress and WooCommerce. This role should be limited and available only to the owners of a particular website or WooCommerce store. If you have a multisite, you can also add Super Admin that can manage settings for all sites on the multisite.

Editor: In most cases, it is someone creating and managing content on the site. Editors can add, edit, and delete any posts and media. This user also has the opportunity to manage comments – moderate, edit or even delete them.

Author: A user with slightly fewer capabilities than editor. It can create all kinds of content and publish it. However, he cannot change or delete other authors’ posts, or manage comments.

Contributor: The contributor can create content, but cannot publish it himself. This allows an Editor or Administrator to review and have final control over any content created by a Contributor.

Subscriber: This role has the least number of permissions – users can only read content on your site and comment your posts. These are all users who have registered on your store. They can also edit their account with check all the orders they made.

Shop Manager: As the name suggests, such a user has the ability to manage a WooCommerce store. It has access to all WooCommerce settings and reports. So, he can edit products and change product prices.

As is usual with WordPress, you can freely edit the capabilities of individual roles, but also add new custom user roles.

Why offer WooCommerce shipping by user role?

Of course, it all depends on the type of store you run, but you might consider offering different shipping methods to different customers based on their user role. I’ll show some examples where such a solution is even a necessity.

Logged-in users: The most popular eCommerce solution involves logged-in users. This usually relies on non-logged-in users getting a worse deal, including higher shipping rates. They may also have fewer choices of available shipping methods like local pickup.

Member Only Sites: Many stores offer various types of loyalty programs or customer categorization. In this way, customers can become members of internal clubs, which entails additional benefits in the store. Typically, members get access to discounted or even free shipping options.

Role-based shipping can be a great way to reward regular customers, or convince customers to become members. In either case, you gain as an online store owner. So, it’s worth having such a tool on hand.

WooCommerce role-based shipping solution

When it comes to shipping in WooCommerce and setting the shipping cost based on the user’s role, I recommend the Flexible Shipping PRO plugin. It’s one of the best WooCommerce shipping plugin on the market. It allows you to set shipping rate by numerous conditions like weight, size, shipping class or user role. Not only that, but it also allows you to hide WooCommerce shipping methods based on that conditions.

Role based pricing of shipping is one of the new features of that plugin, and I’ll show you how to configure it step-by-step. This way, you can easily manage WooCommerce shipping method based on WooCommerce user roles.

Flexible Shipping PRO WooCommerce 89.00

The best Table Rate Shipping for WooCommerce. Period. Create shipping rules based on weight, order totals or item count.

Add to cart or View Details
100,000+ Active Installations
Last Updated: 2024-05-22
Works with WooCommerce 8.6 - 8.9.x

How to add WooCommerce shipping by user role?

First, install and activate the Flexible Shipping PRO plugin. After that, go to WooCommerce → Settings → Shipping. Then, click on the shipping zone which to you want to add the feature. I have the ‘UK’ shipping zone:

Shipping zones

Next, click the Add shipping method button:

Add shipping method

Choose the Flexible Shipping and confirm with Add shipping method button again.

Add shipping method: Flexible Shipping

Having the Flexible Shipping method added, it’s time to manage WooCommerce shipping method.

In General Settings section, you can set Method Title and Description. Below you can also change the tax settings for shipping and WooCommerce advanced free shipping

Flexible Shipping method - general settings

The most important part of the setup, however, is the rules table. The Flexible Shipping plugin is basically a table rate shipping solution, so all the conditional shipping and calculations happens in the table.

To set shipping cost based on user role, choose User Role from the available conditions:

user role condition

Then, you can choose from the user roles available in your WordPress. You can add more than one user role here. As you can see, there is also a special option – Guest, which will be applied to all not logged in users visiting your store.

available user roles

Finally, determine the shipping cost for chosen user role, and that’s basically it.

WooCommerce role-based shipping example

Let me show you this with an example. Let’s assume that for non-logged-in users, the shipping cost is $20. Logged-in users get a 50% discount, so they only pay $10. You can set the whole thing up using two rules:

WooCommerce role-based shipping example

In a similar way, you can add other shipping methods or add different shipping costs for different user groups.

Hide shipping method for not logged in users

An additional option that can be useful for your WooCommerce store is hiding shipping methods for specific user groups. I’ll show you how to do it with the example of non-logged-in users, but you can do it the same way for any user role.

In my example, the regular shipping cost is $10. It’s defined by the first rule that is basically a flat rate shipping. The second rule hides that shipping method for all non-logged-in users. The special action Hide added to this rule is responsible for this.

Hide shipping method for not logged in users

I hope my guide on how to set up WooCommerce shipping by user role will be helpful. Good luck!

Notify of
Inline Feedbacks
View all comments

Check out our case studies

Dream Home Story
Furniture shipping via WooCommerce – Dream Home’s Case Study

Learn how to configure custom shipping rules for furniture orders – from heavy and bulky to small and light.

4 minutes read
Octolize Case Study
Vitrek’s Story

Read Octolize Case Study about Vitrek – a provider of innovative global solutions for High Voltage Test and Measurement.

2 minutes read
Octolize Case Study
EnglishSpeakingMum’s Story

Read Octolize Case Study about EnglishSpeakingMum – Polish dedicated and involved parenting blogger.

2 minutes read