When David merged his wholesale and retail Shopify stores last year, he thought it would simplify everything. One store, one inventory, one dashboard.

What he didn't expect was the checkout mess that followed. His wholesale clients were seeing "USPS Priority Mail ($8.99)" and "Express Shipping ($14.99)" alongside the B2B flat rate he'd set up for them. Retail customers could see the wholesale free shipping option meant only for business buyers.

If you're trying to show shipping by customer tag in Shopify, you've probably discovered the same thing David did: Shopify doesn't support it natively. Every customer in a shipping zone sees every rate in that zone. No exceptions.

The fix is simpler than you'd think. By using customer tags and a delivery customization app, you can control exactly which shipping methods show up at checkout based on who the customer is. B2B buyers see B2B rates. VIP members see their perks. Everyone else sees standard options.

In this guide, we'll walk through how customer tags work for shipping rules, five real scenarios where they save you money, and a step-by-step setup you can finish in under 10 minutes.

Want to skip ahead? HideShip lets you hide, sort, and rename shipping methods by customer tag on any Shopify plan. No code required. 7-day free trial.

Why customer tags matter for shipping rules

Shopify's shipping system is built for simplicity. You create shipping zones, set up rates within those zones, and every customer in that zone sees every rate. For a store with one or two shipping options, that's fine.

But the moment you sell to different types of customers, things break down. Here's what Shopify's native settings can't do:

  • Show wholesale shipping rates only to wholesale buyers
  • Hide retail rates from B2B company accounts
  • Give VIP customers exclusive free shipping
  • Restrict express shipping to customers who've earned it
  • Show membership-specific delivery options

This matters more than it sounds. According to Baymard Institute, 48% of online shoppers abandon their cart because of unexpected extra costs at checkout. Showing the wrong shipping options to the wrong customers is one of the fastest ways to trigger that reaction. It's one of the most common Shopify shipping mistakes that cost you sales.

Customer tags solve this by letting you segment your buyers and create shipping rules that match. Tag a customer as "wholesale," and they see wholesale rates. Tag them as "vip," and they see their perk. No code, no Shopify Plus required.

How customer tags work in Shopify

Before setting up shipping rules, it helps to understand what customer tags actually are and how they differ from segments.

What are customer tags?

Customer tags are simple text labels you attach to customer profiles in your Shopify admin. Think of them as sticky notes on a customer record. You might tag a customer as "wholesale," "vip," "dealer," or "free-shipping-eligible."

Each customer can have up to 250 tags, and you can assign them manually, in bulk, or automatically through Shopify Flow and third-party apps.

Tags are static. You add them, and they stay until you remove them. They don't update on their own based on customer behavior.

Customer tags vs. customer segments

This trips up a lot of merchants, so it's worth clarifying.

Customer segments are dynamic groups that Shopify updates automatically based on criteria you define. For example, you could create a segment of "customers who've spent more than $500."

As customers cross that threshold, they're added automatically. When they stop qualifying, they're removed.

Tags are the opposite. They're manual labels. You decide who gets tagged, and the tag stays put.

Here's why this matters for shipping: delivery customization apps read tags at checkout, not segments. Shopify's Delivery Customization Function API has built-in support for checking customer tags with functions like hasAnyTag and hasTag. Segments aren't available in that checkout context.

The smart approach: Use segments to identify which customers should be tagged, then apply the tags that drive your shipping rules. Segments for targeting, tags for action.

How to add customer tags in Shopify

You have three options:

Manual tagging (for small stores):
1. Go to Customers in your Shopify admin
2. Click on a customer's profile
3. Add a tag in the Tags field (e.g., "wholesale")
4. Save

Bulk tagging (for medium stores):
1. Go to Customers
2. Select multiple customers using checkboxes
3. Click More actions and choose Add tags
4. Enter your tag and apply

Automated tagging (for growing stores):
Use Shopify Flow to auto-tag customers based on triggers. For example: "When a customer places their 5th order, add the tag 'vip'." Third-party tagging apps like SC Customer Tagging can automate more complex workflows.

Pro tip: Pick a consistent tag format and stick with it. "wholesale" and "Wholesale" are treated as different tags. We recommend lowercase, single-word tags: "wholesale," "vip," "b2b," "dealer," "premium-member." If you also want to hide paid shipping when free shipping is available, you can combine customer tag rules with cart total conditions.

Five scenarios where customer tag shipping rules save you money

Here are the most common use cases we see across stores using customer tag shipping rules. Each one includes the exact rule logic so you can set it up yourself.

Scenario 1: Hide retail shipping from wholesale customers

