Customize shipping methods for tagged customers or B2B buyers
Use Shopify customer tags or B2B buyer details in ShipWith to customize shipping methods for signed-in customers. ShipWith can hide, show only, rename, or reorder methods that Shopify already provides. It does not create shipping rates, change prices, or apply shipping discounts.
Choose a compatible Function input
Choose the Function input when you create the rule. It is locked after the rule is saved.
- Customer tag is available with Standard input, Shipping input, Attribute input, Customer input, and Address input.
- Customer company names and Customer is a company are available with Standard input, Shipping input, Customer input, and Address input. They are not available with Attribute input.
- Choose Shipping input if the rule also needs a Shipping method condition to limit its actions by the currently available method title.
- Choose Customer input when the rule also needs customer order history, customer country, or its expanded customer and address fields.
- Choose Address input when the rule also needs detailed destination fields. Address conditions are evaluated against each delivery group's own address.
Use the condition picker as the current source of truth for every other condition you need.
Read Choose the right Function input type for your rule before making this locked choice.
Recipe: hide a method from tagged customers
This example hides Cash on delivery from customers tagged Wholesale or B2B.
- Create a shipping rule and choose a compatible Function input.
- Under When the rule runs, select When set conditions are met.
- Add Customer tag has any of.
- In Customer tags, enter
Wholesale, press Enter, enterB2B, and press Enter again. Each tag appears as a chip. The condition matches when the customer has at least one configured tag; tag matching is case-insensitive. - Under Actions, select Hide specific delivery method(s).
- In Delivery method titles, enter
Cash on deliveryand press Enter. Action title targets match any part of a delivery method title, case-insensitively. - Set Status to Live, select Save, and wait for Shopify sync to show Synced.
At checkout, the action hides matching methods only when the signed-in customer has Wholesale or B2B. Use Customer tag does not have any of when the rule should match a signed-in customer who has none of the configured tags. That negative condition does not match a guest because no customer record is available.
To keep only named methods instead, choose Show only specific delivery method(s) and enter every title that may remain visible. Any other eligible method in that delivery group is hidden.
Recipe: show selected methods to B2B buyers
This example keeps Freight and Business delivery for any buyer checking out for a B2B company.
- Create a rule with Standard input, Shipping input, Customer input, or Address input.
- Under When the rule runs, select When set conditions are met.
- Add Customer is a company is
true. - Under Actions, select Show only specific delivery method(s).
- In Delivery method titles, add
FreightandBusiness deliveryas separate chips. - Set Status to Live, select Save, and wait for Shopify sync to show Synced.
Customer is a company checks whether Shopify provides a purchasing company for the checkout. It does not inspect the shipping address's company field. The buyer must sign in as a B2B customer and check out on behalf of a company for this condition to match.
Limit a rule to named B2B companies
Use Customer company names when different companies need different delivery methods. ShipWith checks the B2B purchasing company's name from Shopify. It does not currently check the company location name or the destination address's company field.
The available operators are:
- is and is not: exact, case-insensitive company-name matching. Enter each allowed name and press Enter to create a separate Company names chip. Pasting names on separate lines also creates separate chips. Commas stay inside one company name. ShipWith stores the exact-match list as one company name per line, which matters when reviewing or editing an exported rule.
- contains, does not contain, and starts with: case-insensitive text matching against one entered value. These operators use a text field instead of multi-name chips.
- is empty and is not empty: do not require a value. is empty also matches when Shopify does not provide a purchasing company, so combine it with Customer is a company is
truewhen the rule must be limited to B2B buyers.
For example, to hide Local pickup for buyers from either Northwind Traders or Contoso:
- Add Customer is a company is
trueand Customer company names is in the same condition group. Conditions in one group use AND. - Add
Northwind TradersandContosoas separate Company names chips. - Select Hide specific delivery method(s) and add
Local pickupunder Delivery method titles. - Activate and save the rule, then wait for Shopify sync to show Synced.
Test signed-in, guest, and nonmatching checkouts
Test with the same products and destination so that Shopify supplies comparable delivery methods.
- Sign in as a customer with a matching tag, or as a B2B customer checking out for a matching company. Confirm the expected hide or show-only result.
- Sign in as a customer without the tag, or use a B2B company with a different name. Confirm that the rule does not change the methods.
- Repeat as a guest. Customer tag, Customer is a company is
true, and a nonempty company-name match do not match a guest checkout. - For a Customer tag does not have any of rule, confirm separately that a signed-in customer without those tags matches while a guest does not.
- If Shopify splits the cart into multiple delivery groups, inspect every group. Customer and B2B details are shared across the checkout, but ShipWith applies the action independently to the methods Shopify provides in each group.
ShipWith cannot restore or show a method that Shopify did not provide in that delivery group.
Check priority and action scope
Lower Priority numbers run first among active rules using the same Function input. Actions inside a rule run from top to bottom. Shopify does not guarantee the order of rules that use different Function inputs, so keep dependent rules on the same input and give them distinct priorities.
Customer tag and B2B conditions normally make all methods in a matching delivery group eligible. The selected action then narrows that set:
- Hide specific delivery method(s) hides eligible methods whose title or handle contains one of the configured Delivery method titles values.
- Show only specific delivery method(s) hides eligible methods whose title or handle does not contain one of those values.
- Hide all delivery methods hides every eligible method. Use it carefully because a matching delivery group can be left without a delivery method.
- A Shipping method condition, available with Shipping input, limits eligibility to methods whose current titles match that condition before the action's own targets are applied.
If a result is unexpected, first confirm the customer is signed in, a B2B buyer is checking out for the intended company, the Shopify customer tags or company name match the configured value, and the rule is Live and Synced. Then check earlier rules and actions on the same Function input, including hides and Ignore previous rules.
