Site icon WP Reset

How to Restrict Shipping to Logged-In Users in WooCommerce: Make Visitors Register and Reap the Benefits

How to Restrict Shipping to Logged-In Users in WooCommerce: Make Visitors Register and Reap the Benefits

Anyone who’s ever been a part of a supply and/or delivery chain will attest to the grueling droll that is the logistics game. This year has been especially tough on all those involved, from manufacturers, distributors, and transporters to, ultimately, the customers themselves. It seems like everything is constantly behind schedule, no matter what’s going on. Add to that an increase in transport costs, both local and international, on a global scale, and the issues just mount.

If you’re running an eCommerce business that, among other things, handles shipping as well, why shouldn’t you offer multiple tiers of the service – in speed, or cost, or both.

We’ll be focusing on the cost aspect of the whole process, more specifically, how to restrict your shipping options to only logged-in users, or alternatively, how to give logged-in users special discounts compared to guest customers. All of this can be achieved rather easily by using just one plugin (assuming you’re running your store through WooCommerce) – WooCommerce Table Rate Shipping.

The benefits of registration

More and more eCommerce businesses, be it outright stores or subscription-based service providers, are going the way forum sites did a decade ago – requiring you to register. The reasons behind this practice are too numerous to mention, but among everything, probably the most noticeable is the abundance of data you get from registered users compared to non-registered ones.

Having data regarding their spending habits, product preferences, locations, etc., helps immensely when deciding in which direction to go with your site. It then stands to reason you would offer your registered users certain benefits and promote that in order to get even more people to register, especially if there aren’t any fees, i.e., the registration is free and doesn’t require anything more from the user than filling out a short form.

Logged-in vs. guests

Assuming you’ve decided to give different conditions to logged-in users and guests regarding shipping, it’s time to find out how to implement it. With WooCommerce Table Rate Shipping, all that’s required are a few inputs, some clicks, and a couple of checked boxes.

Before going through the restrictions process, you’ll first need to set up a shipping zone which can be done within WordPress regardless of this plugin that simply elevates your options for said shipping zone.

Once the shipping zone is created, you’ll need to navigate to the shipping method section, where you then enable the table rate and all the added functions that come with it.

Within the designated shipping method, you’ll want to make two options. You can name them any way you like, but, just for clarity, we’ve gone with “Logged in only” and “Not logged in”. Make sure that both methods are enabled for the function to take effect on the frontend. Alternatively, if you want to completely disable shipping services for guests, you’ll either disable the “Not logged in” method or skip creating it in the first place.

While we do recommend providing registered users with benefits for registering, we don’t recommend limiting functions for guest users. A general rule of thumb is to always go the positive route (discounts, additional features, reward and/or loyalty system, etc.) instead of taking away key features, i.e., the user-friendly approach.

Now, these two methods, in essence, represent a set of rules that are activated once a user reaches your site and fulfills a condition (in this case, a “logged in”/”not logged in” status). By expanding each of the shipping methods, we access those rules and are able to change them.

In our case, we’ll be making separate shipping costs for logged-in users and guests, so the process is extremely simple. The table rates section is where we’ll choose all our products, set the base amount for our shipping cost, and optionally insert the label “logged in” (this is simply a note which you can use to help out if you’re enabling a larger number of rules).

To finish up, just check the box labeled “Only for Logged in users”, and you’re all set. Keep in mind that this is just a basic example of a fixed shipping rate for all products in the database. You can do wonders with specific classes of products having different rates, special rates for cumulative amounts, and much more.

On the other hand, you got your “Not Logged in” method that, when extended, has the exact same interface, but you’ll insert different values. In our case, that just means a higher base amount/cost, a different label, and, naturally, not ticking the box “Only for Logged in Users”.

Other changes can be made within the table rates in the same way as before – special rates for different classes of products, total cost, etc.

Presentation

You’ve done everything from the backend function-wise, but now you’ll need to figure out how you want it to look on the frontend. Without making any changes logged-in users will be able to see both methods and choose which one of them they want by viewing their cart, while guests will only be able to see the “Not Logged in” method and therefore have no option to choose from.

If you’re fine with this setup, you can leave it as-is and go about managing other things on your site. However, if you want your registered users to only be privy to the premium option, you can make it so that all others are hidden.

Enabling the hidden option couldn’t be simpler – just tick the box labeled “Hide Other” and all other methods won’t be shown to logged-in users. This is especially useful if you’re running multiple methods at once but don’t want to overcrowd your cart display with unnecessary information.

The way it looks now in our example is the “clean look” – the site gives no choice to the registered user, only displaying their discounted shipping cost, dismissing everything else.

Summary

As we’ve pointed out, to run a successful business (eCommerce or otherwise), you need data. When we’re talking about online businesses, the quickest way to get relevant data is to simply let users give it to you by themselves.

By registering on your site, they freely give things like their email and location, along with easier tracking of all actions on your pages which result in data about their spending, preferred products, etc.

Higher shipping costs for guests provide that little bit of incentive some might need to register, and the WooCommerce Table Rate Shipping plugin gives you every chance to make those small changes that could yield big results.

Exit mobile version