🚀 Ready to optimize your WooCommerce & Shopify shipping setup? Get FREE early access to a new product →

How to set up Shopify Shipping Based on Zip Code / Postcode / Postal Code?

How to set up Shopify Shipping Based on Zip Code : Postcode : Postal Code
Updated:
2026-06-23
Reading time:
7 minutes read

Relying on default shipping zones can quickly eat into your profit margins when delivering to remote or highly specific areas. In this guide, I’ll show you exactly how to set up Shopify shipping based on postcodes to ensure you charge the right amount every time. Learn how to take full control of your logistics and automate your zip code-based rates. 

Key Takeaways

What you need to know Detail
Shopify’s limitation Native shipping zones stop at country/state level – no postcode targeting
The solution Octolize Shipping Rates Rules & Zones app adds postcode-level zones with WHEN→THEN pricing rules
Plan requirement Carrier-Calculated Shipping (CCS) needed: included on Shopify Advanced, Plus, and Grow (annual)
Three input formats Full codes, numeric/alphanumeric ranges (2600...2898), and wildcards (AB*)
Zone matching Top-to-bottom: most specific zone listed first always wins

How Does Shopify Shipping Work? (For Beginners)

Shopify organises shipping around three core concepts: shipping profiles (which products), shipping zones (where you ship), and shipping rates (how much it costs). These stack together to determine what a customer sees at checkout, but none of them natively support postcode-level targeting.

Here’s how they relate:

Concept What it controls Where to find it
Shipping profile Which products follow which rules Settings → Shipping and delivery → Profiles
Shipping zone Countries/regions you ship to Inside each profile
Shipping rate Methods and prices shown at checkout Inside each zone

To add a shipping zone: go to Settings → Shipping and delivery, choose your profile, scroll to Shipping zones, click Add zone, select countries, then use Add shipping option to define the rate.

This works well for country- or state-level pricing. The limitation relevant here: Shopify’s native zones can only be narrowed to countries and states/regions, not specific postcode lists or patterns.

For a full walkthrough of Shopify’s shipping fundamentals, see our guide on how to set up shipping zones on Shopify.

Why Set Up Shipping Based on Zip/Postcode in Shopify?

Postcode-based shipping lets you charge accurate rates for remote areas, run local delivery zones, and block orders from locations you can’t serve. None of which are possible with Shopify’s native zone system.

The five most common scenarios that require postcode-level control:

  • Remote area surcharges. Carriers charge a premium to deliver to locations like the Scottish Highlands (UK), the Canary Islands (Spain), or rural Australian postcodes. Country-level zones can’t reflect those surcharges — a postcode zone can.
  • Local delivery zones. If you use your own driver for customers within a 15-mile radius, you need to define that coverage area by postcode. Customers inside the zone see the local option; those outside see standard shipping.
  • City-level pricing differences. Capital-city delivery is often cheaper than rural delivery within the same country. Postcode zones let you price each area accurately rather than averaging everything together.
  • Geographic exclusions. Some islands, overseas territories, or restricted areas are commercially unviable to serve. Defining a zone for those postcodes with no rates assigned blocks those orders at checkout before they become fulfilment problems.
  • Tiered pricing within one country. A single country can span dramatically different logistics costs. Postcode zones let you apply distinct rate structures to different regions in the same shipping profile.

Does Shopify Support Postcode-Based Shipping Natively?

No. Shopify’s built-in shipping settings cannot target specific postcodes or ZIP codes. The most granular level Shopify supports natively is states and provinces within a country. To implement postcode-level shipping rules, you must use a third-party app.

This is a deliberate platform limitation, not a missing feature in early development. Shopify’s shipping zone architecture is designed for broad geographic coverage. Apps that use the Carrier-Calculated Shipping (CCS) API, like Octolize, extend that architecture to provide the postcode precision that merchants need.

According to Shopify’s own documentation, CCS-enabled apps are the supported mechanism for advanced, carrier-level shipping customisation.

What Is the Octolize Shipping Rates Rules & Zones App?

Octolize Shipping Rates Rules & Zones is a Shopify app that adds postcode-level zone targeting and a conditional pricing engine (WHEN→THEN rules) on top of Shopify’s native shipping. It carries the Built for Shopify badge and is rated 4.8★ on the Shopify App Store.

What can the Shipping Rates Rules & Zones app do?

Feature What it means in practice
Postcode zones Define shipping zones by exact codes, numeric ranges, or wildcards
WHEN→THEN rules Set prices conditionally based on weight, subtotal, item count, product tag, SKU, customer tag, time of day, or day of week
Multiple rate types Fixed cost, cost per unit, cost per weight unit, or % of subtotal
Free shipping threshold Automatically waive cost when cart exceeds a set value
Zone ordering First-match logic: most specific zone listed first wins
Zone duplication Clone an existing zone with all its rates in one click
Exclusion zones Define zones with no rates to block orders from specific postcodes

