How to Show Local Delivery Instead of Shipping in Shopify
Many Shopify merchants offer local delivery for nearby customers. It's often free or low-cost and provides a better customer experience than paid shipping. But when a customer qualifies for both local delivery and regular shipping, both options appear at checkout. Customers may pick shipping by mistake, missing the local delivery option entirely—or worse, creating confusion about which to choose.
The challenge: when your zones overlap, Shopify shows all eligible methods. If a customer's address falls within both your local delivery zone and your general shipping zone, they see both. You want local customers to see only local delivery, hiding paid shipping automatically. This guide explains how to do that.
What Shopify Offers (and Doesn't)
Shopify's shipping admin lets you create separate shipping zones and local delivery zones. You can configure a local delivery zone with specific ZIP codes, cities, or regions, and set a flat rate or free delivery for that zone.
Setting Up Local Delivery in Shopify
To create a local delivery option:
- Go to Settings → Shipping and delivery
- Under Local delivery, click Create zone
- Add your delivery area by ZIP codes, cities, or regions
- Set a delivery rate (free or a flat fee)
- Save the zone
This works well for offering local delivery. But Shopify does not automatically hide other shipping methods when a customer qualifies for local delivery. If your general shipping zone also covers the same area (e.g. you ship nationwide and also deliver locally in your city), both options will appear.
Shopify does not natively let you:
- Hide shipping methods when local delivery is available
- Automatically show only local delivery for nearby customers
- Conditionally hide shipping based on customer proximity or delivery zone eligibility
Native Workarounds: Tighten Your Zones
One approach is to exclude your local delivery area from your general shipping zones. For example:
- Create a local delivery zone for your city or ZIP codes (e.g. "90210-90215")
- Create a general shipping zone for the rest of the country, explicitly excluding those ZIP codes
This works, but it has drawbacks:
- Manual and error-prone. You must list all excluded ZIPs or regions carefully. If you miss a code or overlap zones, both methods may still appear.
- Difficult to maintain. If you expand your delivery area, you must update multiple zones.
- No flexibility for conditions. You can't say "show local delivery instead of shipping only for orders under $50" or "hide shipping for tagged customers." Zones are location-only.
Shopify Plus: Checkout Blocks
If you're on Shopify Plus, you can write custom JavaScript in a Checkout UI Extension to hide shipping when local delivery is available. This requires coding, testing, and deployment. Most merchants prefer a no-code solution.
Delivery Customization Apps
Shopify's delivery customization API (available on all plans) allows apps to hide shipping methods based on whether local delivery is eligible, the customer's location, or any other condition. Apps using this API can ensure local customers see only local delivery—without manually splitting zones or writing code.
These apps run server-side as part of Shopify's checkout flow, so they work reliably with all checkout types, including Shop Pay and accelerated checkouts.
Common Use Cases
Hide Shipping When Local Delivery Is Available
You want nearby customers to see only local delivery. When local delivery is not available (e.g. customer is outside your delivery zone), regular shipping options should appear.
Scenario
You offer free local delivery within your city and paid shipping for the rest of the country. When a customer's address qualifies for local delivery, you want to hide all shipping methods so they see only "Free Local Delivery."
Rule
Condition: Shipping method title contains "Local Delivery"
Action: Hide all methods that do not contain "Local Delivery"
Result
When local delivery is eligible, all shipping options are hidden. Only "Free Local Delivery" remains. For customers outside the local zone, local delivery is not eligible, so only shipping methods appear.
Show Local Delivery First, Hide Shipping
Instead of completely removing shipping options, you might want to show local delivery first and hide shipping methods to reduce clutter and encourage the local option.
Scenario
You offer local delivery and standard shipping. Both are technically available in your delivery area, but you want local customers to see only local delivery to avoid confusion.
Rule
Condition: A method containing "Local Delivery" is present
Action: Hide methods containing "Standard" or "Express"
Result
If local delivery is eligible (i.e. the method exists in the checkout), shipping methods are hidden. Customers outside the local zone see only shipping methods, as local delivery is not available.
Hide Shipping Based on ZIP Code Proximity
You can create a rule that hides shipping for specific ZIP codes that are within your delivery radius, even if you haven't set up a local delivery zone in Shopify.
Scenario
You deliver locally to ZIP codes starting with "902" (parts of Los Angeles). You want to hide paid shipping for those ZIP codes and show only free local delivery.
Rule
Condition: Shipping ZIP code starts with "902"
Action: Hide methods containing "Standard," "Express," or "Shipping"
Result
Customers in the 902xx ZIP range see only local delivery. Everyone else sees standard shipping options.
Combine with Cart Conditions
You might want to show local delivery instead of shipping only when the cart meets certain criteria—such as a minimum order total or the absence of oversized items.
Scenario
You offer free local delivery, but only for orders under 50 lbs. Heavy items (tagged heavy) should always show shipping, even for local customers.
Rule 1
Condition: Cart contains a product with tag "heavy"
Action: Hide method "Free Local Delivery"
Rule 2
Condition: Cart does not contain tag "heavy" AND a method containing "Local Delivery" is present
Action: Hide methods containing "Standard" or "Express"
Result
For light items within the local zone, customers see only local delivery. For heavy items, local delivery is hidden and only shipping appears.
How to Set This Up with Delivery Customization
The key to hiding shipping for local customers is to create a rule that:
- Detects when local delivery is eligible. This can be done by checking if a method containing "Local Delivery" or "Local Pickup" is present, or by checking the customer's ZIP code.
- Hides shipping methods when that condition is true. Target shipping methods by name, keyword, or exclusion (e.g. hide all methods that don't contain "Local").
Most delivery customization apps support conditional logic like "if method X is present, hide method Y."
Always Preview Before Publishing
Critical: Test every rule before making it live. Incorrect rules can hide all delivery options or show the wrong methods. Use preview or test mode to verify rules with real addresses—both inside and outside your local delivery zone—before activating them for customers.
Most delivery customization apps offer a preview or safe test mode where rules apply only to designated testers (e.g. your email or customers tagged shipweaver). Test with local and non-local addresses to confirm both scenarios work correctly, then go live.
Best Practices
- Test both local and non-local addresses. Make sure local customers see only local delivery, and non-local customers see only shipping.
- Use clear naming. Name your local delivery method clearly (e.g. "Free Local Delivery" or "Same-Day Local Delivery") so it's easy to identify in rules and at checkout.
- Consider edge cases. What happens if the customer changes their address at checkout from local to non-local (or vice versa)? Delivery customization rules re-evaluate automatically, so methods will update in real time.
- Don't hide everything. Make sure at least one delivery method remains visible. If all methods are hidden, customers cannot complete checkout.
- Document your rules. Keep notes on why each rule exists, especially if you manage multiple rules or work with a team.
Using ShipWeaver
ShipWeaver is a free Shopify app that uses delivery customizations to hide, rename, reorder, and sort shipping methods at checkout. It works on all Shopify plans and does not require coding.
Key features for showing local delivery instead of shipping:
- Conditional hiding: Hide shipping methods when local delivery is present, or based on ZIP code, city, or region.
- Combine conditions: Apply rules only when the cart total, product tags, or customer attributes match your criteria.
- Preview mode with safe testing: Rules in Preview status apply only to testers (your email or customers tagged
shipweaver), not regular customers. Test safely before going live. - Priority-based rules: Control which rule applies first by reordering them.
ShipWeaver only changes how shipping options display at checkout. It does not calculate rates, set prices, or integrate with carriers. Your existing carrier rates and shipping setup remain unchanged.
Install ShipWeaver from the Shopify App Store. For detailed setup and examples, see the ShipWeaver FAQ.
Key Takeaways
- Shopify shows both local delivery and shipping when a customer qualifies for both.
- You can manually exclude local ZIP codes from shipping zones, but it's tedious and inflexible.
- Shopify Plus merchants can use Checkout Blocks (requires coding).
- Delivery customization apps work on all Shopify plans and can hide shipping when local delivery is available.
- Always test with both local and non-local addresses in preview mode before going live.
Related
How to Hide Shipping Methods · How to Hide Shipping Methods by ZIP Code · How to Reorder Shipping Methods · FAQ · Blog