A store picker is the in-cart component that lets a shopper choose which of your stores to collect from — showing live stock at each store, sorted by priority and distance. It is the difference between a pickup shopper guessing at a location name and seeing, before they buy, exactly which store has their item ready. For a multi-location store, it is the single most important piece of the buy-online-pickup-in-store experience.
This guide covers what Shopify gives you natively, where it falls short for multiple locations, and what a real store picker does differently.
What is a store picker on Shopify?
A store picker is the storefront control where a customer selects a pickup location. Shopify has a basic version built in: when you enable pickup at more than one location, the product page shows one store’s availability and a “Check availability at other stores” link that expands into a list of your locations and whether each has the item.
That native control is genuinely useful for a single-location store, and it is the right starting point — enable pickup per location first, as covered in our BOPIS setup guide. The Shopify Help Center documents how the availability check works.
The gap shows up the moment you run two or more stores with different stock. The information a pickup shopper needs most — which of your stores has this right now — sits one click behind a small link, unsorted, on the product page rather than in the cart where the buying decision happens.
Why does Shopify only show one store’s availability?
By design, Shopify’s product page surfaces a single primary location to keep the layout clean, and tucks the rest behind the availability link. For most shippable catalogs that is the right call. For pickup it inverts the priority: the pickup shopper is location-first, and you have made location a secondary, hidden detail.
Three concrete problems follow for multi-location stores:
- Discovery. A text link is easy to miss. Shoppers who do not notice it assume you only offer the one store shown.
- No ranking. The native list does not sort by stock or distance. A shopper can pick a store that is further away or out of stock because nothing steers them to the best option.
- It informs, it does not commit. The native check tells the shopper about availability; it does not move the store choice into the cart as a decision they carry through checkout.
None of this is a bug — it is Shopify keeping the product page general-purpose. It just means a multi-location pickup store has to bring the store choice forward itself.
Native availability check vs. a real store picker
Here is how the two compare for a store running pickup across several locations.
| Capability | Native “check availability” | In-cart store picker |
|---|---|---|
| Where it lives | A link on the product page | Inside the cart, in the buying flow |
| Per-store stock | Shows availability per location | Shows live stock for the cart’s items per store |
| Sorting | Unsorted | Priority, then distance |
| Out-of-stock / full store | Listed | Visible but unselectable (greyed, sunk), auto re-enables |
| Commitment | Informational | Shopper selects one store, carried into checkout |
| Express checkout (Shop Pay) | Bypassed | Enforced at checkout, so it still applies |
The native check answers “is it somewhere?” The picker answers “where should I go, and can that store actually fulfill?” — which is the question that decides whether the pickup order happens.
What a good in-cart store picker does
A store picker built for multiple locations does four things the native link does not.
Shows live per-store stock. For the items in the cart, each store displays its real-time pickup stock. This should come straight from Shopify’s own inventory, webhook-synced, so the picker, your admin, and your point of sale all read the same number. The mechanics of surfacing that stock are covered in showing per-store stock for pickup.
Sorts by priority, then distance. In-stock stores rise to the top. You can push a flagship up with priority, and distance breaks ties. Pure distance ranking sends shoppers to the closest store even when it is empty — see sending pickup shoppers to the nearest location for why stock has to come first.
Keeps unavailable stores visible but unselectable. A store that is out of stock for an item, or at its daily capacity, stays in the list — greyed out and sunk below the stores that can fulfill, never hidden. The shopper sees it exists and picks another. We cover the reasoning in what happens when a pickup store is out of stock.
Commits to one store per checkout. The shopper chooses a single pickup store. Items not stocked there are handled separately rather than forcing the whole order to one location. One store per pickup means a clean handoff for your counter staff.
Does the store picker work with Shop Pay and on mobile?
This is where a lot of pickup setups quietly break. Express checkout buttons — Shop Pay, Apple Pay, Google Pay — can skip the cart page entirely. Any picker or pickup rule that lives only on the cart page is bypassed when a shopper taps the express button, and the order slips through without a valid store.
The fix is to enforce the pickup logic at the cart and checkout layers, not just in cart-page markup. When the rules run at checkout, the picker’s constraints apply on every path, express buttons included. The same principle protects the rest of your pickup flow — see why Shop Pay skips pickup logic.
Mobile matters just as much. Most Shopify checkout traffic is now mobile, so the picker needs large tap targets, a list-first layout, and stock status that is readable at a glance. A map that fights native scroll or tiny radio buttons will leak conversion on the exact device most pickup shoppers use.
Why the picker is the centerpiece, not the split
It is tempting to think of multi-location BOPIS as “the thing that splits mixed carts.” Splitting matters, but it is a supporting mechanic. The experience a shopper actually engages with is the picker: seeing which store has their item and choosing where to collect.
When a cart mixes pickup and shipping items, the pickup group is simply where the picker appears — each group goes through its own native Shopify checkout, and the picker handles the pickup half. The full flow is covered in how mixed carts split into pickup and shipping. The headline is the store choice; the split is what lets that choice coexist with shipping in one cart.
The demand behind getting this right is large. US buy-online-pickup-in-store sales reached an estimated $154.3 billion in 2025 — about 10.5% of e-commerce — and are projected to grow to roughly $177.9 billion in 2026, per Capital One Shopping research. The same research notes 85% of pickup shoppers made an additional purchase when they came in to collect. The picker is what turns “I want to pick up” into a completed order and a store visit.
A pickup shopper’s journey through the picker
Walk through what a real shopper experiences, using a three-store apparel chain as the example.
A customer in a mid-size city wants a specific jacket in their size. They add it to the cart and open the pickup option. Instead of a bare list of three store names, the picker shows them context:
- Downtown — In stock, 1.2 mi
- Riverside — In stock, 4.8 mi
- Airport Mall — Out of stock (greyed out, listed last)
The in-stock stores rise to the top, ranked by distance. Airport Mall stays visible but unselectable, so the shopper isn’t left wondering whether it exists — they can see it simply doesn’t have this item right now. They pick Downtown, check out through native Shopify checkout, and get a pickup-ready notification.
Now change one detail. Between cart-add and checkout, Downtown’s last unit sells at the register. A picker backed by a checkout-time re-check catches it: the shopper is told Downtown just sold out and Riverside has two, and they switch with one tap. Without that re-check, the order goes through and the customer drives to an empty shelf — the single most common BOPIS complaint at multiple locations.
That second scenario is the difference between a picker that displays stock and one that enforces it. The display gets the shopper to choose; the enforcement makes the choice reliable. The inventory side of this is covered in showing per-store stock for pickup.
For a shopper on a phone during a commute, that clarity — in-stock stores first, a clear pick, a reliable confirmation — is what converts a “maybe I’ll pick it up” into a completed order.
Common mistakes
The recurring picker mistakes are the mirror image of the four traits above: relying on the native link alone past two locations, sorting purely by distance (it sends shoppers to the closest empty store), hiding full stores instead of greying them out (which generates “where did my store go?” tickets), and building picker logic that only runs on the cart page (express checkouts bypass it). Each looks fine in a quick test and leaks orders in production.
Where Shopify defaults stop and BopiSafe begins
Native pickup and the “check availability” link are enough for a single store with simple stock. Past that — two or more locations, stock that differs by store, express-checkout traffic — the store choice needs to move into the cart and be stock-aware.
BopiSafe is complete multi-location BOPIS built around exactly that: shoppers see real-time per-store stock in an in-cart store picker, sorted by priority and distance, with out-of-stock and at-capacity stores visible but unselectable. It enforces the pickup flow at the cart and checkout layers so Shop Pay can’t bypass it, handles the mixed cart by splitting it into native checkouts, and keeps the whole thing on Shopify’s modern checkout enforcement layer — no theme rewrite, no perceivable latency.
Next steps
- Decide where your store choice lives today — a product-page link, or the cart
- If you run 2+ locations, prioritise moving it into the cart with stock-aware sorting
- Read showing per-store stock for pickup and running BOPIS across multiple locations
- Or install BopiSafe to get a stock-aware in-cart store picker without building one
Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants. Have a question this guide didn’t answer? Email support@bopisafe.com.