Local delivery and local pickup are two distinct Shopify fulfillment methods with different setups, costs, and customer expectations. Delivery means you bring the order to the customer’s address inside a defined radius. Pickup means the customer comes to your store. Merchants who confuse the two end up with misconfigured checkouts and fulfillment chaos.
This guide covers what each method does, when to offer it, and how to decide when “both” is the right answer.
What each method actually does in Shopify
It’s worth being precise about how Shopify implements each, because the admin flows are different and the checkout presentation to customers is completely different.
Local pickup (also called in-store pickup or BOPIS) is configured per-location in Settings → Locations. You toggle pickup on at a location, set the expected ready time, and add pickup instructions. At checkout, customers see your location(s) as a pickup option alongside shipping rates. The customer selects a location, checks out, and comes to the store. The order goes into your “pickup” fulfillment flow — you stage it, mark it as ready, the customer receives a ready notification, and they collect it.
Local delivery is configured in Settings → Shipping and Delivery. You enable it for a location, define a delivery zone (radius or postal codes), set a fee or free-delivery threshold, and optionally add delivery instructions. At checkout, customers within the delivery zone see a “local delivery” option alongside other fulfillment choices. You fulfill the order by dispatching it yourself — your staff, your vehicle, your timeline. You mark it as delivered in Shopify Admin.
The operational difference is the direction of movement: pickup, the customer moves to the goods; delivery, the goods move to the customer. Everything downstream — staffing, cost structure, timing, customer communication — flows from this.
When does local delivery make sense?
Local delivery earns its keep when:
The goods are heavy, fragile, or awkward to transport. Furniture, appliances, large art pieces, and heavy sporting goods are difficult for customers to pick up without a truck or van. Local delivery removes that friction entirely and is often the difference between the sale happening and the customer going to a competitor with delivery.
Your average order value is high enough to absorb delivery cost. If a delivery trip costs you $20-40 in staff time and fuel, a $60 average order value makes delivery marginally viable. A $200+ average order value makes it clearly profitable. Below about $50 average order value, local delivery is typically a loss-leader that only makes sense for competitive reasons.
Customers in your area genuinely expect it. In dense urban markets, local delivery is table stakes — customers compare you to restaurants and grocery stores that deliver the same day. In suburban or rural markets, customers are more accustomed to picking up or waiting for shipping.
You have the staff and vehicle capacity to execute. Local delivery is operationally demanding. Staff hours spent driving are staff hours not spent on the floor. If you’re running tight on staffing, adding a local delivery commitment creates a reliability problem that hurts your reputation faster than not offering delivery at all.
Last-mile delivery is consistently the most expensive leg of the supply chain — logistics and supply-chain research generally pegs it as the single largest share of total delivery cost. That cost profile is why many independent retailers limit local delivery to a specific zone and order minimum, rather than offering it broadly.
When does local pickup make sense?
Local pickup (BOPIS) makes sense for almost every retailer with a physical location, but it’s particularly high-value when:
Customers want same-day fulfillment without a delivery window. Pickup eliminates the “you need to be home between 2-6pm” problem. Customers with flexible schedules (or who are nearby anyway) choose pickup over waiting.
You carry products where touching, trying, or inspecting matters. Apparel, furniture, electronics — categories where customers might want to inspect the item at the counter before leaving. Pickup creates a final-inspection moment that delivery doesn’t.
You run more than one location. Once pickup spans several stores, the deciding factor stops being “pickup vs delivery” and becomes “which store has it.” That’s where native Shopify thins out: it shows a combined online stock number, not live per-store availability, and the shopper only chooses a pickup location at checkout. Showing real-time per-store stock in an in-cart store picker — so the shopper sees which store has the item and commits before checkout — is the layer a multi-location BOPIS app adds on top of native pickup.
You want to drive foot traffic into the store. A customer who comes to pick up their online order is already in your store. Research on BOPIS conversion consistently finds that pickup customers make additional in-store purchases at higher rates than customers who only shop online. For retailers with complementary impulse-buy merchandise, this is a meaningful revenue multiplier.
Your shipping costs are high relative to order value. For a merchant shipping $35-60 average order values via carrier, the shipping cost is a material percentage of order value. Pickup eliminates carrier cost entirely for that order — higher margin, happier customer.
For a deep dive on the BOPIS setup flow, our complete BOPIS setup guide covers the end-to-end configuration.
Should you offer both?
The case for both is strongest when your catalog spans different product types with different logistical profiles. A home goods store selling both heavy sofas (customers want delivery) and smaller accessories (customers want pickup or fast shipping) benefits from having both options at checkout.
The case against both is operational complexity. Each fulfillment method requires separate staff training, separate order management discipline, and separate customer communication templates. If your team is small and pickup is already stretching capacity, adding delivery creates two under-resourced fulfillment methods instead of one well-run one.
A practical approach: start with whichever method matches your highest-volume product category and your current operational capacity. Add the second method once the first is running cleanly. Most merchants get pickup running before delivery because pickup has lower ongoing operational cost.
Configuration: setting up both in Shopify
If you decide to offer both, here is the configuration path for each:
Setting up pickup (if not already done):
Go to Settings → Locations. For each location you want to offer pickup, enable pickup, set the expected ready time, and write pickup instructions. The instructions field is where you tell customers which entrance to use, what to bring, and your hours — it appears in the checkout and in the confirmation email. This is more important than most merchants realize; see our pickup confirmation email guide for how these instructions flow into customer communications.
Setting up local delivery:
Go to Settings → Shipping and Delivery. Under “Local delivery,” enable it for the appropriate location. Define your zone: either a radius in miles/km, or a list of postal codes for precise targeting. Set a delivery fee (or $0 for free delivery above a threshold). Write delivery instructions — these appear in the checkout and in the “out for delivery” email. Save.
Test both methods with a checkout session from a logged-out browser to verify the options appear as expected and don’t conflict.
What happens at checkout when both are available?
When a customer is within your delivery zone and you have both local delivery and pickup enabled, the checkout presents options:
- Local pickup (with the location name and expected ready time)
- Local delivery (with your delivery fee or “free” label)
- Shipping rates (if the products aren’t pickup-only)
The customer chooses one. There is no conflict or split at this level — the conflict only arises when a single cart contains items that have incompatible fulfillment restrictions (a pickup-only item combined with a shippable item). For that scenario, see our pickup-only products guide and our guide on handling mixed carts with a pickup + shipping split.
A decision matrix for which to offer
| Scenario | Pickup | Delivery | Both |
|---|---|---|---|
| Low-AOV, high-volume, small items | Strong fit | Rarely profitable | Consider pickup first |
| High-AOV, heavy or bulky goods | Good fit | Strong fit | Both if staffing allows |
| Single staff member | Viable at low volume | High risk | Pickup only, limit volume |
| Dense urban location | Good | Table stakes | Both expected |
| Suburban / rural location | Primary method | Optional | Pickup first |
| Trying to increase in-store foot traffic | High value | No foot-traffic lift | Pickup |
How do you price local delivery without losing money?
Local delivery pricing on Shopify is flexible — you can set a flat fee, a free-delivery threshold, or a distance-based fee if you’re using a delivery management app. Most merchants who run their own delivery vehicles offer free delivery above a certain order total, with a flat delivery fee below it.
The break-even calculation for a delivery trip depends on your cost inputs. If you’re sending a staff member in a vehicle, the cost per trip includes labor time (door-to-door), fuel, vehicle wear, and the opportunity cost of that staff hour not being spent on floor sales or staging pickup orders. A rough model for a 30-minute delivery trip at $20/hour labor:
- Labor: $10
- Fuel and vehicle: $3-5 (dependent on vehicle type and distance)
- Total per trip: ~$13-15
At that cost, a free-delivery-above-$75 threshold with a $5 delivery fee below $75 means you lose money on every delivery under $50, break even around $75-100, and earn margin above that. If your average local delivery order value is $120, delivery economics work. If it’s $45, they don’t.
The pricing structure also affects customer behavior at checkout. A $5 delivery fee on a $40 order frequently causes the customer to choose pickup or standard shipping instead — which may actually be the outcome you want if $40 delivery orders are unprofitable. Setting a minimum order for local delivery eligibility (e.g., delivery only available on orders over $60) removes the unprofitable-delivery problem at the source.
What does the staffing comparison actually look like?
Pickup and local delivery have fundamentally different staffing profiles. Understanding the difference helps you project costs before committing to either model.
Pickup staffing model: One staff member can handle a pickup order in 5-15 minutes — locating the item, staging it, marking it as ready. Between order arrival and pickup, the item sits in a staging area. The staff time is concentrated in preparation; after that, the counter handoff takes another 2-3 minutes. A well-run pickup operation can handle 25-40 orders per staff hour if the pick process is systematized and staging is near the counter.
Delivery staffing model: One delivery trip takes 20-45 minutes depending on distance, parking, and whether the customer answers the door. During that time, the staff member is unavailable for any other task. You cannot batch more than a handful of deliveries per trip without route planning. For high-density urban routes, batching is practical; for suburban routes with 10+ minute gaps between stops, it’s not.
The implication: if you have limited staff, pickup is far more efficient per order than delivery. Delivery makes staffing sense when order density in a zone is high enough to support routes with multiple stops per trip, or when your products require delivery by nature (furniture assembly, appliance installation).
According to Shopify’s guide on local delivery setup, local delivery is available on all Shopify plans and requires no additional subscription. Notification templates for delivery (“Out for Delivery”, “Delivered”) follow the same customization path as pickup emails — Settings → Notifications. The same principle applies: set an honest delivery window before you optimize for conversion.
Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants.
Next steps
- If you’re starting with pickup, follow our complete BOPIS setup guide for the full configuration walkthrough
- Understand how to correctly configure pickup-only products to prevent fulfillment conflicts with our pickup-only products guide
- Learn how per-location capacity caps keep each store’s pickup volume manageable in our capacity management guide
- For apps that enforce pickup-only checkout, handle mixed carts, and cap location capacity, install BopiSafe