Maria runs a meal prep delivery service in Austin. She delivers to 47 zip codes within 30 miles of her commercial kitchen. The problem? Every customer in Texas sees her "Same-Day Local Delivery" option at checkout, including someone in El Paso, 580 miles away. She's already had three customers select it and then send confused emails asking why their food never showed up.

If you need to hide shipping methods by zip code in Shopify, you've probably hit the same wall Maria did. Shopify lets you create shipping zones and assign rates to them, but it doesn't let you control which rates show up at checkout based on a customer's specific zip code. Everyone in the zone sees everything.

In this guide, we'll cover:

  • What Shopify offers natively for zip code shipping (and where it falls short)
  • Five real scenarios where zip code shipping rules protect your margins
  • How to set up your first zip code rule, step by step
  • Tips for combining zip codes with other conditions for advanced control

By the end, you'll know exactly how to show the right shipping options to the right locations. (For a broader look at all the ways you can customize shipping at checkout, see our complete guide to hiding shipping methods in Shopify.)

Want to skip ahead? HideShip lets you hide, show, and rename shipping methods at checkout based on zip code, cart total, customer tag, and more. No code required. Works on all Shopify plans with a 7-day free trial.

Why zip codes matter for shipping rules

Shopify's shipping system groups customers into shipping zones by country or state. Every customer in that zone sees every rate assigned to it. For stores with simple nationwide shipping, that works fine.

But the moment your shipping gets location-specific, the zone system breaks down. Here's why:

  • Local delivery businesses (bakeries, florists, meal prep, furniture) need to show delivery options only to customers in their service area
  • Metro vs. rural merchants deal with carrier surcharges and service limitations in remote areas that don't apply to urban customers
  • Alaska and Hawaii sellers know that ground shipping doesn't work for these states, but Shopify still shows it
  • Regional promotions like free shipping for customers near your warehouse only make sense for certain zip codes

According to Baymard Institute, 48% of shoppers abandon their carts because of unexpected extra costs like shipping. Showing a $45 freight rate to a customer five miles from your warehouse isn't just confusing. It's a conversion killer.

What Shopify offers natively for zip code shipping

Before you install anything, it's worth understanding what Shopify gives you out of the box.

Shipping zones with postal code groups

In your Shopify admin, go to Settings > Shipping and delivery and click Manage rates. You can create shipping zones grouped by postal codes and assign rates to each zone.

For example, you could create a "Local" zone with 50 zip codes and a "National" zone for everything else, then assign different flat rates to each.

The limitation: Every customer in a zone sees every rate in that zone. If your Local zone has both "Same-Day Delivery ($5)" and "Standard Shipping ($8.99)," both show to everyone in those zip codes. You can't conditionally hide one based on what's in the cart or who the customer is.

Local delivery with postal codes

Shopify also supports native local delivery with postal code targeting. You can enter specific zip codes and set up to nine additional delivery zones, each with its own pricing.

The limitations are significant:

  • Maximum of nine delivery zones (not enough for complex service areas)
  • No conditional logic. You can't hide standard shipping when local delivery applies.
  • Local delivery doesn't work with accelerated checkout (Apple Pay, Google Pay, Amazon Pay)
  • You can't combine zip code conditions with cart total, product type, or customer tags

What you can't do natively

To be direct: Shopify's built-in settings don't support hiding specific shipping methods for specific zip codes. You can't say "show Rate A only for these 20 zip codes" or "hide Rate B when the zip code starts with 995." For that kind of control, you need a delivery customization app built on Shopify Functions.

Five scenarios where zip code shipping rules save you money

These are the setups we see most often across stores using zip code rules. Each one solves a real problem that Shopify's native settings can't handle.

Scenario 1: Show local delivery only in your delivery area

The merchant: A bakery in Portland delivering fresh pastries within a 15-mile radius.

The problem: All Oregon customers see "Same-Day Local Delivery ($3.99)" at checkout, even if they live in Bend, three hours away.

The rule: Show "Same-Day Local Delivery" only when the zip code is in [972xx Portland metro codes]. Hide it for everyone else.

The result: Only customers in the delivery area see the option. No more confused emails, no more orders you can't fulfill.

Scenario 2: Hide express shipping for rural zip codes

The merchant: An outdoor gear retailer shipping from Denver. Express carriers charge steep surcharges for rural mountain zip codes, and delivery timelines aren't guaranteed.

The problem: Rural customers select "Express 2-Day" at checkout, pay the standard express price, and then receive their order in five days. Cue the angry reviews.

The rule: Hide "Express 2-Day Shipping" when the zip code starts with [813, 814, 816] (rural Colorado prefixes).

