Blog6 min read

WooCommerce delivery zones by postcode

Limit WooCommerce delivery to specific postcodes with wildcard rules — what native shipping zones can and can't do, and the restaurant-grade alternative.

If you deliver food, you don't deliver everywhere. The pizza that's perfect at 15 minutes is inedible at 50 — so every delivery restaurant needs a hard boundary: these postcodes yes, everything else no. Here's how to do that in WooCommerce, what the native tools get wrong for restaurants, and how CloverWoo's Delivery Zones feature handles it.

What WooCommerce shipping zones do (and don't do)

WooCommerce ships with Shipping Zones (WooCommerce → Settings → Shipping). You can create a zone, attach postcodes to it, and offer a 'Local delivery' rate only inside that zone. For simple cases this works — and it's free and built-in, so try it first.

The restaurant-shaped problems show up fast:

  • Customers only discover they're outside your area at the final checkout step — after building a cart. That's an abandoned order and an annoyed customer.
  • Postcode entry is exact-match unless you know the wildcard syntax, and bulk-managing hundreds of postcodes in the small settings box is painful.
  • Shipping zones gate the shipping rate, not the order experience — no friendly 'we don't deliver there yet' message, no prompt to switch to pickup.

Postcode wildcards: cover an area without listing every code

Wildcards are what make postcode allow-lists manageable. CloverWoo's Delivery Zones accepts a comma-separated allow-list where * matches any run of characters and ? matches a single character:

  • 90210, 90211, 90212 — exact codes
  • 902* — every US ZIP starting with 902
  • SW1A* — a London district and everything inside it
  • M5V ?A? — Canadian codes with a specific pattern

US ZIPs, UK postcodes, and Canadian postal codes all work out of the box — the matcher is format-aware, so spacing and case differences in UK/Canadian codes don't cause false rejections.

Setting up Delivery Zones in CloverWoo (2 minutes)

  1. In WordPress admin, open Clover → Settings → Restaurant Features.
  2. Toggle on Delivery Zones (it's opt-in — off by default).
  3. Paste your allow-list: e.g. 902*, 90069, 90046.
  4. Save. Checkout now validates the delivery postcode against the list before payment.

Customers inside the zone check out normally. Customers outside it get a clear 'not in our delivery area yet' message before they pay — and if you also run pickup, they can switch the order type instead of abandoning it.

Tip: Pair Delivery Zones with a Minimum Order Amount for delivery orders — the two together are what make delivery economics work: only nearby orders, and only orders big enough to cover the drive.

When you need more than postcode rules

Postcode allow-lists cover most restaurants. If you need true radius-based zones (circles on a map), distance-based fees, or per-zone delivery pricing, dedicated delivery plugins exist for that and can run alongside CloverWoo — CloverWoo handles the Clover sync, payments, and kitchen printing either way. For the common case of 'we deliver to these areas, full stop', the built-in feature means one less plugin to buy and maintain.

Frequently asked questions

Does WooCommerce restrict delivery by postcode natively?

Partially. WooCommerce Shipping Zones can limit a local-delivery rate to listed postcodes, which works for simple cases. What it lacks is the restaurant UX: early validation, a friendly out-of-area message, an easy wildcard allow-list, and a pickup fallback — which is what a dedicated delivery-zones feature adds.

Which postcode formats does CloverWoo's Delivery Zones support?

US ZIP codes, UK postcodes, and Canadian postal codes work out of the box, with * and ? wildcards for pattern matching. The matcher normalises case and spacing so 'sw1a 1aa' and 'SW1A1AA' both match SW1A*.

Can customers outside the zone still order pickup?

Yes. Delivery Zones only gates the delivery order type. If a customer is outside the area and your store offers pickup, they can switch to pickup at checkout and complete the order normally.

Do I need a separate delivery-area plugin if I use CloverWoo?

Not for postcode-based zones — it's included in the opt-in restaurant feature pack at no extra cost. You'd only add a specialist plugin if you need map-radius zones or per-zone delivery fees.

Run Clover + WooCommerce as one system

CloverWoo — sync, payments, and POS operations in one plugin for $60/month.