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:- When (condition): Which customer properties trigger the rule
- 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

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

Operator: Select how the condition matches
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:
Property: Choose how to target locations

6
Save the rule
Click Save to create your rule. If set to Active, it takes effect immediately at checkout.
Condition types
- Customer B2B
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
This condition requires Shopify B2B to be enabled on your store.
Location filters
Filter by specific locations
Filter by specific locations
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
Filter by location tag
Filter by location tag
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
b2b-enabled can fulfill orders from matching customers.Make sure you’ve set up location tags before using this filter.
Filter by location type
Filter by location type
Target all Warehouses or all Stores at once.Example setup:
- Action: Include
- Property: Location with type
- Value: Warehouse
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
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
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
verified tag can only have orders fulfilled from warehouses.
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
B2B customers see 'no shipping options'
B2B customers see 'no shipping options'
This means all locations with stock are blocked for B2B customers.Check:
- Does at least one allowed location (e.g., warehouse) have the product in stock?
- Is the B2B customer properly set up in Shopify B2B?
- Are there conflicting rules blocking all locations?
Rule applies to wrong customers
Rule applies to wrong customers
Check:
- Is the operator correct? (“Includes” vs “Does not include”)
- For Customer tags, are you targeting the right tag?
- Are there other customers with the same tag who shouldn’t be affected?
Related
Product Rules
Restrict locations based on what’s in the cart
Cart Rules
Restrict locations based on cart properties
Location Tags
Set up tags to use in your rules
Order Routing
Prioritize locations instead of blocking them