How to Restrict Shipping to Logged-in WooCommerce Users

WooCommerce is the most famous and best e-commerce solution today. More than 30% of all the world’s online stores are based on WooCommerce.

Although WooCommerce comes with a lot of great options, there are some options we want, but WooCommerce doesn’t have them. That is why we reach for various plugins, be it for customizing our store or exporting order data, to get the options we need and which will improve our business within our online store.

One of the very useful options that WooCommerce does not have is restricting shipping to logged-in users.

It is much better for us and our business if we have logged-in users. It is easier when it comes to such users to display items similar to the ones they have seen, it is easier to track what interests them and offer similar products, and it is easier to convert logged-in visitors into customers.

There are many benefits, and one of the most important is the statistics where we can see what exactly a logged-in user is interested in, what he/she has bought so far, and which items he/she has visited. This information can help us increase sales in our online stores.

Although there are many plugins which we can use to restrict shipping to logged-in users, we will mention WooCommerce Table Rate Shipping PRO.

Restrict Shipping to Logged-in WooCommerce Users

Using WooCommerce Table Rate Shipping PRO

This great plugin contains many options which will help you to improve your business.

Some of the best options of this plugin are the ability to create advanced shipping rules based on weight, the number of items in the cart, and many other factors. You can create multiple shipping methods and give each one a unique name. There is an option to completely hide individual shipping methods, import/export shipping methods, and edit them later; you can force which shipping methods are to be used.

The option we are interested in is how to restrict shipping to logged-in users.

In the text below, we will explain how you can do this.

The first thing you need to do inside your online store is to add a shipping zone. Once you have added the shipping zone (usually your country/state) in the section where “shipping methods” are, you will see the option “Table rate pro.”

Within this option, you can create different shipping methods. You can start by creating two shipping methods, for example, “Not logged in” and “Logged in.”

If you open the “Not logged in” option, a screen will appear, and you can set the shipping options for users who are not logged in. The first thing is to click on the “Enable this” checkbox to allow this shipping method to be used.

The next thing we’re interested in is at the bottom of that screen, and those are the table rates. Here you adjust what this shipping method refers to.

You can select all products, only individual categories, individual products, and many more options. Within the field “Base Amt” enter the amount of how much you want shipping to cost for not logged-in users.

Click on “Save changes”, and this is how you create the shipping method for not logged-in users.

When a user who is not logged in to your WooCommerce online store adds an item to the cart and visits the cart, they will see the amount you entered in the “Base Amt” field in the shipping rate.

Once we have configured the “Not logged in” shipping method, it is time to configure the shipping method for logged-in users.

Click on another shipping method you created; in our case, it’s “Logged in.” The same screen as in the previous configuration will appear, but we will configure some additional options here.

First, enable this shipping method by clicking on the “Enable this” checkbox. A little below is the option “Only for logged in users”.

Check this box to activate this shipping method only for users who are logged in. At the bottom of the screen, within the “Table rates” option, adjust what this shipping method refers to and enter the price in the “Base Amt” field. The price should be lower than the one for the “Not logged in” shipping method.

Click on “Save changes”, and this way, you have configured the shipping method for logged-in users.

Now, when the user who is logged in visits the cart, they will be able to see the shipping price you have defined. However, logged-in users can see both prices inside the cart for logged-in and for not logged-in users. This problem is very easy to solve.

Reopen the “Logged in” shipping method, and the second checkbox above is “Hide other methods”. Tick that checkbox and click “Save changes”. This way, you configured logged-in users to see only shipping methods that were made for logged-in users, and you hid all other shipping methods.

When logged-in users visit the cart, they will now see only one price, and that is the price you defined within the “Base Amt” field in the “Logged in” shipping method.


WooCommerce Table Rate Shipping PRO is a paid plugin, and there are three packages you can purchase. The first is “Single-site license” and costs USD 79/year; the second package is “5 sites license” and it costs USD 149/year, and you can use it on 5 personal or client sites.

The most expensive package is the “Lifetime 100 sites license”, and costs USD 249/one time, and you can use it on 100 personal or client sites.

how to Restrict Shipping to Logged-in WooCommerce Users


Using different shipping prices for logged-in and not logged-in users has its benefits. This move will encourage users who are not logged in to create their accounts. When the user has his/her own account, it is easy to keep track of which items he/she buys, what he/she is interested in and which items he/she has visited the most.

This way, you can show related items and let users see what they want. This is the easiest way to convert visitors into customers and increase sales, which is our goal.