How to Set WooCommerce Shipping by User Role for Retail and Wholesale Customers

14 Mins

You can set WooCommerce shipping by user role by creating separate shipping rules for retail and wholesale customers. This lets each customer group see the rates, free shipping thresholds, and delivery methods that apply to them.

This setup is useful for stores that serve individual buyers and wholesale customers from the same website. The same method also works for B2B-only stores with several customer tiers.

Retail orders may be smaller and qualify for promotional free shipping. Wholesale orders may need higher thresholds, bulk delivery rates, or different shipping methods.

Default WooCommerce can handle basic shipping zones and rates, but it does not offer the full conditional setup needed for this use case. With WowShipping, you can combine user roles with cart conditions and control which methods appear at checkout.

In this guide, we will create a complete role-based shipping setup for retail and wholesale customers. We will also test the rules to make sure each group sees the correct options.

Why Retail and Wholesale Customers Need Different Shipping Rates 

Retail and wholesale orders often need different shipping rules. Retail customers usually place smaller orders, while wholesale buyers may order in bulk, need extra handling, or qualify for different delivery terms.

Using one policy for both groups can lead to incorrect rates. A retail free-shipping offer may not suit a large wholesale order, while wholesale customers may expect reduced rates after reaching a higher order value.

Separate rules help you:

  • Protect shipping margins
  • Set different rates and thresholds
  • Show only relevant delivery methods
  • Manage retail and wholesale orders in the same store

How WooCommerce Shipping by User Role Works

Each logged-in customer has an assigned user role. A shipping plugin can check that role and apply the matching shipping rule.

For example, a retail customer can see standard and free shipping options. A wholesale customer can see separate bulk delivery rates. You can also combine the user role with cart value, weight, quantity, or other conditions.

A Sample Role-Based Shipping Policy

A role-based shipping policy should define three things for each customer group:

  • Which shipping method they can use
  • How much they need to pay
  • When they qualify for free or reduced shipping

For this guide, we will use an office supply store that sells to both retail shoppers and wholesale buyers.

The store follows this example policy:

Customer roleCart subtotalShipping methodShipping cost
Retail customerBelow $100Standard Retail Shipping$8
Retail customer$100 or moreFree Retail ShippingFree
Wholesale customerBelow $500Standard Wholesale Delivery$25
Wholesale customer$500–$999.99Reduced Wholesale Delivery$15
Wholesale customer$1,000 or moreFree Wholesale ShippingFree

These values are only examples. Stores operating in the real world have their own rates that suit them.

What You Need Before Setting Up Role-Based Shipping 

WooCommerce includes basic methods such as Flat Rate, Free Shipping, and Local Pickup. These work when all customers follow the same shipping policy.

For this use case, the store must check both the customer role and cart subtotal. It must also keep retail and wholesale methods separate. We will use WowShipping to handle those conditions.

Before starting, prepare the following.

Retail and Wholesale User Roles

Each customer group needs its own WordPress user role.

Retail shoppers can use the default Customer role. Wholesale buyers need a custom role, such as Wholesale Customer or B2B Regular.

WowShipping uses existing roles as shipping conditions. It does not create or assign them. You can use a wholesale plugin like WholesaleX or a user-role plugin for that.

A Defined Shipping Zone

Create or select the WooCommerce shipping zone where these rates will apply.

For this example, both retail and wholesale methods will use the same domestic zone.

Defined Rates and Thresholds

Decide the following before opening the plugin settings:

  • Standard shipping cost
  • Cart subtotal ranges
  • Free-shipping threshold
  • Methods each role should see

Make sure the ranges do not overlap or leave gaps. For example, one rule can end at $499.99 and the next can start at $500.

Step 1: Set Shipping Rates for Retail Customers 

First, create one shipping method for regular retail customers.

This method will contain two rate tiers:

  1. A standard flat rate for orders below $100
  2. Free shipping when the cart subtotal reaches $100

The values used here are examples. You can replace them with the rates and minimum order amount that fit your store.

Learn: The difference between flat rate and free shipping.

1.1 Create Standard Retail Shipping

Go to WooCommerce → Settings → Shipping → Shipping Zones

Open the shipping zone where you want to offer the retail rates. Then click Add shipping method and select Flexible Shipping (WowShipping).

WooCommerce Create shipping method popup selecting Flexible Shipping WowShipping in shipping settings

Open the new method and choose Manual Rates. Select Flexible Rate as the method type.

Give the method a clear title, such as: Retail Shipping

For the first rate tier, use these settings:

SettingValue
ConditionCart Subtotal
OperatorLess Than
Value$100
Cost TypeFixed Rate
Shipping Cost$8

This creates a standard $8 shipping charge for retail orders below $100.

Setting up table rate shipping condition for Cart Subtotal less than 100 USD in WowShipping

1.2 Offer Free Shipping When the Retail Threshold is Met

You do not need to create a separate shipping method for free shipping. Add another rate tier inside the same Retail Shipping method.

Click Add Rate Tier and use these settings:

SettingValue
ConditionCart Subtotal
OperatorGreater Than or Equal To
Value$100
Cost TypeFixed Rate
Shipping Cost$0

Now retail customers will receive free shipping when their cart subtotal reaches $100.

alt="Configuring free shipping condition for Cart Subtotal greater than or equal to 100 USD in WowShipping

WowShipping checks the cart subtotal before coupon discounts. For example, a cart with a $105 subtotal will qualify for free shipping even if a coupon later reduces the payable amount below $100.

1.3 Limit the Method to Retail Customers

Next, enable Advanced Display Rules for the retail shipping method.

Add the following rule:

SettingValue
ConditionUser Role
OperatorEquals
ValueB2C User

This ensures that only logged-in customers with the standard B2C User role can see the retail shipping method.

Publish & save the method when the setup is complete.

The final result will be:

  • Retail orders below $100 receive the $8 flat rate.
  • Retail orders of $100 or more receive free shipping.
  • Wholesale and guest users do not see this retail method.

Learn: How to set up shipping rates in WooCommerce.

Step 2: Set Different Shipping Rates for Wholesale Customers 

Now create a separate shipping method for wholesale customers.

This method will contain three rate tiers:

  1. A standard delivery rate for orders below $500
  2. A reduced rate for orders between $500 and $999.99
  3. Free shipping for orders of $1,000 or more

The rates below are examples. Replace them with the values that match your wholesale policy.

2.1 Create the Standard Wholesale Delivery Rate

Go to WooCommerce → Settings → Shipping → Shipping Zones

Open the same shipping zone used for retail customers. Add another Flexible Shipping (WowShipping) method.

Open the method and select:

  • Manual Rates
  • Flexible Rate

Name the method something clear, such as Wholesale Shipping

For the first rate tier, use these settings:

SettingValue
ConditionCart Subtotal
OperatorLess Than
Value$500
Cost TypeFixed Rate
Shipping Cost$25

This applies a $25 shipping charge to wholesale orders below $500.

Setting shipping rate tier for Cart Subtotal less than 500 USD to $25 in WowShipping

2.2 Create a Reduced Rate for Larger Wholesale Orders

Click Add Rate Tier inside the same wholesale shipping method.

Use these settings:

SettingValue
ConditionCart Subtotal
OperatorBetween
Minimum Value$500
Maximum Value$999.99
Cost TypeFixed Rate
Shipping Cost$15

Wholesale customers will now receive a reduced $15 rate when their cart subtotal falls within this range.

Configuring table rate shipping condition for Cart Subtotal between 500 and 999.99 USD to $15 in WowShipping

Make sure the tiers do not overlap. This prevents more than one rate from matching the same order.

Learn: How to add multiple classes in a shipping rule.

2.3 Offer Free Shipping to High-Value Wholesale Orders

Add one more rate tier.

Use these settings:

SettingValue
ConditionCart Subtotal
OperatorGreater Than or Equal To
Value$1,000
Cost TypeFixed Rate
Shipping Cost$0

This gives wholesale customers free shipping when the cart subtotal reaches $1,000.

Setting free shipping rate tier for Cart Subtotal greater than or equal to 1000 USD in WowShipping

WowShipping checks the subtotal before coupon discounts when matching these tiers.

2.4 Limit the Method to Wholesale Customers

Enable Advanced Display Rules for the wholesale shipping method.

Add this rule:

SettingValue
ConditionUser Role
OperatorEquals
ValueYour wholesale role

Choose the wholesale role used on your store, such as Wholesale, B2B Regular, or another custom role.

Configuring Advanced Display Rules for Wholesale and B2B Regular User Roles in WowShipping

Publish & save the method after adding the rules.

The final result will be:

  • Wholesale orders below $500 receive the $25 rate.
  • Orders between $500 and $999.99 receive the $15 rate.
  • Orders of $1,000 or more receive free shipping.
  • Retail and guest users do not see the wholesale method.

Learn: How to set international shipping rates with live carriers.

