Local Delivery: Product Availability
Control which products customers can select for delivery at each location using Shopify product tags. Restrict delivery to specific products or exclude products from delivery based on your business needs.
Table of Contents
- What Product Availability Does
- Prerequisites
- How Product Availability Works
- Step-by-Step Configuration
- Example
- How Mixed Carts Work
- Edge Cases and Advanced Scenarios
- Common Questions
- Troubleshooting
- Quick Reference
What Product Availability Does
What this feature does:
- Restricts delivery availability using Shopify product tags
- Evaluates the entire cart
- Works alongside postal code or distance validation
- Works alongside Shopify inventory management
- Makes delivery unavailable if the cart doesn't meet tag-based criteria
What this feature does NOT do:
- Does not manage inventory (inventory is managed in Shopify)
- Does not override Shopify inventory availability
- Does not work per-product in mixed carts (applies to entire cart)
- Does not hide the widget for specific products (use Widget Visibility Override instead)
Prerequisites
Before configuring product availability, ensure:
- Local Delivery is enabled for the location in Bird Settings
- Products have inventory at the location in Shopify
How Product Availability Works
Product Availability has three modes:
1. All Products (Default)
No product restrictions. All products are available for delivery (subject to postal code/distance validation).
2. Include Products Tagged With
Delivery is only available when all products in the cart have the specified tags. If any product lacks the required tag, delivery becomes unavailable.
Use cases:
- Only allow large items for delivery
- Restrict delivery to specific product categories
- Enable delivery for "delivery-only" tagged products
Example: Tag products with "delivery-available" and only allow delivery when all cart items have this tag.
3. Exclude Products Tagged With
Delivery becomes unavailable if any product in the cart has the specified exclusion tags. All other products allow delivery.
Use cases:
- Exclude fragile items from delivery
- Prevent hazardous materials from delivery
- Block oversized items from specific delivery zones
Example: Tag products with "no-delivery" and prevent delivery when any cart item has this tag.
Step-by-Step Configuration
Step 1: Access Product Availability Settings
- Go to Bird Settings > Configure Locations (if you see "Pickup & Delivery" you're in legacy mode)
- Click on the location where you want to configure product availability
- Scroll down and find Edit Settings button for Local Delivery
- Click Edit Settings
- Scroll to Product Availability section

Note: You'll see three options:
- All Products (default)
- Include Products tagged with
- Exclude products tagged with
Step 2: Add Tags to Products in Shopify
If you plan to use "Include Products tagged with" or "Exclude products tagged with" mode, set up tags in Shopify first:
- Go to Shopify Admin > Products
- Click on a product
- Scroll to Tags section under Product Organization
- Enter the tag(s) you want to use (e.g., "delivery-available", "fragile", "oversized")
- Click Save
- Repeat for all products that need these tags

Important:
- If you just added a tag, wait a few seconds for it to appear in Bird app's autocomplete
- Tags must exist in Shopify before they can be selected in Bird app
Step 3: Choose Your Availability Mode
Select one of the three modes:
Option A: All Products (Default)
- Select All Products
- Click Save
- No additional configuration needed
- All products are available for delivery
Option B: Include Products Tagged With
- Select Include Products tagged with
- Start typing a tag name in the search field
- Select tag from the autocomplete dropdown
- Repeat to add multiple tags (if needed)
- Click Save

Option C: Exclude Products Tagged With
- Select Exclude products tagged with
- Start typing a tag name in the search field
- Select tag from the autocomplete dropdown
- Repeat to add multiple tags (if needed)
- Click Save

Example
Scenario: You want only non-fragile items available for delivery at a specific location.
Setup:
- Go to Shopify Admin > Products and tag fragile products with "fragile"
- Wait a few seconds for the tag to sync
- In Bird app, go to Configure Locations > [Select Location] > Edit Settings > Product Availability
- Select Exclude products tagged with
- Start typing "fragile" and select it from the autocomplete dropdown
- Click Save
Result: Delivery is only available when the cart contains no products tagged "fragile". If the cart contains any fragile products, delivery becomes unavailable for the entire order.
How Mixed Carts Work
Product availability rules apply to the entire cart, not individual products. This is a common point of confusion for merchants.
Include Mode with Mixed Cart
If you set "Include Products tagged with 'delivery-available'":
- Cart with only tagged products: ✅ Delivery available
- Cart with only untagged products: ❌ Delivery unavailable
- Cart with both tagged and untagged products: ❌ Delivery unavailable (entire cart blocked)
Why: The rule requires ALL products in the cart to have the tag. If even one product lacks the tag, delivery becomes unavailable for the entire order.
Example:
- Product A: Tagged "delivery-available" ✅
- Product B: Tagged "delivery-available" ✅
- Product C: No tag ❌
- Result: Cart with A+B = ✅ Delivery available. Cart with A+B+C = ❌ Delivery unavailable.
Exclude Mode with Mixed Cart
If you set "Exclude products tagged with 'fragile'":
- Cart with only non-fragile products: ✅ Delivery available
- Cart with only fragile products: ❌ Delivery unavailable
- Cart with both fragile and non-fragile products: ❌ Delivery unavailable (entire cart blocked)
Why: The rule blocks delivery if ANY product in the cart has the exclusion tag. If even one product has the tag, delivery becomes unavailable for the entire order.
Example:
- Product A: Not tagged "fragile" ✅
- Product B: Not tagged "fragile" ✅
- Product C: Tagged "fragile" ❌
- Result: Cart with A+B = ✅ Delivery available. Cart with A+B+C = ❌ Delivery unavailable.
Edge Cases and Advanced Scenarios
Advanced product availability scenarios and how to handle them.
Products with No Tags
What happens when a product has no tags and you're using "Include Products Tagged With" mode?
Scenario:
- Product A: Tagged with "delivery-eligible"
- Product B: No tags at all
- Setting: Include Products Tagged With "delivery-eligible"
Result:
- Product A: ✅ Available for delivery (has required tag)
- Product B: ❌ Not available for delivery (missing required tag)
- Mixed cart: Local Delivery disabled (strict enforcement)
Solution:
- Tag all products that should be deliverable
- Don't leave products untagged if using Include mode
- Use Shopify bulk editor to add tags to multiple products
Multiple Tag Selection Logic
Does Bird use AND or OR logic when multiple tags are selected?
Answer: OR logic (any tag matches).
Example:
- Setting: Include Products Tagged With "delivery-eligible" OR "local-only"
- Product A: Tagged "delivery-eligible"
- Product B: Tagged "local-only"
- Product C: Tagged "delivery-eligible" AND "local-only"
- Product D: No tags
Result:
- Products A, B, C: ✅ Available (have at least one required tag)
- Product D: ❌ Not available (missing all required tags)
Use Case:
- Useful for including products from different categories
- Example: "fresh-food" OR "bakery-items" (different product types, both deliverable)
If you need AND logic:
- Create a combined tag instead: "fresh-and-deliverable"
- Tag products with the combined tag
- Simpler than trying to enforce multiple tag requirements
Partial Cart Eligibility
What if customer expects partial delivery for mixed cart?
Customer Expectation:
- Cart has 3 products
- 2 are delivery-eligible
- 1 is not delivery-eligible
- Customer wants delivery for the 2 eligible products only
Actual System Behavior:
- Bird enforces all-or-nothing cart policy
- If ANY product is ineligible, entire cart cannot use Local Delivery
- Customer must remove ineligible products to proceed
Why This Design:
- Prevents confusion (customer gets all items or no items via delivery)
- Avoids split orders (some items delivered, some picked up/shipped)
- Simplifies fulfillment (single delivery per order)
Customer Solutions:
- Remove ineligible product: Complete delivery order for eligible items
- Separate orders: Place two orders (one for delivery, one for pickup/shipping)
- Choose different fulfillment: Use Store Pickup or Shipping for entire cart
Merchant Communication:
- Add product page messaging: "This item is not available for local delivery"
- Tag ineligible products clearly in product descriptions
- Show delivery eligibility badge on product cards
Common Questions
Can I use multiple tags?
Yes. You can select multiple tags for both Include and Exclude modes.
Include mode with multiple tags:
- All products in cart must have at least one of the specified tags
- Example: Tags "delivery-available, large-item" > Product must have either tag
Exclude mode with multiple tags:
- Delivery unavailable if any product has any of the exclusion tags
- Example: Tags "fragile, hazardous" > Product with either tag blocks delivery
Can I set different product availability rules for different locations?
Yes. Each location can have its own product availability rules. Configure them separately in Configure Locations > [Select Location] > Edit Settings.
Example use case:
- Location A (downtown): All products available
- Location B (suburban warehouse): Only "large-item" tagged products available
- Location C (limited capacity): Exclude "oversized" tagged products
What if a product doesn't have inventory at the location?
Customers will see an error during checkout if any product in the cart lacks inventory at the location, regardless of product availability rules.
Inventory is managed in Shopify and takes precedence over product availability rules.
Can I use this to hide the widget for specific products?
No. Product Availability controls delivery availability, but it doesn't hide the widget.
To hide the widget for specific products:
- Use Widget Visibility Override instead
- Tag products with visibility override tags
Difference:
- Product Availability: Widget shows, but delivery becomes unavailable when clicked
- Widget Visibility Override: Widget doesn't appear at all for certain products
Can I allow some products to be delivered to one zone but not another?
Yes. Use location-specific product availability:
- Create multiple delivery locations/zones
- Configure different product availability rules per location
- Tag products appropriately
Example:
- Zone A: Include "zone-a-delivery"
- Zone B: Include "zone-b-delivery"
- Product X: Tagged "zone-a-delivery" only > Available in Zone A, not Zone B
- Product Y: Tagged "zone-b-delivery" only > Available in Zone B, not Zone A
- Product Z: Tagged both > Available in both zones
Troubleshooting
Issue: Tag doesn't appear in autocomplete
Problem: You added a tag in Shopify but it's not showing up in Bird app's autocomplete.
Solution:
- Verify the tag is saved in Shopify (go to Products > [Select Product] > Tags)
- Wait 10-30 seconds for Shopify to sync the tag
- Refresh the Bird app page and try typing the tag again
- Ensure tag spelling is exact (case doesn't matter but spelling does)
Issue: "Products in cart are not available" error appears
Problem: Product tags don't match the items in the customer's cart.
Solution:
- Check your Product Availability settings in Bird app
- Verify product tags in Shopify match the tags configured in Bird app
- Check if you're using "Include" or "Exclude" mode
- For "Include" mode: Ensure ALL products in cart have the required tag
- For "Exclude" mode: Ensure NO products in cart have the exclusion tag
- Go to Shopify Admin > Products and verify product tags match
Issue: Some products show delivery but others don't
Problem: Mixed cart with products that don't meet availability rules.
Solution: This is expected behavior. Product availability rules apply to the entire cart. If any product doesn't meet the criteria, delivery becomes unavailable for the entire order.
Workarounds:
- Use separate orders for products with different availability rules
- Adjust your product availability rules to be less restrictive
- Tag all products that should be available together with the same tag
- Add clear messaging on product pages about delivery restrictions
Issue: Want to allow delivery for most products except a few
Problem: Easier to exclude specific products than include hundreds.
Solution: Use Exclude products tagged with mode:
- Tag only the products you want to exclude (e.g., "no-delivery")
- Select Exclude products tagged with in Product Availability
- Add the exclusion tag
- All other products automatically allow delivery
Example: 500 products, 10 are fragile. Tag only the 10 fragile products with "fragile", then exclude "fragile" tag.
Quick Reference
Product Availability Modes:
- All Products: No restrictions (default)
- Include Products tagged with: All products in cart must have required tags
- Exclude products tagged with: Delivery unavailable if any product has exclusion tags
Key Points:
- Rules apply to entire cart, not individual products
- Mixed carts are strictly evaluated (all products must meet criteria)
- Works alongside postal code or distance validation
- Does not manage inventory (Shopify handles inventory)
Common Use Cases:
- Include: "delivery-available", "large-item", "local-only"
- Exclude: "fragile", "hazardous", "oversized", "no-delivery"
Navigation: Bird Settings > Configure Locations > [Select Location] > Edit Settings > Product Availability
Updated on: 01/18/2026
Thank you!
