WooCommerce – How to Understand User Roles and Capabilities (with video)

WooCommerce user roles

Last updated - February 24, 2020

This article is part of the User Management Guide:


On your WordPress site, there are different roles and capabilities assigned to users. This is to give the site owner control over who can access what on the site. Accordingly, different aspects of the site are assigned to different users based on the site owner’s discretion. This article gives you a fundamental idea of WooCommerce user roles and the capabilities of each. Read our other article to understand the capabilities of WooCommerce better.

Additional User Roles in WooCommerce

First, when you install WooCommerce, it registers two additional user roles. These are:

  • Shop Manager
  • Customer

Furthermore, it gives additional capabilities for the Administrator to:

  • Manage WooCommerce Settings
  • View WooCommerce Reports

Now let’s look into the two specific roles for WooCommerce.

Customer Role

Any user who registers using the checkout or signup option is defined as a customer on your site. Presently, the capabilities of the customer role are as follows:

  • Have read access, similar to a blog subscriber
  • Can view orders and order history
  • Is able to edit own account details

Shop Manager Role

If you hire someone to manage your store, you have to give them access to your site’s back end. This is where the Shop Manager role comes into the picture. This role has the same capabilities as customer role, along with the option to edit WooCommerce settings and products. In addition, this role is capable to view WooCommerce reports as well. The shop manager role is actually similar to the Editor role in WordPress.

Existing User Roles in WordPress

WordPress defines user roles as below:

  • Administrator
  • Editor
  • Author
  • Contributor
  • Subscriber


Admins have complete access to all administration aspects of the site. Some of the unique capabilities that define admin role include deleting other user’s pages and posts, updating the core, creating and deleting users, etc. Moreover, administrators can add, delete and manage plugins and themes on the site. And, the administrators will also have the freedom to modify the details of other users, including passwords. Basically, you can restrict giving administrator access to only site owners, and only trustworthy people who can have complete control over your site.

In multi-sites, there is a user role known as Super Admin. This role has all capabilities by default. However, in a single site, the administrator role is equivalent to super admin.


An editor role allows you to get access and editing rights to other users’ posts. Editor role would be best for the person who is managing the blogs and other posts on your site. Basically, the Editor role is concerned only with the content aspect of your site. Those with Editor role can edit or delete any posts on your site. In addition, they can moderate, edit and delete comments on the site as well.


Authors can create and publish their own posts. However, this role won’t have access to other people’s posts. They can also delete their posts if needed. Also, those with Author role won’t be able to create new categories. However, they can use the existing categories on your site, and create new tags. Also, those with Author role cannot moderate or delete comments on your site, even though they can view them. Similarly, they won’t have access to plugins and themes on your site.


A contributor is a user who can write and edit posts on your site. But these users won’t be able to publish posts. Hence, an Editor has to review and publish the posts written by Authors. This is exceptionally useful when you employ freelance writers to generate content for your site. However, one disadvantage is that those with Contributor roles cannot upload files to your site. And as seen above Contributor role won’t have access to plugins, themes, or other users’ posts.


Those in Subscriber role has only read access on your site. In addition, they can manage their own profiles on the site, such as user information and password. Other than that, they can only read posts and leave comments on your site. You may find it useful if your site strategy requires users to sign in to reading blog posts.

Watch the below video to understand WooCommerce user roles better.

Plugins modifying WooCommerce user roles (Free)

There are no inbuilt features in WooCommerce to modify or create a user role. However, you can get the help of a suitable plugin for this functionality. To help you with it, here’s a list of plugins that you can use:

  • Capability Manager Enhanced – Using this plugin, you can modify the capabilities of specific roles, create new roles, copy the already-existing roles to new ones, and add additional capabilities to existing roles.
  • Groups – This is a group-based user role management plugin that supports unlimited groups. Also, users can be assigned to any groups.
  • Members – With this plugin, you can create roles and capabilities. In addition, you can give multiple roles to the same user, or deny specific capabilities to a particular user.

Did you know you can structure your WooCommerce store based on user roles? Learn more!

