View Categories

Membership-Based Shipping Methods in WooCommerce

To show or hide shipping methods based on a customer’s membership plan, use the User Memberships conditions in Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything. The Require User Membership Plans and Exclude User Membership Plans conditions let you reserve methods like free shipping or local pickup for chosen membership tiers, so you can reward higher plans and steer everyone else to the right options.

User Memberships condition section in Conditional Shipping settings, selecting membership plans per shipping method

Before you start #

  • WooCommerce, active.
  • Conditional Shipping installed and enabled. The User Memberships conditions are free.
  • The WooCommerce Memberships plugin, active. These two conditions read your membership plans from WooCommerce Memberships. Without it, they have nothing to match against and do nothing.
  • At least one membership plan already created in WooCommerce Memberships.

Step-by-step setup #

  1. Go to WPFactory > Conditional Shipping (also reachable at WooCommerce > Settings > Conditional Shipping).
  2. Open the User Memberships section.
  3. To restrict a method to specific plans, tick Enable condition for Require User Membership Plans, then, next to the shipping method you want to limit, select the membership plans whose members should see it.
  4. To hide a method from specific plans, tick Enable condition for Exclude User Membership Plans, then select the plans that should not see that method.
  5. Leave a method’s value empty to apply no membership rule to it.
  6. Save changes, then test as a logged-in member to confirm the right methods appear at checkout.

Require shows a method only to members of the selected plans. Exclude hides a method from members of the selected plans. A method with no value set is left untouched.

Options reference #

Label Option ID Type Default Free/Pro
Require User Membership Plans (Enable condition) wpjup_wc_cond_shipping_user_membership_incl_enabled Checkbox No Free
Require plans, per shipping method wpjup_wc_cond_shipping_user_membership_incl_method[{method_id}] Multiselect (membership plans) Empty Free
Exclude User Membership Plans (Enable condition) wpjup_wc_cond_shipping_user_membership_excl_enabled Checkbox No Free
Exclude plans, per shipping method wpjup_wc_cond_shipping_user_membership_excl_method[{method_id}] Multiselect (membership plans) Empty Free
Additional notice (enable) wpjup_wc_cond_shipping_user_membership_incl_notice[enabled] Checkbox No Free
Additional notice (content) wpjup_wc_cond_shipping_user_membership_incl_notice[content] Text %shipping_method% is not available. Free

Each condition also has its own optional notice (shown on the cart and checkout before the form when a method was hidden by that condition). The Exclude condition has the matching wpjup_wc_cond_shipping_user_membership_excl_notice[enabled] and [content] keys.

Use cases #

  • Reward a top tier: require your Gold plan on a Free Shipping method so only Gold members see it, encouraging upgrades.
  • Protect a limited option: exclude higher-volume plans from Local Pickup when pickup space is tight, keeping it for smaller-order tiers.
  • Members-only couriers: require a specific plan on an express method reserved for paying members.

Troubleshooting #

  • The conditions do nothing: confirm the WooCommerce Memberships plugin is active and at least one plan exists. Without it, no plans load and the rule cannot match.
  • Every member still sees the method: check that Enable condition is ticked and that you selected plans on the correct shipping method row.
  • Need to start over: each section has a Reset section settings checkbox. Tick it and save to reset just the User Memberships section to defaults.

Get more control #

These membership conditions are free. Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything Pro adds the “Use shipping instances” option, so you can set conditions per shipping-method instance (a specific Flat rate inside a specific zone) instead of globally per method type. See what Pro unlocks.

 

Conditional Shipping for WooCommerce