Skip to main content
Customer rules let you restrict fulfillment based on who is buying. When specific customer types or segments place orders, you can control exactly which locations are allowed to fulfill them.
Customer rules are ideal for B2B fulfillment, VIP customer handling, or routing orders from specific customer segments to dedicated locations.

How customer rules work

A customer rule has two parts:
  1. When (condition): Which customer properties trigger the rule
  2. Then (filter): Which locations to block or allow when triggered

Create a customer rule

1

Navigate to Fulfillment Constraints

Go to Charlie → Fulfillment Constraints and click Create rule.
2

Name your rule and set status

Enter a descriptive name (max 75 characters) that explains the rule’s purpose, like “B2B orders - Warehouse only” or “VIP customers - Flagship stores”.Set the Status to:
  • Active: Rule applies immediately at checkout
  • Draft: Rule is saved but won’t affect checkout
Customer rule form with name, status, and rule type
3

Select Customer based as the rule type

Under Rule type, select Customer based.
4

Configure the condition (When)

In the Configuration section under When, set up what triggers the rule:Condition: Choose the customer property to match
Condition dropdown showing Customer B2B and Customer tags options
ConditionDescription
Customer B2BTargets customers with a B2B account in Shopify
Customer tagsTargets customers based on tags assigned in Shopify
Operator: Select how the condition matches
OperatorEffect
IncludesRule triggers when customer matches the condition
Does not includeRule triggers when customer does NOT match the condition
Value: Depends on the condition type
  • For Customer B2B: No value needed (automatically targets B2B customers)
  • For Customer tags: Enter the tag names to match
5

Configure the location filter (Then)

Under Then, define which locations are affected when the rule triggers:Action:
ActionEffect
IncludeOnly the specified locations can fulfill (all others blocked)
ExcludeThe specified locations are blocked (all others allowed)
Property: Choose how to target locations
Property dropdown showing Specific locations, Location with tag, and Location with type options
PropertyValueUse when
Specific locationsSelect individual locationsYou need precise control over specific locations
Location with tagEnter tag namesYou want to target locations by capability
Location with typeWarehouse or StoreYou want to target all locations of a type
6

Save the rule

Click Save to create your rule. If set to Active, it takes effect immediately at checkout.
You can create up to 10 configurable rules total across Product, Customer, and Cart rule types. Plan your rules strategically.

Condition types

Automatically targets customers who have a B2B account in Shopify. This uses Shopify’s native B2B functionality.Best for:
  • Wholesale customers requiring dedicated fulfillment
  • B2B orders that need special invoicing or packaging
  • Separating B2B and B2C fulfillment streams
Example: Route all B2B orders to your central warehouse where bulk packaging and commercial invoicing are handled.
This condition requires Shopify B2B to be enabled on your store.

Location filters

Select individual locations from your list. Use this when you need precise control.Example setup:
  • Action: Include
  • Property: Specific locations
  • Value: Paris B2B Warehouse, Lyon B2B Warehouse
Result: Only the selected B2B warehouses can fulfill orders from matching customers.
Target locations based on tags you’ve assigned. This is powerful for capability-based routing.Example setup:
  • Action: Include
  • Property: Location with tag
  • Value: b2b-enabled
Result: Only locations tagged b2b-enabled can fulfill orders from matching customers.
Make sure you’ve set up location tags before using this filter.
Target all Warehouses or all Stores at once.Example setup:
  • Action: Include
  • Property: Location with type
  • Value: Warehouse
Result: Only warehouses can fulfill orders from matching customers; all stores are blocked.

Examples

B2B orders from warehouse only

A fashion brand wants to ensure all B2B orders are fulfilled from their central warehouse where they have dedicated bulk packaging and commercial invoicing processes.
1

Create the rule

  • Name: B2B orders - Warehouse only
  • Status: Active
  • Type: Customer based
2

Set condition (When)

  • Condition: Customer B2B
  • Operator: Includes
3

Set filter (Then)

  • Action: Include
  • Property: Location with type
  • Value: Warehouse
Result: All B2B customer orders are fulfilled exclusively from warehouses, never from retail stores.

VIP customers from flagship stores

A luxury retailer wants to ensure VIP customers receive orders from flagship stores where premium packaging and personalized notes are available.
1

Tag VIP customers

In Shopify Admin, add the tag vip to your VIP customers. You can do this manually or use Shopify Flow.
2

Tag flagship stores

Go to Locations and add the tag flagship to your flagship stores.
3

Create the rule

  • Name: VIP customers - Flagship stores
  • Status: Active
  • Type: Customer based
4

Set condition (When)

  • Condition: Customer tags
  • Operator: Includes
  • Value: vip
5

Set filter (Then)

  • Action: Include
  • Property: Location with tag
  • Value: flagship
Result: VIP customers’ orders are only fulfilled from flagship stores with premium service.
Make sure at least one flagship store has inventory for the products VIP customers order, otherwise checkout will be blocked.

Exclude new customers from store fulfillment

A retailer wants to fulfill orders from new (untagged) customers only from warehouses to ensure consistent quality control before routing to stores.
1

Create the rule

  • Name: New customers - Warehouse only
  • Status: Active
  • Type: Customer based
2

Set condition (When)

  • Condition: Customer tags
  • Operator: Does not include
  • Value: verified
3

Set filter (Then)

  • Action: Include
  • Property: Location with type
  • Value: Warehouse
Result: Customers without the verified tag can only have orders fulfilled from warehouses.
Use Shopify Flow to automatically add the verified tag after a customer’s first successful order.

Best practices

Use B2B for wholesale

If you have wholesale customers, use Shopify’s native B2B feature and the Customer B2B condition for clean separation.

Combine with location tags

Tag locations by capability (b2b-enabled, vip-service, bulk-packaging) for flexible, maintainable rules.

Automate customer tagging

Use Shopify Flow to automatically tag customers based on behavior, purchase history, or other criteria.

Test with Draft status

Create rules in Draft mode first, verify the logic, then activate. This prevents unexpected checkout blocks.

Troubleshooting

This means all locations with stock are blocked for B2B customers.Check:
  1. Does at least one allowed location (e.g., warehouse) have the product in stock?
  2. Is the B2B customer properly set up in Shopify B2B?
  3. Are there conflicting rules blocking all locations?
Quick fix: Set the rule to Draft temporarily to restore checkout.
Check:
  1. Is the rule status set to Active?
  2. Does the customer actually have the tag in Shopify? (Check Customers > Customer profile)
  3. Is the tag spelled exactly the same (tags are case-sensitive)?
  4. If using “Does not include”, remember the logic is inverted
Debug tip: Check the customer’s profile in Shopify Admin to verify their tags.
Check:
  1. Is the operator correct? (“Includes” vs “Does not include”)
  2. For Customer tags, are you targeting the right tag?
  3. Are there other customers with the same tag who shouldn’t be affected?
Solution: Use more specific tags or combine multiple conditions.