The problem: Rachel runs a home goods brand. She sells direct-to-consumer and wholesale to boutique retailers. Her wholesale clients order 50+ units at a time and expect a clean shipping experience. Instead, they see "Standard Shipping ($7.99)," "Express ($14.99)," and "Economy ($4.99)" alongside the "Wholesale Flat Rate" she created for them.

The rule:
* Condition: Customer tag contains "wholesale"
* Action: Hide "Standard Shipping," "Express Shipping," and "Economy Shipping"

Hide retail shipping from wholesale customers

The result: Wholesale buyers see only "Wholesale Flat Rate." Retail customers still see all three standard options. No confusion, no support tickets asking "which rate should I pick?"

Scenario 2: Give VIP customers free shipping only

The problem: You run a loyalty program where customers tagged "vip" get free shipping on every order. But at checkout, they still see "Standard Shipping ($6.99)" right next to "Free Shipping." Some hesitate. Others pick the paid option by mistake.

The rule:
* Condition: Customer tag contains "vip"
* Action: Hide all paid shipping rates

Give VIP customers free shipping only

The result: VIP customers see only "Free Shipping" as their delivery option at checkout. Zero friction. The perk feels automatic, exactly the way a loyalty reward should work.

Scenario 3: Restrict express shipping to eligible customers

The problem: You offer express shipping, but it's expensive and only profitable on certain orders. You want to limit it to customers who've been pre-approved or tagged as eligible.

The rule:
* Condition: Customer tag does NOT contain "express-eligible"
* Action: Hide "Express Shipping"

The result: Only customers you've explicitly tagged as "express-eligible" see the express option. Everyone else gets standard and economy, which keeps your shipping costs predictable.

Scenario 4: B2B company accounts with different shipping tiers

The problem: You sell to three types of buyers: retail customers, standard dealers, and premium distributors. Each group should see different shipping rates for B2B customers with different pricing.

