Reviewed October 28, 2026
Setting Up Local Delivery in Shopify: Zones, Fees, and Cutoffs
Local delivery is the one fulfillment option a small store can offer that large marketplaces struggle to match: ordered this morning, at the door this afternoon. Shopify supports it natively, but a good setup is more than switching it on. Delivery zones decide who sees the option, fees decide whether it makes money, and cutoff times decide whether your team can keep the promise on a busy Friday. This chapter sets up local delivery in order, with the operational decisions made before the first order arrives, not discovered during it.
Draw delivery zones you can actually serve
Start smaller than your ambition. Define the first zone by drive time, not by a flattering radius on a map: the area your driver can cover and return from comfortably inside the promised window. In Shopify you can build zones from postal codes or a radius around a location, per fulfillment location. Postal code zones are more honest, because rivers, highways, and one way systems make circles lie. Price the zone honestly by checking a few real addresses at its edges. You can expand later in an afternoon; shrinking a zone after shoppers have used it creates disappointed regulars, which is the expensive direction to learn in.
Related reading
If this topic is useful, these earlier guides go deeper on connected questions: Packing Slips and Invoices in Shopify: Setup That Saves Support Time, Shopify Flow for Beginners: Five Automations Worth Setting Up First, and Shopify Inventory Tracking Setup: Counts, Locations, and Low Stock Habits.
Set fees and minimums that protect the margin
Decide the economics before the settings screen. Common patterns are a flat fee, free delivery above a basket threshold, or free within the closest zone and paid beyond it. Model the true cost of a run: driver time, fuel or courier cost, and packaging, then place the free threshold above your average order value by enough to matter, so delivery pulls baskets up instead of subsidizing orders you would have shipped anyway. In Shopify, local delivery rates are set per zone, and you can condition free delivery on a minimum spend. Whatever you choose, state the fee and the threshold on the delivery information shoppers see before checkout, because a surprise fee at the final step is the top reason local delivery orders get abandoned.
Configure cutoffs, prep time, and the order flow
Set a daily cutoff that matches your real packing capacity, such as order by 2 pm for delivery by 6 pm, and build your prep time into the promise rather than hoping for a quiet day. In the admin, local delivery orders need a clear routine: a printed or listed run order, address checks for apartments and gate codes, and a text or call habit for the arrival window. Use the delivery instructions field shoppers can fill at checkout and actually read it; that field is where door codes and leave at side door notes live. Enable order status updates so shoppers get the out for delivery signal they expect from larger services.
Test the whole promise before announcing it
Place test orders from addresses at the center and the edge of each zone, at different basket values, and one minute after the cutoff. Confirm the option appears only inside the zone, the fee math matches your intent, and the cutoff behaves as written. Then run one real end to end delivery to a friend or staff address and time it. Only after that should local delivery be announced on the homepage, product pages, and checkout information. A conservative launch that keeps its promise for a month builds the habit; an ambitious launch that fails publicly in week one teaches your neighborhood not to trust the option.
Frequently asked questions
What is the difference between local delivery and local pickup in Shopify?
Local pickup means the shopper travels to you; local delivery means your team or a courier travels to them, usually within a defined zone and often same day. They are separate options with separate settings, rates, and checkout presentation, and many stores offer both: pickup free, delivery paid or free above a threshold. Shoppers choose between them at checkout based on the address they enter. Setting up one does not enable the other, so configure and test each flow on its own.
Should local delivery be free?
Only if the math works at your typical basket size. Free local delivery above a threshold is the most common sustainable pattern, because it lifts order values while protecting small orders from eating a full delivery cost. Flat modest fees also work when the speed is the attraction. Completely free delivery on every nearby order usually survives only where routes are dense and baskets are large. Run your numbers for a month of real orders before widening any free offer.
How do I handle delivery addresses just outside my zone?
The shopper will simply not see local delivery at checkout, so the store must communicate zones before that moment: a delivery area page or section listing the neighborhoods and postal code areas covered, written in text a shopper can check quickly. Offer local pickup and standard shipping as the visible fallback. Keep a short list of the outside zone requests you receive; that list is your evidence based map for the next zone expansion, far better than guessing which direction to grow.
Can I pause local delivery on days I cannot staff it?
Yes, and you should plan how before you need to. You can disable the option per location or adjust availability, and a short notice on the storefront and social channels explains a pause far better than silent failed promises. Set the cutoff earlier on short staffed days rather than accepting orders you will deliver late. Reliability is the product with local delivery: a smaller promise kept every day outsells a grand promise kept most days.