Blog

Run BOPIS Across Multiple Shopify Locations

2026-06-08 · Updated 2026-06-08 · BopiSafe Team

Running BOPIS across multiple Shopify stores comes down to four things: showing real-time stock per store, letting shoppers choose where to collect, ranking stores sensibly, and capping each store’s volume. Single-location pickup is a simple toggle; multi-location pickup is a different problem, because every store has its own shelf and the shopper has to find the one that can actually fulfill.

This is the pillar guide — it walks through what Shopify does natively across locations, where it stops, and how the four pieces fit together.

What changes when you go from one pickup location to several?

With one store, “in stock” is unambiguous and pickup is a yes/no choice. Add a second store with different stock and four new questions appear at once:

  1. Which store has this item right now? (per-store stock)
  2. How does the shopper choose where to collect? (store picker)
  3. Which store should be the default or recommended? (routing and sort)
  4. What stops one store taking more pickups than it can stage? (capacity)

Native Shopify answers the first two partially and the last two not at all. A setup that felt fine with one location starts leaking oversells and wasted trips the moment the second store’s shelf differs from the first. The single-location basics are in our BOPIS setup guide; this guide is about what multiplies when you add stores.

How does Shopify handle pickup across multiple locations?

Shopify has real multi-location plumbing. You enable pickup per location, each location tracks its own inventory, and shoppers get a “Check availability at other stores” link on the product page. The platform supports pickup for up to 20 locations, provided multi-location inventory and multi-origin shipping are on, per the Shopify Help Center.

Two native behaviors shape everything else:

These aren’t flaws — they’re general-purpose defaults. They just mean a multi-location pickup store has to bring per-store truth forward and let shoppers act on it.

Native multi-location pickup vs. what BOPIS needs

NeedNative ShopifyMulti-location BOPIS
Per-store stock to shoppersBehind a product-page link, unsortedLive, in the cart, per store
Choose pickup storeA link, informationalIn-cart picker, carried to checkout
Store rankingNoneStock first, then priority, then distance
Per-location capacityNoneDaily/hourly caps, unselectable when full
Stock accuracy at orderRollup can misleadPer-store re-check + safety stock

The four pieces of multi-location BOPIS

1. Real-time per-store stock. Shoppers need to see which store has their item, read from Shopify’s own webhook-synced inventory so there’s one source of truth. This is the foundation — get it wrong and everything downstream promises shelves that aren’t there. Full detail in showing per-store stock for pickup.

2. The in-cart store picker. The control where the shopper chooses a store, showing live stock and committing one store per checkout. The chosen store is then locked into native checkout, so the order can’t be silently rerouted to another location between the cart and the confirmation. It belongs in the cart, not behind a product-page link. See the Shopify store picker guide.

3. Order routing and sort. With several stores, you decide how they rank — in-stock first, then your priority, then distance — and how default pickup load is distributed so one store doesn’t drown. The strategies are in pickup order routing and sending shoppers to the nearest location.

4. Per-location capacity. Each store can only stage so many pickups a day. Caps mark a full store unselectable until it clears, protecting your busiest locations. See pickup location capacity management.

Can I offer pickup at two locations but pull from one inventory?

This is one of the most common questions multi-location merchants ask, and the honest answer is: be careful what you’re really asking for.

If you want two storefronts where customers collect, but you only physically hold stock at one, then the second location can’t actually fulfill same-day — you’d be relying on store transfers to move units over, which adds a day or more. That’s fine for made-to-order or low-urgency goods, and poor for the “I’ll grab it on my way home tonight” promise that makes pickup convert.

For genuine multi-store pickup, hold real per-store stock and let the picker show it. Then each store offers same-day collection for what’s on its own shelf, and the shopper picks the store that can deliver on the promise. The rollup-versus-per-store distinction is worth understanding here — see location inventory vs online inventory.

Why this is worth getting right

Multi-location pickup is where the BOPIS growth is. US buy-online-pickup-in-store sales reached an estimated $154.3 billion in 2025 — about 10.5% of e-commerce — and are projected at roughly $177.9 billion in 2026, per Capital One Shopping research. The same research notes 85% of pickup shoppers made an additional purchase when collecting — a basket lift that compounds across every store you run.

When a cart mixes fulfillment types, the pickup group is where the per-store stock and picker live — the split flow is covered in mixed cart split pickup and shipping.

A worked example: a three-store apparel chain

Make it concrete. Say you run three apparel stores on Shopify — Downtown, Riverside, and a smaller Airport Mall kiosk — plus a fulfillment warehouse that ships online orders. Here’s how the four pieces play out.

Per-store stock. Each store tracks its own inventory. A popular jacket shows “40 online” — but that’s the rollup: 25 sit at the warehouse (ship-only), 10 at Downtown, 5 at Riverside, 0 at Airport Mall. A pickup shopper near Airport Mall must not be told “in stock,” because the rollup hides that their store has none.

Store picker. The shopper opens the picker and sees Downtown and Riverside as selectable (with stock), Airport Mall greyed out and sunk, and the warehouse not listed at all because pickup is off there. They pick the store that can actually fulfill.

