Appearance
Where to buy
Where to buy lets you link Shopify products to specific store locations, so customers can see which of your stores carry the product they're viewing, right on the product page. This is a paid feature on eligible plans.
Linking products to a location
- Go to Apps > Store Locator > Locations.
- Click the location you want to edit.
- Scroll to the Where to buy section.
- Use Assign products to this location to search or browse your catalog and select products.
- Click Save.
INFO
- You can assign products in bulk too. Select the checkboxes for multiple locations on the Locations table, then use the Assign products bulk action to pick as many products as you need. They'll be linked to every selected location at once.
- The status of your blocks is always visible on the Store Locator home page, even after initial setup.
Adding the block to your theme
- Go to Online Store > Themes > Customize.
- Navigate to a product page template.
- Add the Where to buy app block from the app block library.
- In the block settings, choose the display mode (map, list, or both) and adjust section and card styling to match your theme.
- Save the theme.
INFO
From your Store Locator home page, the Where to buy setup guide card links straight into the theme editor with the block ready to configure.
How to customize Where to buy?
WARNING
Not all Appearance & Search settings apply to Where to buy. It's a separate app block with its own settings in the theme editor, and only inherits a few entries from Appearance & Search.
Where to buy is controlled in three places:
- Theme editor (Product page > Where to buy block): colors, map theme, height and spacing, map/list choice, zoom level.
- Store Locator app > Appearance & Search: what info appears inside location cards and map popups.
- Each location: which products are linked. This decides which stores show on the block.
Theme editor settings
| What do I want to customize? | When does it apply? | What does it change? |
|---|---|---|
| Content to show | Always | Map / List / Both. Chooses what customers see. |
| Title | Always, if "Show title" is on | (show, text, color). Title only appears once locations load. |
| Section styles | Always | Colors, height, padding, spacing. Styles the whole block. |
| Map height / spacing | Only when Map or Both is selected | Controls map dimensions. |
| Map theme | Editor only | Shown in the editor, but not applied on the storefront today. |
| Location card styles | Only when List or Both is selected | Colors / borders / spacing. Styles the card "frame," not the text fields inside. |
App settings affecting Where to buy
These are shared with your main Store Locator map.
| What do I want to customize? | Where do I find this? | What does it change? |
|---|---|---|
| Location lists on my map | Settings > Appearance & Search > Modify map location lists | Content inside the location list cards. |
| Map cards on my map | Settings > Appearance & Search > Adjust map cards | Content in the map popup when a pin is clicked. |
| Location pin color | Settings > Appearance & Search > Customize map | Map pins only. |
| Location group pin color | Settings > Location groups | Map pins only, if the location is assigned to a group. |
| Google Maps API key | Settings > Google Maps API key | Needed for the map. List-only mode works without it. |
Visibility requirements
Customers see Where to buy only if all of these are true:
- Your plan includes Where to buy.
- The block is added to the product template.
- At least one visible location is linked to that product.
Otherwise the section is hidden on the live store. It may still show a preview in the theme editor.
Edge cases
- If there are no linked locations, the section is hidden on the live product page. The theme editor still shows a preview message.
- If there's no Google Maps API key, the map won't work, but the list-only variant still can. The map-only variant with no key shows an "unable to display" message instead.
- Locations without an address can appear in the list, but not as a pin.
- Hidden or expired locations are never shown.