The result: Rural customers see ground options with realistic timelines. Express stays available for metro customers where carriers can actually deliver on the promise.

Scenario 3: Free shipping for zip codes near your warehouse

The merchant: A pet food company with a warehouse in Chicago's west suburbs. Shipping to nearby zip codes costs almost nothing, so they want to offer free shipping as a local incentive.

The rule: Show "Free Local Shipping" when the zip code starts with [601, 604, 605] AND cart total is greater than $35.

The result: Chicago-area customers get free shipping on orders over $35. Customers outside the area see standard rates. The company isn't subsidizing cross-country shipping.

Ready to set up zip code rules like these? HideShip supports zip/postal code as a condition type, with prefix matching for easy zone setup. 7-day free trial on all plans.

Scenario 4: Handle Alaska and Hawaii shipping differently

The merchant: A supplements brand shipping nationwide from California. Ground shipping to Alaska and Hawaii takes 10+ days and costs twice as much as continental US rates.

The problem: AK/HI customers see "Free Ground Shipping" (which was designed for the lower 48) and select it. The company eats the cost difference or disappoints the customer with a 2-week delivery window.

The rule: Hide "Free Ground Shipping" when the state is AK or HI. Show only "Priority Air ($12.99)" for these states.

The result: Alaska and Hawaii customers see rates and timelines that match reality. The brand stops losing money on every AK/HI order.

Scenario 5: Block freight shipping for PO Box addresses

The merchant: A furniture company that ships large items via freight carriers. Freight can't deliver to PO Boxes.

The problem: Customers with PO Box addresses select "White Glove Freight Delivery" and the order fails at fulfillment. The company has to contact the customer, reship to a physical address, and absorb the extra cost.

The rule: Hide "White Glove Freight Delivery" when the address line contains "PO Box" or "P.O. Box."

The result: PO Box customers see parcel shipping options only. Freight delivery appears only for physical addresses. Failed deliveries drop to zero.

How to set up zip code shipping rules (step by step)

Let's walk through the actual setup. We'll use HideShip as the example, but the general process is similar with any delivery customization app that supports zip code conditions.

Step 1: Map your zip code zones

Before creating any rules, figure out which zip codes need different shipping treatment. Group them by purpose:

  • Local delivery zone: Zip codes within your delivery radius
  • Metro zone: Urban zip codes where all carriers perform well
  • Rural/remote zone: Zip codes with surcharges or limited service
  • Excluded zone: Areas you don't ship to at all

Pro tip: You don't need to enter every zip code individually. Use prefix matching to cover entire regions. For example, "787" covers all 787xx zip codes in the Austin metro area. This keeps your rules clean and manageable.

Step 2: Install a delivery customization app

Shopify's native shipping settings don't support conditional hiding by zip code. You need an app built on Shopify Functions like HideShip. When evaluating apps, look for:

  • Zip/postal code as a supported condition type
  • Prefix and wildcard matching for efficient zone management
  • Built for Shopify badge (quality and performance guarantee)
  • No-code rule builder you can manage yourself
  • Works on all Shopify plans (not just Plus)

Step 3: Create your first zip code rule

Open HideShip and create a new customization. Here's a walkthrough for the most common setup: hiding a local delivery rate for customers outside your delivery area.

  1. Choose the condition: Select "Zip Codes" as the condition type
  2. Set the operator: Choose "not contains" (to target customers OUTSIDE your area)
  3. Enter your zip codes: Type in your local delivery zip codes or prefixes (e.g., "787, 786, 789" for Austin area)
  4. Select the shipping method to hide: Choose "Same-Day Local Delivery" from your rate list
  5. Save the rule: It activates immediately

The result: anyone whose zip code doesn't match your list won't see the local delivery option at checkout.

Step 4: Test with different zip codes at checkout

Testing is the step most merchants skip, and it's the step that prevents headaches later.

  1. Place a test order using an address in one of your local zip codes. Verify that local delivery appears.
  2. Place another test order using an address outside your zone. Verify that local delivery is hidden.
  3. Test a border zip code if you have one. Make sure it lands on the right side of your rule.
  4. Check that at least one shipping rate remains visible for every zip code. Shopify blocks checkout if no shipping method is available.

If something looks wrong, double-check that your zip code prefixes are correct and that you selected the right shipping method name. A common mistake is entering the wrong prefix length. "78" covers all of central Texas, while "787" narrows it to just the Austin metro.

Watch the walkthrough

Want to see the full setup in action? This video walks through creating zip code shipping rules in HideShip from start to finish:

Combining zip codes with other conditions

Zip code rules get even more powerful when you combine them with other conditions in a single rule. Here are three combinations we see merchants use regularly.

Zip code + cart total

Use case: Free local delivery for orders over $50 in your area.

Rule: Show "Free Local Delivery" when zip code is in [your local codes] AND cart total is greater than $50. This means local customers still pay for delivery on small orders, but larger orders ship free. Customers outside the area never see the option regardless of cart size.

Zip code + product tags

Use case: Hide freight shipping for small items in local zones.

Rule: Hide "Freight Delivery" when zip code is in [local codes] AND product tag is NOT "oversized." Local customers buying small items see standard shipping. Local customers buying furniture still see freight. Remote customers see freight for all large items.

Zip code + customer tags

Use case: VIP same-day delivery in select metro areas.

Rule: Show "VIP Same-Day" when zip code starts with [metro prefixes] AND customer tag contains "vip." Only tagged VIP customers in the metro area see the premium option. Everyone else sees standard rates.

For a deeper look at customer-tag-based shipping rules, check out our guide to hiding shipping methods by customer tag. And if you're building rules around cart value, our guide to free shipping based on cart total covers that in detail.

Tips for managing large zip code lists

If you serve dozens or hundreds of zip codes, managing them efficiently matters. Here's what works.

Use prefix matching instead of individual codes. Instead of entering all 50 zip codes in the 787xx range, enter "787" as a prefix. One entry covers them all. Most delivery customization apps support this, and it makes your rules dramatically easier to maintain.

Group by state or metro area. Organize your zip codes by geography, not by rule. Keep a spreadsheet with columns for zone name, zip code prefixes, and which shipping rates apply. When you need to update a rule, you'll know exactly where to look.

Layer rules on top of Shopify's native zones. Use Shopify's built-in shipping zones for broad country and state grouping. Then use your app's zip code rules for the fine-grained control. This keeps your Shopify shipping settings clean and your app rules focused on the exceptions.

Start small and expand. Don't try to map every zip code on day one. Start with your most important zone (usually local delivery), verify it works, then add more zones as needed.

Watch the 25-rule limit. Shopify allows a maximum of 25 active delivery customizations per store, across all apps. If you have complex zip code logic, combine multiple conditions into fewer advanced rules rather than creating separate simple rules for each zone.

Frequently asked questions

Can I use zip code ranges or wildcards in shipping rules?

It depends on the app. HideShip supports exact match and prefix matching, so entering "902" covers all 902xx zip codes. Some apps also support ranges (e.g., "90210-90220"). Check your app's documentation for the specific matching options available.

Does this work with carrier-calculated shipping rates?

Yes. Delivery customization apps filter rates at the checkout step, regardless of how those rates are generated. Whether you use Shopify's built-in rates, carrier-calculated rates from UPS or FedEx, or rates from third-party shipping apps, zip code rules apply the same way.

What about international postal codes?

Zip code rules work for any country's postal code format. US ZIP codes, UK postcodes (e.g., "SW1A"), Canadian postal codes (e.g., "M5V"), Australian postcodes, and others are all supported. Enter them the same way you'd enter US zip codes.

How many zip code rules can I create?

Shopify allows up to 25 active delivery customizations per store across all apps. Each rule counts as one customization. For complex setups, use advanced rules that combine multiple conditions (zip code + cart total + product tag) into a single rule to stay within the limit.

Can I combine zip code rules with other conditions?

Yes. This is one of the most powerful features of a rule-based shipping app. Combine zip code with cart total, product tags, customer tags, weight, or country for highly targeted shipping logic. For example: "Hide Express Shipping when zip code starts with 995 AND cart total is less than $100."

Set up zip code shipping rules and stop showing the wrong rates

Here's what it comes down to: every shipping option that doesn't belong at checkout is a point of friction. And friction costs you sales.

Shopify's native tools handle broad shipping zones well, but they can't give you zip-code-level control over which rates appear. For that, you need a delivery customization app.

Three things to do right now:

  1. Map your zones: Figure out which zip codes need different shipping treatment. Start with your most important zone.
  2. Set up one rule: The local delivery zone rule is the most impactful first step. It takes five minutes and prevents irrelevant delivery options from confusing out-of-area customers.
  3. Test both sides: Verify that your rules show the right rates for local addresses and hide them for remote ones.

Your customers don't need to see every shipping option you offer. They need to see the ones that actually apply to where they live.

Install HideShip free on the Shopify App Store and set up your first zip code shipping rule in under 5 minutes. 7-day free trial on all paid plans, no Shopify Plus required.