Articles on: Local Delivery

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


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:


  1. Local Delivery is enabled for the location in Bird Settings
  2. 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


  1. Go to Bird Settings > Configure Locations (if you see "Pickup & Delivery" you're in legacy mode)
  2. Click on the location where you want to configure product availability
  3. Scroll down and find Edit Settings button for Local Delivery
  4. Click Edit Settings
  5. Scroll to Product Availability section


Shows Product Availability section in delivery settings


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:


  1. Go to Shopify Admin > Products
  2. Click on a product
  3. Scroll to Tags section under Product Organization
  4. Enter the tag(s) you want to use (e.g., "delivery-available", "fragile", "oversized")
  5. Click Save
  6. Repeat for all products that need these tags


Shows Shopify product tags section


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)


  1. Select All Products
  2. Click Save
  3. No additional configuration needed
  4. All products are available for delivery


Option B: Include Products Tagged With


  1. Select Include Products tagged with
  2. Start typing a tag name in the search field
  3. Select tag from the autocomplete dropdown
  4. Repeat to add multiple tags (if needed)
  5. Click Save


Shows Include Products tagged with selection


Option C: Exclude Products Tagged With


  1. Select Exclude products tagged with
  2. Start typing a tag name in the search field
  3. Select tag from the autocomplete dropdown
  4. Repeat to add multiple tags (if needed)
  5. Click Save



Shows Exclude products tagged with selection



Example


Scenario: You want only non-fragile items available for delivery at a specific location.


Setup:


  1. Go to Shopify Admin > Products and tag fragile products with "fragile"
  2. Wait a few seconds for the tag to sync
  3. In Bird app, go to Configure Locations > [Select Location] > Edit Settings > Product Availability
  4. Select Exclude products tagged with
  5. Start typing "fragile" and select it from the autocomplete dropdown
  6. 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:

  1. Remove ineligible product: Complete delivery order for eligible items
  2. Separate orders: Place two orders (one for delivery, one for pickup/shipping)
  3. 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:


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:


  1. Create multiple delivery locations/zones
  2. Configure different product availability rules per location
  3. 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:

  1. Verify the tag is saved in Shopify (go to Products > [Select Product] > Tags)
  2. Wait 10-30 seconds for Shopify to sync the tag
  3. Refresh the Bird app page and try typing the tag again
  4. 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:

  1. Check your Product Availability settings in Bird app
  2. Verify product tags in Shopify match the tags configured in Bird app
  3. Check if you're using "Include" or "Exclude" mode
  4. For "Include" mode: Ensure ALL products in cart have the required tag
  5. For "Exclude" mode: Ensure NO products in cart have the exclusion tag
  6. 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:

  1. Tag only the products you want to exclude (e.g., "no-delivery")
  2. Select Exclude products tagged with in Product Availability
  3. Add the exclusion tag
  4. 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

Was this article helpful?

Share your feedback

Cancel

Thank you!