How to Set Up Postcode-Based Shipping in Shopify: Step-by-Step

The full setup takes around 20–30 minutes: install the app, create postcode zones, set the matching order, add pricing rules per zone. Here’s the complete walkthrough.

Step 1: Install the Octolize App

Visit the Shopify App Store listing, click Install, and follow the standard installation flow. The app automatically adds its rates to your existing Shopify shipping zones under Carrier and app rates.

After selecting your plan, you’ll land on the Zones & Rates screen. If you see a CCS banner instead, your current plan doesn’t have CCS enabled.

Shipping Zones & Rates screen

Refer to our documentation for more information about CCS and details on how to enable it in your Shopify store.

Step 2: Create a Postcode Shipping Zone

Click “Configure your first shipping zone” (or “Add shipping zone”) and fill in three fields: zone name, countries/regions, and the specific postcodes that define this zone.

Here’s what each field does:

  • Zone name — Internal label only; customers don’t see it. Use descriptive names like “Scottish Highlands”, “London Zone”, or “Remote Islands Surcharge”.
  • Countries and regions — Select from the countries you ship to (pulled automatically from Shopify settings).
  • Limit selected area to → Specific ZIP / Postal codes — This is the key field for postcode targeting.

Create a Postcode Shipping Zone

What are the three ways to enter postal codes?

You have three input formats, and you can mix them freely within the same zone:

1. Full exact codes: one per line or comma-separated:

2600
2610
2614
2616, 2617, 2618

2. Ranges: use an ellipsis (...) between start and end:

2619...2898

Covers every code between 2619 and 2898.

3. Wildcards: use an asterisk (*) to match all codes sharing a prefix:

AB*
KW*
IV*
PH*

AB* covers AB10 1AB, AB33 8AD, AB99 3ZZ, and every other code beginning with AB. For UK alphanumeric postcodes: SW1* captures SW1A 1AA, SW1H 0ET, and so on.

Pro tip from Octolize: Use ranges and wildcards wherever possible. Entering hundreds of individual codes works, but wildcards process faster at checkout and are far easier to maintain.

Click Save when done. The zone will appear in your Zones & Rates table.

Step 3: Set the Zone Matching Order

Zones are matched top-to-bottom. The first zone that matches the customer’s postcode “wins”. More specific zones must always sit above broader ones.

Example: if you have a “Scottish Highlands” zone (AB*, KW*, IV*) and a “United Kingdom” zone (all UK), the Highlands zone must be first. Otherwise a customer in Aberdeen (AB postcode) matches the general UK zone and gets the wrong rate.

United Kingdom shipping zones shopify

Use the Position column arrow buttons to reorder zones until the most specific are at the top.

Step 4: Add Shipping Rates to a Zone

Click the “+” button in the Actions column next to a zone to open the rate configuration screen, then fill in the name, pricing rules, and optional free shipping threshold.

add shipping rates to shipping zone shopify

The rate configuration screen includes:

  • Enable this rate: tick to make the rate visible at checkout; untick to temporarily disable without deleting.
  • Shipping method name: visible to customers (e.g., “Standard Delivery”, “Remote Area Surcharge”).
  • Description: optional, appears below the name at checkout; useful for delivery time estimates like “3–5 business days”.
  • Free shipping threshold: order value above which this rate becomes free.
  • Shipping cost calculation rules (WHEN → THEN): the conditional pricing engine.

New shipping rate based on zip code

How does the WHEN→THEN pricing engine work?

Each rule pairs a condition with an action. Available WHEN conditions: order weight, subtotal price, item quantity, product SKU, product tag, customer tag, time of day, day of week.

Shipping cost calculation rules

Available THEN actions: fixed cost, cost per unit, cost per weight unit, % of subtotal, or hide this method.

WHEN THEN Use case
Subtotal £0–£49.99 Fixed cost £6.99 Standard paid shipping
Subtotal £50–£999,999 Fixed cost £0.00 Free shipping above threshold
Weight 0–19.999 kg Fixed cost £12.99 Light parcel surcharge zone
Weight 20 kg–∞ Hide this method Exclude heavy items from method
Always 8% of subtotal Percentage-based pricing

Rules evaluate top-to-bottom; the first matching rule applies. Click + Add WHEN-THEN rule to add as many as needed.

What Are the Best Postcode Shipping Configurations? (Real-World Examples)

UK merchants handling Scottish Highlands surcharges

The standard UK setup creates a Highlands zone using wildcard postcodes and a higher rate, placed above a standard UK mainland zone.

Zone 1 (TOP): "Scottish Highlands & Islands"
Postcodes: AB3*, AB4*, AB5*, DD8*, FK1*, HS*, IV*, KA2*, KW*, PA2*, PA6*, PH*, ZE*
Rate: £18.99

