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:
- Which store has this item right now? (per-store stock)
- How does the shopper choose where to collect? (store picker)
- Which store should be the default or recommended? (routing and sort)
- 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:
- Pickup requires the entire order in stock at the pickup location. If no single store has everything, Shopify can use store transfers to consolidate, prioritizing closer locations with stock — but transfers add lead time. We cover this in pickup stock across locations and store transfers.
- The “online” inventory number is a rollup, not a per-store count — the sum of fulfillment-enabled locations, per the multi-location inventory docs. A product can show plenty “online” while the shopper’s store has none.
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
| Need | Native Shopify | Multi-location BOPIS |
|---|---|---|
| Per-store stock to shoppers | Behind a product-page link, unsorted | Live, in the cart, per store |
| Choose pickup store | A link, informational | In-cart picker, carried to checkout |
| Store ranking | None | Stock first, then priority, then distance |
| Per-location capacity | None | Daily/hourly caps, unselectable when full |
| Stock accuracy at order | Rollup can mislead | Per-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
- Treating the “online” rollup as per-store truth — the top cause of cross-location oversells.
- Relying on the native availability link past two stores — shoppers miss it, and it doesn’t rank by stock.
- No capacity caps — your flagship drowns while suburban stores sit idle.
- Sorting purely by distance — sends shoppers to the closest empty store.
- Enabling pickup at warehouses — customers select a site they can’t visit.
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
- Map your locations: which hold real stock, which offer pickup, which are warehouses
- Start with per-store stock accuracy — read showing per-store stock for pickup
- Then the store picker and capacity management
- Or install BopiSafe to get all four pieces without building them
Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants. Have a question this guide didn’t answer? Email support@bopisafe.com.