The rules (you'll need multiple):
1. Customer tag contains "dealer": Hide "Retail Standard" and "Retail Express," show "Dealer Flat Rate"
2. Customer tag contains "distributor": Hide "Retail Standard," "Retail Express," and "Dealer Flat Rate," show "Distributor Free Shipping"
3. No tag (retail customer): Hide "Dealer Flat Rate" and "Distributor Free Shipping"

The result: Three completely separate shipping experiences from one Shopify store. Each buyer type sees exactly the rates that match their relationship with you.

Scenario 5: Membership programs with shipping perks

The problem: You sell a paid membership (like a "Premium Club") where members get free or discounted shipping. Free-tier customers should see standard rates. Premium members should see their upgraded options.

The rule:
* Condition: Customer tag contains "premium-member"
* Action: Hide "Standard Shipping ($7.99)" and show "Premium Free Shipping"

The result: Paid members feel the value of their membership the moment they reach checkout. Free-tier customers see regular pricing, which also gives them an incentive to upgrade.

How to set up customer tag shipping rules (step by step)

Let's walk through the actual setup. We'll use HideShip as the example, but the general process is similar with any delivery customization app that supports customer tags.

Step 1: Tag your customers

Before creating any shipping rules, make sure the right customers have the right tags. Go to Customers in your Shopify admin and verify that your B2B, wholesale, VIP, or membership customers are tagged consistently.

If you haven't tagged anyone yet, start with your most important customer group. You can always expand later.

Step 2: Install a delivery customization app

Shopify's native shipping settings don't let you hide shipping rates for specific customers. You need an app built on Shopify Functions, Shopify's official framework for customizing checkout behavior. These apps use a rule engine to evaluate conditions at every checkout.

When evaluating apps, look for:
* Customer tag as a supported condition type
* Built for Shopify badge (means it uses native Functions, not deprecated workarounds)
* Works on all Shopify plans (not just Plus)
* No-code setup with a visual rule builder

HideShip checks all four. It supports customer tags as a core condition, runs on native Shopify Functions, works on Basic through Plus, and requires zero code.

Step 3: Create your first customer tag rule

In HideShip, click Create Customization and choose Simple Customization (one condition per rule) or Advanced Customization (multiple conditions per rule).

For a customer tag rule:
1. Set the condition to Customer Tag
2. Choose the operator: contains or does not contain
3. Enter the tag value (e.g., "wholesale")
4. Select the action: Hide
5. Choose which shipping rate(s) to hide
6. Save

That's it. The rule is live and will evaluate automatically at every checkout.

Step 4: Test at checkout

This step is critical. Create a test customer account with the relevant tag, add items to your cart, and go through checkout. Verify that:

  • The tagged customer sees only the expected shipping rates
  • An untagged customer (or a different tag) sees the default rates
  • No shipping rates are accidentally hidden for everyone

Pro tip: Test with multiple customer accounts if you have multiple tag-based rules. Rules combine at checkout, so if a customer matches more than one rule, all matching rules apply. Make sure there's always at least one visible shipping rate.

What happens with guest checkout and untagged customers?

This is the question no one else addresses, and it's important.

Customer tags only work when a customer is logged in to their account at checkout. If someone checks out as a guest, Shopify has no customer profile to read tags from. That means:

  • Guest customers: See all shipping rates (your default experience). No tag-based rules apply.
  • Logged-in, untagged customers: Also see all shipping rates by default (unless you've created rules that specifically target untagged customers using "does not contain" logic).
  • Logged-in, tagged customers: See the filtered rates based on your rules.

What to do about it:

For most stores, this is fine. Your default shipping rates become the experience for retail/guest customers, and tag-based rules create exceptions for specific groups.

If you need B2B or wholesale customers to always see their custom rates, encourage them to create accounts and log in before ordering. Most B2B buyers expect this anyway, since they need to access negotiated pricing.

For membership programs, account login is already a given, since the membership itself requires an account.

Note: If a new customer has no tags, they'll see the default shipping experience. Plan your rules with this in mind. Your "default" checkout should work well for your largest customer group, with tag-based rules handling the exceptions.

Customer tags vs. other shipping conditions

Customer tags are powerful, but they're not the only way to control shipping at checkout. Here's how they compare to other common conditions:

Condition Best for Example
Customer tag B2B, VIP, memberships Hide express shipping for "wholesale" tagged customers
Cart total Free shipping thresholds Hide paid shipping when cart exceeds $75
Country / zip code Location-based rules Hide local delivery for international orders
Product / collection Item-specific shipping Hide freight for small items
Cart weight Weight-based restrictions Hide lightweight shipping for heavy orders
Customer company Shopify B2B accounts Show company-specific rates for B2B buyers

The real power comes from combining conditions. For example: "If customer tag is 'wholesale' AND cart total is over $500, show 'Wholesale Free Shipping.'" HideShip's Advanced Customization lets you combine multiple conditions in a single rule, which also helps you stay within Shopify's limit of 25 active delivery customizations per store.

For a broader look at all the ways you can hide shipping methods, including cart total, country, and product-based rules, check out our guide on how to hide shipping methods in Shopify checkout.

Frequently asked questions

Do I need Shopify Plus to hide shipping by customer tag?

No. Apps built on Shopify Functions, like HideShip, work on all Shopify plans: Basic, Shopify, Advanced, and Plus. You don't need an enterprise plan or a developer to set up customer-tag-based shipping rules.

Can I show shipping rates only for certain customer tags?

Yes. You can use "does not contain" logic to hide a rate from everyone except customers with a specific tag. For example: hide "B2B Free Shipping" for customers who do NOT have the tag "b2b." The result: only B2B-tagged customers see that rate.

What happens if a customer has multiple tags?

All matching rules apply. If a customer is tagged both "wholesale" and "vip," and you have separate rules for each tag, both rules will execute at checkout. Make sure your rules don't conflict or accidentally hide all available shipping rates.

How do I automate customer tagging?

Shopify Flow is the easiest option. You can create automations like "When a customer places 5 or more orders, add tag 'vip'" or "When a customer is added to a B2B company, add tag 'wholesale'." Third-party apps like SC Customer Tagging offer additional triggers and conditions.

Does this work with carrier-calculated shipping rates?

Yes. Delivery customization apps filter rates at the checkout step, regardless of how those rates are generated. Whether you use Shopify's built-in rates, carrier-calculated rates, or rates from third-party shipping apps, customer tag rules apply the same way.

Take control of who sees which shipping rates

Shopify's native shipping settings treat every customer the same. That might work for a simple store, but the moment you have wholesale buyers, VIP members, or membership tiers, you need more control.

Customer tags give you that control. Once you can show shipping by customer tag, each buyer type sees exactly the delivery options that match their relationship with your store, automatically, at every checkout.

Here's the quick version:

  1. Tag your customers in Shopify admin (manually, in bulk, or automated via Flow)
  2. Install a delivery customization app that supports customer tag conditions
  3. Create rules to hide or show shipping rates based on tags
  4. Test at checkout with tagged and untagged accounts

The whole setup takes less than 10 minutes. No code, no Shopify Plus, no developer.

Ready to set up your first customer tag shipping rule? Install HideShip free and start your 7-day trial. Works on all Shopify plans.