Step 3: Test the Retail and Wholesale Shipping Rules 

After saving the methods, test each customer role before using the setup on a live store.

Make sure you are logged in and assigned to the correct role. Then add products to the cart and change the subtotal to test each rate tier.

Use the following test cases:

Customer typeCart subtotalExpected result
Retail customerBelow $100$8 Retail Shipping
Retail customer$100 or moreFree Retail Shipping
Wholesale customerBelow $500$25 Wholesale Shipping
Wholesale customer$500–$999.99$15 Wholesale Shipping
Wholesale customer$1,000 or moreFree Wholesale Shipping
Guest customerAny amountNo role-based shipping method

3.1 Test the Retail Shipping Rules

Log in as a customer assigned to the standard B2C User role.

First, keep the cart subtotal below $100. The checkout should show the $8 retail rate.

WooCommerce cart page showing Retail Shipping rate applied to cart total

Next, increase the subtotal to $100 or more. The same retail method should now show free shipping.

WooCommerce cart page displaying free Retail Shipping applied to order total

The wholesale method should not appear in either test.

3.2 Test the Wholesale Shipping Rules

Log out and sign in as a customer assigned to your wholesale role.

Test an order below $500. The checkout should show the $25 wholesale rate.

WooCommerce cart page showing Wholesale Shipping rate of $25 applied to order total

Then test a subtotal between $500 and $999.99. The rate should change to $15.

WooCommerce cart page showing Wholesale Shipping rate of $15 applied to order total

Finally, increase the subtotal to $1,000 or more. The customer should receive free wholesale shipping.

WooCommerce cart page displaying free Wholesale Shipping applied to order total

The retail method should remain hidden throughout these tests.

Learn: How to set shipping rates for Furniture stores.

Practical Role-Based Shipping Use Cases

The retail and wholesale setup used in this guide is only one way to use customer roles. The following examples show how different stores can combine user roles with cart, product, weight, and location conditions.

How Can a Food and Beverage Store Set Different Rates for Retailers and Restaurants?

A food and beverage supplier sells individual products to retail customers and bulk cartons to restaurants.

The store wants to offer:

  • $10 standard shipping for retail customers
  • $30 delivery for restaurant orders below $500
  • $15 delivery for restaurant orders from $500 to $999.99
  • Free shipping for restaurant orders of $1,000 or more
  • A separate method for chilled products

How WowShipping can handle it:

The store can create separate methods for the Retail Customer and Restaurant Buyer roles. Cart subtotal tiers can control the delivery cost for each group.

For chilled products, the store can combine the restaurant role with a product category or shipping class condition. Advanced Display Rules can hide the normal method when the cart requires chilled delivery.

How Can an Electronics Store Offer Different Shipping to Retail Buyers and Resellers?

An electronics store sells laptops, accessories, and computer parts to individual customers and approved resellers.

The store wants to offer:

  • Standard parcel shipping for retail customers
  • A reduced rate for approved resellers
  • Free shipping for reseller orders above $2,000
  • A separate insured delivery method for high-value products
  • Higher rates for heavy equipment

How WowShipping can handle it:

The store can restrict reseller methods to the Reseller role and add subtotal tiers for standard, reduced, and free shipping.

It can also combine the user role with product category, cart weight, or selected products. For example, server equipment can trigger a higher rate, while an insured method can appear only when the cart contains high-value electronics.

How Can a Packing Box Supplier Charge Wholesale Customers by Quantity?

A packaging supplier sells boxes, labels, and packing materials to small retailers and large wholesale buyers.

The supplier wants to charge wholesale customers:

  • $15 for orders of up to 50 items
  • $30 for orders from 51 to 200 items
  • $50 for orders from 201 to 500 items
  • Free shipping for more than 500 items

Retail customers should continue using the standard retail shipping method.

How WowShipping can handle it:

The supplier can create a method restricted to the Wholesale Customer role. Inside that method, cart quantity tiers can apply the correct shipping cost.

The retail method remains limited to the retail role, so regular shoppers do not see the wholesale quantity-based rates.

How Can a Membership Store Offer Shipping Benefits by Membership Level?

A membership store has Standard, Premium, and VIP customer roles. Each level includes different shipping benefits.

The store wants to offer:

  • $8 shipping for Standard members
  • Free shipping above $100 for Premium members
  • Free shipping on every order for VIP members
  • An express delivery option available only to VIP members

How WowShipping can handle it:

The store can create separate methods for each membership role. The Premium method can use a cart subtotal threshold, while the VIP method can use a zero fixed rate for every eligible order.