Zone 2: "UK Mainland"
Countries: United Kingdom (no postcode restriction)
Rate: £5.99

Royal Mail and most UK couriers publish their Highland surcharge postcode lists. You can copy those directly into the zone definition.

Pro tip from Octolize: Use one of the ready-made zone setup scenarios to configure UK shipping zones based on zip codes in seconds.

Use one of the ready-made zone setup scenarios to configure UK shipping zones based on zip codes

US merchants setting up metro vs. rural pricing

Create a metro zone using the relevant ZIP code prefixes, then a continental US catch-all below it.

Zone 1 (TOP): "New York Metro"
ZIP codes: 100*, 101*, 102*, 104*
Rate: $4.99 (same-day courier)

Zone 2: "Continental US"
Countries: United States (no postcode restriction)
Rate: $9.99 (standard carrier)

The same pattern works for any US metro area — Chicago (606*), Los Angeles (900*–902*), Chicago, etc.

How do local delivery zones work with postcodes?

Define a zone covering your delivery radius by postcode, add a low-cost rate, and place a blocking zone for the same country below it with no rates.

Zone 1 (TOP): "Local delivery"
Postcodes: [your delivery-radius postcodes]
Rate: £2.00 (own driver, same-day)
Zone 2: "Outside delivery area"
Countries: [same country, no postcode restriction]
No rates → "Shipping not available" shown

“This is an excellent app for shipping as well as local delivery businesses that base your rates by zip codes. Customer support is top notch. We highly recommend giving it a try.”
— Store owner, US (via Shopify App Store review)

Frequently Asked Questions

Can I set up postcode-based shipping in Shopify without an app?

No. Shopify’s native shipping settings narrow zones to countries and states/regions only — not specific postcode lists or patterns. A third-party app using the CCS API is required.

Does postcode-based shipping work on Shopify Basic?

No. Carrier-Calculated Shipping, which the Octolize app requires to display rates at checkout, is not available on Shopify Basic. You need to upgrade to at least Shopify Grow.

Can I mix full codes, ranges, and wildcards in the same zone?

Yes. All three input formats can be combined freely within a single zone definition.

What happens if a customer’s postcode doesn’t match any zone?

They’ll see Shopify’s “Shipping not available” message. To serve all customers, include a broad catch-all zone at the bottom of the list with no postcode restriction.

Can I duplicate a zone to create a similar one faster?

Yes. Once a zone has at least one rate, a “More actions” button appears in the Zones & Rates table. Click it and choose Duplicate shipping zone. Duplicated zones include all original rates, but rates are inactive until manually enabled.

Does the app work with third-party shipping rates from other apps?

Yes. The Octolize Shipping Rates Rules & Zones app adds its own rates independently of other apps. Multiple CCS-enabled apps can coexist in the same store.

What is the difference between a shipping zone and a shipping profile in Shopify?

A shipping profile determines which products follow a set of rules (e.g., standard products vs. oversized items). A shipping zone sits inside a profile and defines where you ship. Postcode targeting is configured at the zone level.

Summary: How Octolize Solves Postcode-Based Shipping in Shopify

Shopify’s built-in shipping is built for simplicity. For anything more precise: remote surcharges, local delivery zones, geographic exclusions, or city-level pricing, you need postcode-level control that Shopify doesn’t provide natively. The Octolize Shipping Rates Rules & Zones app fills that gap with three postal code input formats (exact, range, wildcard), a flexible WHEN→THEN pricing engine, and first-match zone ordering that gives you complete control over which rate each customer sees.

Pre-sale support

Have a question before buying?

Our team usually replies within a few hours. Ask away — we'll help you find the right solution for your store.

Consent(Required)

Content Writer at Octolize

Bartosz Gajewski is a content and marketing specialist with a solid background in SEO, WordPress content strategy, and technical documentation for digital products. With years of hands-on experience in both in-house and freelance roles, he supports tech companies – especially in the SaaS and e-commerce space – by creating content that informs, engages, and drives results.

His approach blends storytelling with data-driven SEO, and he’s been involved in projects ranging from rebranding and product marketing to growth experiments and copywriting for complex software tools. On the blog, he shares actionable insights from his work across marketing teams, product documentation, and online store optimization.

Comments
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Check out our case studies

Castle Sefton Press featured image
Castle Sefton Press

Learn how Octolize solutions helped WooCommerce store based in the United Kingdom set up shipping scenarios.

Case study Metuchen
Metuchen Mower

Learn how Octolize helped Shopify store based in the USA set up distance based rates with a usage of Octolize Distance Based Rates.

Neuro-divergence case study
The Neurodivergence Project

Learn how Octolize helped NGO set up their WooCommerce rates with a usage of Flexible Shipping PRO.