BopiSafeInstall on Shopify
Blog

Shopify Store Picker: Letting Shoppers Choose a Pickup Store

6 August 2026 · BopiSafe Team

Shopify will ask your shopper which store to collect from. It asks at checkout, and it asks without showing them any stock. That is the whole problem in one sentence: the decision is real, but it’s made at the wrong moment with the wrong information.

This is what moving that choice earlier involves, and what the picker has to get right.

What native does

Turn on local pickup at more than one location and Shopify’s checkout shows a list of your pickup locations with addresses and ready-time estimates. There’s also a “Check availability at other stores” link on the product page — a yes/no per location, one click deep.

Neither one connects the two facts the shopper is actually weighing: which shop is convenient and which shop has it. They pick the convenient one and find out about the other half at the counter.

Why the choice belongs before checkout

Stock is a product-level fact. By the time someone is in checkout they’ve already committed to a cart, entered an address, and are looking at a payment button. Asking “which store?” there means:

Moving the same question onto the product page or into the cart, with the count next to each store, is the identical decision made with the information it needs. It also lets the shopper reconsider before they’re invested — switching stores at that point costs them nothing.

What the picker has to show

The number, per store. Not a badge. “4 at Downtown, 1 at Riverside, none at Northgate” is what ranks your shops; “available / available / available” ranks nothing. Which number to use — and why the obvious ones mislead — is its own subject.

Out-of-stock stores, still visible. Grey them and make them unselectable, don’t remove them. A shopper who can see their nearest shop is out will pick the next one. A shopper whose nearest shop silently vanished wonders whether the site is broken.

A sane order. Distance if you can get it, otherwise a priority you control. Alphabetical is the default nobody wants — it puts “Aberdeen” above the shop across the street.

A list, not a wall of cards. Store counts aren’t capped at three. Twenty stacked cards is a wall; a divider list with the name on the left and the count on the right stays scannable at any length. Use real radio inputs while you’re at it — keyboard navigation, screen-reader grouping and forced-contrast support all come free, and nothing you hand-roll will match them.

Locking the store into checkout

A picker that doesn’t carry its result into checkout is decoration. If checkout still offers every pickup location, the shopper can change their mind at the last step — and now the stock you showed and any capacity you counted were about a different shop.

The clean way to do this on Shopify is a delivery customization that hides the pickup options other than the one already chosen. Two properties matter:

One order, one store

Shopify binds a single pickup location to an order. That’s a platform fact, not an app limitation, and working around it means splitting the cart into separate orders — which is a different product with different costs.

The practical consequence for a picker: in the cart, where there are several products, the honest thing to report per store is coverage, not a count. “All 3 items in stock” or “2 of 3 items in stock” answers the question the shopper is actually asking, which is whether one trip will do it.

Don’t build it into the theme

The picker should render through a theme app extension and keep its own markup. Two rules that save you pain later:

How BopiSafe does it

BopiSafe puts the picker on the product page, in the cart and beside your theme’s cart drawer, in a panel of its own — no theme code, one app embed switch. Each store shows its available quantity read live from your Shopify inventory; out-of-stock stores stay listed and unselectable; in the cart the rows report coverage across the whole basket.

The chosen store is locked into Shopify’s own checkout, and the buy-now button is caught too, so a direct express checkout still carries the store and the pickup time. Unlimited locations on the free plan, up to 100 pickup orders a month — pricing.

Written by the BopiSafe team — we build store-pickup tooling for Shopify merchants. Have a question this guide didn’t answer? Email miles.bopisafe@outlook.com.

Frequently asked questions

Does Shopify have a store picker?

At checkout, yes — once local pickup is on at more than one location, the shopper picks from a list of your pickup locations. What that list doesn't carry is stock. It shows addresses and ready-time estimates, so the shopper is choosing between shops without knowing which one can actually hand the item over.

Why should the store be chosen before checkout?

Because the choice depends on stock, and stock is a product-level fact. By checkout the shopper has already committed to the cart; asking them there means they either guess, or discover at the counter. Choosing on the product page or in the cart — with the count next to each store — is the same decision made with the information it needs.

What should a store picker show for each store?

The store name, the available quantity at that store, and enough location context to recognise it. Stores that can't fulfill stay in the list, greyed and unselectable, rather than disappearing — a shopper who can see that their nearest shop is out picks the next one instead of wondering whether they missed it.

Should the chosen store be locked into checkout?

Yes, otherwise the choice means nothing. If checkout still offers all your pickup locations, a shopper can change store at the last step — and the stock you showed them, and any capacity you reserved, were about a different shop. Locking means checkout offers only the store they already chose.

Can one order be collected from two different stores?

No. Shopify binds a single pickup location to an order, and that is a platform constraint rather than an app limitation. A picker's job in that world is to help the shopper find the one store that has everything in their cart — which is why cart-level pickers should report coverage, "all 3 items in stock" or "2 of 3", rather than a single number.

Does a store picker require theme code changes?

It shouldn't. A theme app extension can render the picker without you editing any template, and a well-built one keeps its own markup rather than injecting into your theme's cart drawer — that is what breaks when you change theme or when the theme re-renders its drawer.

Pickup that shows the real number.

Every store's available quantity, a store picker and a pickup time — on Shopify's own checkout. Free up to 100 pickup orders a month, at any number of stores.

Questions this post didn't answer? Email miles.bopisafe@outlook.com — we reply within 24 hours.