Advanced Display Rules can restrict the express method to VIP members. Standard and Premium customers will not see it at checkout.

These examples follow the same process used in the main setup: select the customer role, add the required conditions, define the rate, and control which methods appear.

Learn: The possible shipping use case scenarios with WowShipping

Common Role-Based Shipping Mistakes to Avoid

Before using the rules on a live store, check these common issues:

  • Leaving gaps between thresholds: Avoid ranges such as “up to $500” and “from $501.” A subtotal like $500.50 may not match either rule.
  • Creating overlapping tiers: Do not let two rules include the same value. Each subtotal should match only one rate tier.
  • Selecting the wrong user role: Make sure retail and wholesale customers have the roles used in the display rules.
  • Forgetting the user role condition: Subtotal tiers set the price, but the Advanced Display Rule controls who can see the method.
  • Using the wrong shipping zone: The customer’s address must match the zone where the method is added.
  • Ignoring guest users: Guests will not match the retail or wholesale roles in this setup. Add a separate guest method when needed.
  • Misreading the subtotal value: WowShipping checks the cart subtotal before coupon discounts. Set the thresholds with this behavior in mind.

WowShipping manages the shipping logic in this setup. It can apply rates by user role, create subtotal-based tiers, offer different free-shipping thresholds, and control which methods appear at checkout. 

However, it does not create wholesale roles, assign customers to those roles, or manage wholesale pricing and account rules. For those tasks, you need a wholesale or user-role plugin, such as WholesaleX, while WowShipping uses the assigned roles to manage shipping.

Frequently Asked Questions

Can I set different WooCommerce shipping rates for wholesale customers?

Yes. You can create a separate WowShipping method for wholesale users and restrict it to a specific wholesale role. You can then add different rate tiers based on cart subtotal, weight, quantity, or other conditions.

Can wholesale customers have a separate free-shipping threshold?

Yes. You can set a higher or lower free-shipping threshold for wholesale users. For example, retail customers may receive free shipping at $100, while wholesale customers qualify at $1,000.

What happens when a customer is not logged in?

A guest customer does not match the retail or wholesale user roles used in this setup. As a result, they will not see either role-based shipping method. Create a separate guest shipping method if your store allows guest checkout.

Does WowShipping create wholesale user roles?

No. WowShipping uses existing WordPress user roles as shipping conditions. You need a wholesale plugin, user-role plugin, or custom code to create and assign wholesale roles first.

Can I combine user roles with cart subtotal, weight, or quantity?

Yes. WowShipping can combine a user role with other conditions. For example, you can create shipping rules for wholesale customers based on Cart subtotal, Cart weight, Cart quantity, Product or category, and shipping destination.

Can I create different shipping rates for several wholesale tiers?

Yes. Create a separate shipping method for each wholesale role, such as Regular Wholesale, Premium Wholesale, or Distributor. Each role can have its own shipping rates, subtotal tiers, and free-shipping threshold.

Automate Your Role-Based Shipping Efficiently with WowShipping

Managing retail and wholesale shipping manually can become difficult as your rules grow. WowShipping lets you create role-based methods, set different rate tiers, and control which options appear at checkout.

Once the rules are configured, WowShipping checks the customer role and cart conditions automatically. It then applies the correct shipping rate for that order.

You can start with the retail and wholesale setup used in this guide, then adjust the roles, thresholds, and conditions to match your store.

Join 1,50,000+ Readers. 

Written by Shahbaj Arefin

Technical Content Writer

Shahbaj Arefin is a passionate content writer with over three years of experience specializing in WordPress and WooCommerce. He thrives on exploring the latest themes, plugins, and tools, providing valuable insights that help users easily build and optimize their websites. With a keen eye for detail, he stays ahead of the curve by testing cutting-edge technology to uncover game-changing features that enhance online businesses. When he's not writing, he's tinkering with innovative solutions to improve digital experiences and maximize e-commerce success.

Shahbaj Arefin is a passionate content writer with over three years of experience specializing in WordPress and WooCommerce. He thrives on exploring the latest themes, plugins, and tools, providing valuable insights that help users easily build and optimize their websites. With a keen eye for detail, he stays ahead of the curve by testing cutting-edge technology to uncover game-changing features that enhance online businesses. When he's not writing, he's tinkering with innovative solutions to improve digital experiences and maximize e-commerce success.

Grow Faster With Industry Experts
Whether you're just getting started or scaling fast, we’ve got you covered. Join our community or contact our support to get expert advice!