Plugins modifying WooCommerce user roles (Premium)

WooCommerce user roles offer great possibilities to create varied pricing models for your store. You will find quite a few premium WooCommerce plugins to set up pricing strategies on your store.

ELEX WooCommerce Catalog Mode, Wholesale and Role Based Pricing

With the help of this plugin, you can create different pricing plans for various user roles on your WooCommerce store. It also helps to disable the eCommerce capability and simply run the site in catalog mode. The plugin also offers an option to create custom user roles on your WooCommerce. You can make use of the newly created user roles as well as the existing roles to create different pricing plans and price adjustments. This way, you can create completely new pricing strategies such as wholesale pricing and layered pricing. In addition, the plugin helps you to hide ‘Add to Cart’ button, or customize the text for it. And, if you simply want to provide discounts to some of your loyal customers, you can totally do that too.

This plugin offers a comprehensive solution for a multi-tier pricing strategy based on user roles.

Visit the plugin page.

Prices by User Role

This plugin extends WooCommerce to add role-based pricing functionality to WooCommerce. You can offer discounts or markups to specific customer groups, or display completely different prices based on roles. This plugin helps in hiding the ‘Add to Cart’ button too. Similarly, you can even hide product prices from unregistered users, if it makes sense to your store strategy. Please note, this plugin won’t work well with other plugins that alter the way variations work on WooCommerce. You can check the product page to find the list of incompatible plugins and themes.

Visit the plugin page.

YITH WooCommerce Role Based Prices

If you are selling wholesale on your WooCommerce store, chances are you want to give a different rate to different buyers. This plugin would help you display the right price for the right user without hassles. However, please note you won’t be able to use this plugin to create new user roles. However, you can use one of the free plugins discussed above for that and use this plugin to set role specific pricing.

With the help of this plugin, you can create specific rules for each user role. Also, you can choose to apply these rules to all your products, or only to certain products or categories. In addition, you will be able to easily manage discounts or markups on products and combine multiple rules. Moreover, the plugin gives you the flexibility to show multiple prices for the same product, like a regular, on-sale, or user-based price. And, if none of the prices are displayed to a particular user, you can show a custom message explaining the reason.

Visit the plugin page.

YITH Automatic Role Change

Now, you have seen a few plugins that would help you create varied pricing plans according to specific user roles. However, there is another aspect to consider here. How do you assign specific user roles to customers? Here is a plugin that would help you automatically assign user roles to customers based on different criteria that you specify. With the help of this plugin, you can create several rules that would determine which user role should be assigned to a customer after purchase. And, it will automatically assign these roles to customers as you specify.

Moreover, you can choose several criteria to decide how to assign user roles to customers. For example, you can specify the purchase of a certain product, or a certain order amount to assign a specific user role. Also, you can specify a time schedule to determine how long a particular role will be valid. An added advantage of this plugin is that it will use the default WordPress and WooCommerce user roles, as well as the ones created by plugins like Members.

Visit the plugin page.

WooCommerce Pricing Plugin for Customers, Groups and User Roles

This plugin helps you set category based pricing specific to customers, groups and user roles. In addition, you can give various discounts to customers based on flat rates or percentage value that you specify. Also, it helps you import and export prices and saves you from a lot of manual efforts. Moreover, it helps you add multiple user-price combinations without limits. And, the first rule in the list will apply in such a scenario.

Visit the plugin page.


User roles in WordPress help in providing a stable structure and organization to varied users of your site. Moreover, it helps you create selective access to your site’s content. And, when it comes to WooCommerce, user roles provide more scope in creating layered pricing and wholesale pricing. This article has attempted to provide more clarity regarding various user roles and their potential applications. Also, you must have got an idea regarding some of the plugins that would help you effectively use WooCommerce user roles.


  1. Hi, I want the shop manager to be able to change the prices of all products but not the website design or front page … essentially just the shop , is this the default or will I have to make any changes, thanks

  2. I want to tag a customer so I know they are a “beta user” this way I will know they get special discounts because they signed up early and supported me from the beginning.

    How do I segment/tag them so I know who they are?