Routing and sort. You’ve set Downtown as the priority store because it’s best staffed, so it leads when both have stock; distance breaks ties for shoppers closer to Riverside. You are not letting pure distance send someone to Airport Mall, which has nothing.

Capacity. Downtown can stage 40 pickups a day before its small back room jams. On a promo weekend it hits 40 by mid-afternoon and goes unselectable; the picker quietly steers the rest to Riverside, which still has staff and space. No manual toggling, no overwhelmed counter.

Notice what each piece prevents. Without per-store stock, the Airport Mall shopper gets a wasted trip. Without the picker, everyone defaults to whatever store the product page happened to show. Without routing, distance sends people to empty shelves. Without capacity, Downtown drowns while Riverside sits idle. The four pieces aren’t independent features — they’re one system, and skipping any one re-opens a failure the others can’t cover.

This is also why a setup tuned for a single store breaks here: every assumption that “in stock” means “in stock at the place the customer will go” stops holding the moment the second store’s shelf differs.

Common mistakes across multiple locations

Each is invisible in a quick test and expensive in production.

Where Shopify defaults stop and BopiSafe begins

Native multi-location pickup gives you the plumbing — per-location toggles, per-location inventory, an availability link. What it doesn’t give you is the shopper-facing experience that makes several stores usable: live per-store stock in the cart, a stock-aware picker, sensible ranking, and capacity caps.

BopiSafe is complete multi-location BOPIS built around those four pieces: real-time per-store stock in an in-cart store picker sorted by priority and distance, with the chosen store locked into native checkout, per-location capacity, and a checkout-time re-check that blocks unfulfillable orders. For an all-shippable chain that is the full loop on every plan, and many such stores never split a cart at all. Splitting engages only when a cart actually mixes fulfillment types — then BopiSafe groups them by pickup, local delivery, and shipping and sends each group through its own native checkout, so the pickup experience coexists with shipping. It runs on Shopify’s modern checkout enforcement layer — no theme rewrite, no slowdown.

Next steps

Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants. Have a question this guide didn’t answer? Email support@bopisafe.com.

Frequently asked questions

How many pickup locations can a Shopify store support?

Shopify supports in-store pickup for up to 20 locations, as long as multi-location inventory and multi-origin shipping are enabled. Most multi-location merchants are well within that limit. The harder part is not the count but giving shoppers a way to see which store has stock and choose the right one — that gets more important with every location you add.

Can I offer pickup at several locations but keep one central inventory?

You can, but understand the trade-off. By default Shopify makes pickup available at a location only when that location has the stock. If you hold inventory centrally, either each pickup store needs its own stock allocation, or you rely on store transfers to move units to the pickup location — which adds lead time. For true same-day pickup across stores, hold real per-store stock rather than one central pool.

Does Shopify route pickup orders to the nearest store automatically?

No. Shopify routes shipping orders by its own priority rules and does not factor in customer distance for pickup. For pickup, the customer chooses the location at checkout. Distance-aware ranking — and the rule that in-stock stores should rank above closer empty ones — has to come from your store picker, not from Shopify.

Can a product be available for pickup at only some of my locations?

Yes, in two layers. First, enable pickup per location so warehouses and fulfillment-only sites don't appear. Second, control which products are pickup-able at which stores, useful when only your flagship carries oversized or seasonal stock. Shopify by default assumes any location with stock can fulfill pickup; the second layer lets you override that.

Does pickup require the whole order to be in stock at one location?

By default, yes — Shopify offers pickup at a location only when the entire order is in stock there. If no single location has everything, you can set up store transfers to consolidate, with closer locations prioritized. This is why per-store stock visibility matters: shoppers should see which single store can fulfill before they commit.

How do I stop one busy store from being overwhelmed by pickup orders?

Two tools working together. Per-location capacity caps stop a store from accepting more pickup orders than staff can stage in a day, marking it unselectable once it's full. Routing strategy decides which store should be the default for a given order. Without caps, your busiest store quietly drowns while quieter ones sit idle.

Do I need Shopify Plus to run BOPIS across multiple locations?

No. Multi-location pickup works on Basic, Shopify, and Advanced. Plus adds checkout-customization features some apps use, but the core multi-location flow — per-location pickup, per-store stock, a store picker, capacity — does not require Plus.

What's the hardest part of running BOPIS across multiple stores?

Per-store inventory accuracy. With one location, "in stock" is unambiguous. With several, every store has its own shelf, the "online" number is a rollup that hides empty stores, and any inaccuracy becomes a wasted trip and a refund. Solving accuracy — real-time per-store stock plus a store picker that surfaces it — is the foundation everything else sits on.

How is multi-location BOPIS different from single-location pickup?

Single-location pickup is essentially a yes/no toggle. Multi-location BOPIS adds four problems: showing per-store stock, letting shoppers choose where to collect, ranking stores sensibly, and capping each store's volume. A setup that works for one store will leak oversells and wasted trips the moment a second store has different stock.

Want pickup that doesn't break? See how BopiSafe works →

New to BopiSafe? Use code BOPISAFE30 at plan selection for a 30-day free trial instead of 14.