How to let visitors pick a location and remember it
How to let visitors pick a location and remember it across pages
When a customer at Your Store lands on your site for the first time, you want them to choose between Uptown, Downtown, and Embarcadero — each with different hours, different phones, different featured products.
But picking a location once is not enough.
The customer expects that pick to follow them as they browse: they want the contact page to show downtown hours, the products page to show downtown stock, the pickup picker to default to downtown.
This guide is about the part of the platform that does the remembering.
When a visitor clicks a "Choose your store" button and selects Uptown, the platform records that choice silently in the background and links every subsequent page load to the chosen location.
The picker UI itself — the visible button, the modal, the dropdown — is configured by your designer in your site's theme.
This guide is for site owners and content editors who want to understand how the choice persists, what happens when the choice is made, when it expires, and how to test that the round-trip works.
For a multi-location store, the visitor's location choice is the foundation of every personalized experience downstream: per-location hours, per-location pickup, per-location specials, per-location store-finder defaults. Without the remembering, those experiences cannot exist. With it, every page can quietly adapt to the visitor's chosen location.
The remembering is fast, automatic, and per-visitor — one visitor's choice does not affect another visitor's choice. It lasts for the visitor's browsing session and resets when they close the browser. By design — locations close, visitors travel, choices age out. A fresh prompt next time is more accurate than a long-stale stored preference.
What is this for?
The visitor location-picker round-trip is what makes per-location experiences possible on your public site.
Concretely, when a visitor clicks "Choose your store" and selects a location:
- The platform records their selection in the background.
- Every subsequent page load on your site picks up that selection.
- Per-location content (hours, phone, photos, menu) renders against the chosen location.
- The choice persists across pages within the visitor's browsing session.
- A small "switch location" affordance lets the visitor change their mind without re-selecting from scratch.
- Closing the browser ends the session; next visit re-prompts the picker.
This is the foundation that lets you build experiences like:
- A homepage that shows the chosen location's photo and hours after the visitor picks.
- A contact page that shows the chosen location's address.
- A pickup picker at checkout that defaults to the chosen location.
- A "specials this week" banner scoped to the chosen location.
Without this round-trip, every page would have to ask the visitor "which location?" again. With it, the visitor picks once and the rest of the site quietly knows.
The pick action is what turns "the customer is on your site" into "the customer is on your site, shopping at this specific location." From that single moment forward, the experience is personalized.
Good use cases
- Multi-location retail chain. A visitor lands on the homepage, taps "Choose your store", picks Your Store — Downtown. Every subsequent page renders downtown hours, downtown phone, downtown photos. The contact page shows the downtown address. The customer ordered from a single clear picker; the site quietly remembers.
- Wholesale partner directory. A wholesale customer is shopping. They tap "Choose your pickup partner" and select their nearest partner. Every product page now shows pickup options at that partner, not the full 22-partner network. One pick, propagated everywhere.
- Restaurant chain with per-location menus. A customer picks Your Store Pizza — Mission. The menu page now shows the Mission-specific slice menu. The "order online" flow defaults to Mission delivery.
- Medical practice with multiple offices. A patient picks Your Store Health — Hayes Valley. The "Book an appointment" form pre-fills Hayes Valley physicians. Other offices remain accessible via "Switch location," but the default experience is focused.
- Retail brand with regional inventory. A shopper picks the East Bay store. Product pages show East Bay stock and local pickup. National pages render the same; anything stock-aware reflects the selection.
- Service business with location-specific practitioners. A salon picks Hayes Valley. The booking widget shows only Hayes Valley practitioners.
- Multi-location event tickets. Your Store Studio's event listing page filters to upcoming shows at the visitor's chosen venue.
- Localized SEO landing pages. Per-location landing pages (with hyperlocal content) only render for matching selectors.
- Promotional campaigns scoped to one location. A "winter sale" banner only renders for Embarcadero selectors.
- Loyalty program checks. A customer's loyalty stamps may be location-specific. Selecting a location ensures the loyalty UI matches the right store.
What NOT to use this for
- Single-location businesses. If you only have one place, there is nothing to pick. The picker adds friction without payoff.
- Locations that share identical content. If every location has the same hours, same phone, same menu, the picker is overkill. A simple "Locations" page is enough.
- Permanent customer profiles. The selection lasts only for the browsing session. To remember a customer's preferred location across sessions, you need a logged-in account that captures location preference persistently — not the session-scoped picker documented here.
- Filtering admin views. The picker is public-facing only. Admin staff browsing the All Locations table see every location regardless of any visitor's selection.
- Geo-fencing or geographic restriction. The picker lets a customer choose; it does not enforce that they only shop from a certain region. Geo-restrictions require separate functionality.
- Replacing a "where to find us" map. The picker is for committing to one location. The store-finder map is for exploring. Most sites need both.
- Storing more than one location per visitor. The model is "you are shopping at this one, right now." A multi-select for "I might shop at any of three places" is not the picker's job.
- Long-term marketing personalization. The picker is session-scoped UX, not a CRM signal. To know "this customer typically shops at Embarcadero" across visits, you need a logged-in account.
- Surfacing test or unpublished locations. Only Published locations should be selectable. If your site is showing Draft or Trashed locations to visitors, your locations table needs a status audit.
How this connects to other features
- Browse, search, and manage all your locations — Every location available for selection is a Published row in the All Locations admin table. Trashing or unpublishing removes it from the picker immediately.
- Save changes to a location — Hours, phone, photos, and other per-location data shown after a visitor selects come from the location's edit form.
- Sync your locations from Google Business Profile — Synced locations appear in the visitor picker just like hand-created ones; the picker treats them identically.
- Trash and Restore — Trashed locations disappear from the picker immediately. Restoring brings them back as Draft (still hidden); you must explicitly Publish to make them selectable.
- Per-location page templates — Templates read the visitor's selection and render content tailored to the chosen location. Built by your designer at theme setup.
- Pickup pickers and checkout flows — Many e-commerce checkout flows include a pickup-location picker. The visitor's earlier selection pre-fills the picker, saving a step at checkout.
- Public store-finder map — The store-finder is for discovery; the picker is for commitment. A visitor often uses the map first to see what's near them, then the picker to lock in their choice.
Before you start
A few details to verify before depending on the visitor location picker on your live site:
- Confirm at least 2 Published locations exist. A picker with only 1 option is useless friction. If your site has fewer than 2 locations, either add more or skip the picker.
- Confirm every Published location has the data the picker exposes. If a location is missing hours or photos, visitors who pick it see an incomplete experience. Audit before launch.
- Decide where the visible "Choose your store" button lives. Header? Sticky banner? First-visit modal? Each placement has trade-offs in how proactively visitors engage.
- Decide your fallback for visitors who skip the picker. Some pages render even with no selection. Plan a graceful fallback (a default location, or generic content with a "select your location" CTA).
- Verify your site's session-cookie handling is healthy. The picker depends on session cookies persisting across page loads. If your site has misconfigured cookies (extreme privacy mode, third-party cookie blocking, etc.), the picker will not remember selections.
- Test with at least 2 visitor profiles. Pick Uptown in one browser; pick Embarcadero in another browser. Confirm the choices stay separate and persistent within each session.
- Test the "switch location" affordance. A visitor who has picked once should be able to flip to a different location without re-selecting from scratch.
- Confirm the picker does not show Draft or Trashed locations. Only Published rows should appear.
Where to go
The visitor location picker is a public-site feature.
It is not a button on your admin dashboard — it is a visitor-facing button or banner on your public pages. To configure or place it, work with your designer or developer. Typical configurations:
- A "Choose your store" button in your site header.
- A sticky banner at the top of every page until the visitor selects.
- A modal popup on first visit.
- A dedicated landing page at
/locationswith a map.
The admin-side prerequisites are at:
- Dashboard > Locations — the published locations the picker exposes.
- Dashboard > Appearance > Templates — the customer-facing template that wraps the picker UI.
There is no specific admin page for the "remembering" itself — the platform handles that automatically.
Steps — Verify the visitor pick-and-remember round-trip works
1. Open your public site in a private/incognito window
Start with no prior session. The "Choose your store" affordance should be visible (banner, header button, modal — whatever your design specifies).
2. Click the picker
The picker opens. It should show every Published location with name, address, photo (if available).
If you see Draft or Trashed locations, your picker filter is broken — coordinate with your developer.
3. Pick a location (e.g. Your Store — Uptown)
Click the location. The picker closes; the page may refresh or update inline.
You should see a "selected location" indicator somewhere — typically the chosen location's name in the site header.
4. Browse to several pages
Click into Contact, Menu, Hours — whatever your site has. Each page should render the chosen location's data:
- Contact: Uptown's address and phone.
- Hours: Uptown's hours.
- Menu: Uptown's menu (if menus differ per location).
If a page does NOT pick up the selection, that page's template is not wired to read the visitor's selection. Coordinate with your designer.
5. Find the "switch location" affordance
A "Change" link, dropdown, or button somewhere on the page should let you flip to a different location.
Click it. Pick a different location (e.g. Embarcadero). The page should update to show Embarcadero data.
6. Close the browser tab
End the session.
7. Open a fresh window and revisit the homepage
The "Choose your store" affordance should be back — the previous selection is forgotten. (This is by design — sessions are short-lived.)
If the previous selection STILL applies, your site may have stored the choice in long-lived cookies; coordinate with your designer about the desired session-only behavior.
Steps — Verify the picker handles edge cases
1. Test with no selection (skip the picker)
Some pages must render even when no location is selected. Visit the contact page WITHOUT picking. Confirm the page either shows a default fallback or a graceful "please select your location" prompt.
A page that crashes or goes blank with no selection is a bug — coordinate with your designer.
2. Test with a switched selection mid-session
Pick Uptown, browse a few pages, then switch to Embarcadero. Confirm pages update to Embarcadero immediately on the next page load.
3. Test with a now-trashed selection
Pick a location, then have an admin trash that location while the visitor's session is still active. The visitor's next page load should either fall back to a default or show a "this location is no longer available — please select again" prompt.
A visitor whose session points at a trashed location and gets a broken page is a bug.
4. Test with an unpublished selection (rare edge case)
Same as above — if a location is moved from Published to Draft while a visitor has it selected, the page should gracefully fall back.
5. Test with two visitors in two browsers
Open Browser A, pick Uptown. Open Browser B, pick Embarcadero. Browse in both. Confirm A always sees Uptown data and B always sees Embarcadero data — sessions are isolated.
What success looks like
When the visitor pick-and-remember is well-configured:
- A new visitor lands on your site and is gently prompted to choose a location. Unobtrusive — a banner, a header button, not a blocking modal.
- The visitor picks in one click. The picker shows photos, names, addresses; selection is fast.
- Every page the visitor browses adapts to the chosen location. Hours, phone, photos, menu — all reflect the selection.
- The selected location is visible in the site header. The visitor never wonders "wait, which location am I looking at?"
- The visitor can switch with one click. A small "Change" affordance lets them flip without re-selecting from scratch.
- Closing the browser resets the selection. Next visit re-prompts — fresh, accurate to current circumstances.
- Two visitors get independent selections. One visitor's pick does not bleed into another visitor's experience.
The goal: a personalized, location-aware experience without requiring the customer to log in or maintain an account.
What to do if it does not work
- The "Choose your store" button is not visible on your public site. Your designer or developer has not wired up the visible button yet. Ask them about timeline and chosen placement (header? banner? modal?). The admin-side data is ready; the public-side button is theme-level work.
- The button is visible but clicking it does nothing. Likely a JavaScript error in your theme. Open the browser developer console (right-click > Inspect > Console) and look for red error messages. Share with your designer.
- The picker shows fewer locations than I have published. Confirm in Locations > All that the missing locations have status Published (not Draft, not Trash). Refresh the public-site page after fixing.
- The picker shows my Draft or Trashed locations. That should not happen — the picker reads only Published rows. Refresh both the admin page and the public-site picker. If still showing the wrong rows, ask your support team.
- The chosen location's hours or photos do not appear on subsequent pages. Your per-location templates are not yet picking up the selection. Coordinate with your designer to wire up the per-location content.
- The selection resets between page loads. This is unexpected. Check browser cookie/session settings (some privacy modes block session storage). If that is not the cause, ask your support team.
- The selection survives across browser closes. Also unexpected. Selections should reset when the browser tab closes. Your designer may have stored the choice in long-lived cookies; coordinate with them on the desired session-only behavior.
- A visitor with a now-trashed location sees broken content. When you trash a location after a visitor has selected it, the visitor's session still references the trashed location's identifier. Their experience may go blank or fall back to a default. Ask your designer to handle this case (e.g. show a "this location is no longer available" message and prompt for re-selection).
- Two visitors share the same browser and one's selection sticks for the other. Sessions are per-browser-tab. Two separate tabs (or two browser profiles) get independent selections. If two people share the exact same browser session, one selection will indeed apply to both — by design.
- The picker shows photos that look broken or low-resolution. The picker reads photos from the location's edit form. Re-upload high-resolution photos in the location's Photos card. Reload the public-side picker to confirm.
- A visitor's location switch did not propagate to a specific page. That page's template may not be wired up to read the selection. Note the URL, share with your designer.
Example 1: Your Store onboards visitors with a sticky banner
Your Store has three locations — Uptown, Downtown, Embarcadero — each with different hours and phones.
The marketing manager works with her designer to add a sticky banner to the top of every page reading "Choose your Your Store experience" with a Pick button.
On click, a modal lists all three locations with photos.
Before launch day, she walks the All Locations admin page.
All three rows are Published.
All have current hours, current phone, current photos.
The Uptown row's photos were thumbnail quality from a Google Business Profile sync — she re-uploads high-res versions.
Launch day: the banner goes live.
On the first day, 64% of visitors engage with the picker and pick a location.
Uptown is the most-selected (40% of selections); Downtown is second (35%); Embarcadero is third (25%).
Customer service reports a sharp drop in "wrong location" phone calls — customers see the right phone number for their chosen location directly on every page.
Example 2: Your Store Wholesale routes pickup customers efficiently
Your Store Wholesale has 22 partner pickup locations.
A customer ordering online can pick up at any partner.
Without the picker, customers had to scroll through a 22-partner list at checkout — slow and error-prone.
The wholesale director enables the picker with a "Choose your pickup partner" prompt on every product page.
On checkout, the picker pre-fills the partner the customer chose earlier in their session.
If they did not select, the checkout shows the full 22-partner list with the closest one suggested by browser geolocation.
Pickup error rates drop 38% in the first month.
Customer service tickets about "I picked up at the wrong store" go from a weekly occurrence to nearly zero.
Example 3: Your Store Pizza personalizes per-location menus
Your Store Pizza has four locations; one of them (Mission location) carries a unique pizza-by-the-slice menu the others do not.
The marketing manager wants the slice menu visible only to customers who have selected Mission.
She works with her designer.
The Mission location's edit form already has the slice menu in a Description card.
The designer wires up the menu page to show the slice menu only when the selected location is Mission.
For other selections (or no selection), the menu page shows the standard whole-pizza menu.
A customer browses, selects Mission, opens the menu — sees the slice menu.
She switches to Embarcadero, opens the menu — sees the standard menu.
The visitor experience is location-aware without complicated URL manipulation.
Example 4: Switching during a session
A customer is browsing Your Store.
She selected Downtown earlier.
She clicks into the contact page — sees Downtown hours and phone.
Then she realizes she is closer to Embarcadero today.
She clicks the "change" link next to "Your Store — Downtown" in the header.
The picker reopens.
She taps Embarcadero.
The contact page refreshes to show Embarcadero hours and phone.
No login required.
No reset of cart contents.
Just a one-click flip from Downtown to Embarcadero.
The customer continues browsing with the new selection.
Example 5: A first-time visitor skips the picker
A first-time visitor lands on Your Store's homepage.
She sees the "Choose your store" banner but is in a hurry and dismisses it.
She browses normally — generic content.
She clicks into the contact page.
The page shows a default fallback ("Your Store") because no selection has been made.
A small banner reads: "Showing default location — pick yours for personalized info."
She clicks "pick yours" and selects Embarcadero.
From this point on, every page shows Embarcadero data.
The fallback message disappears.
This shows the optional-selection pattern — the picker is offered but not forced, and the site degrades gracefully when no selection is made.
Tips for a polished pick-and-remember experience
- Photos in the picker matter. A grid of three location options with crisp storefront photos converts at far higher rates than a text-only list. Spend time getting photos right in the All Locations admin.
- Keep location names short and distinguishable. "Your Store — Downtown" reads cleanly. "Your Store Brand by Your Store at the Downtown Branch — San Francisco" does not. Customers scan the picker; clarity wins.
- Place the trigger where customers look first. The site header is the most common spot. A sticky banner is more aggressive but ensures every visitor sees the prompt.
- Make the "switch location" affordance discoverable. A tiny link is too easy to miss. A "Change" link next to the displayed name in the header is the sweet spot.
- Test the picker with real customers. A user-test session with 3-5 customers reveals whether placement and labeling are clear. Iterate before going wide.
- Keep the picker fast. A picker that takes more than a second to render annoys customers. Photos should be thumbnail-quality (resized for the picker, not full-resolution).
- Coordinate with seasonal promotions. Per-location promotions should render only for visitors who selected the matching location.
- Handle the "no selection" case gracefully. Decide early what the homepage shows for new visitors who have not yet selected. Generic content is fine; a hard-blocking modal is over-aggressive.
- Always test on staging first. Before depending on the picker for production traffic, test the full round-trip on a staging copy of your site.
- Audit for stale Draft locations. If a location is in Draft but you forgot, it will not appear in the picker — but visitors who already selected it before publication may be left in an inconsistent state. Audit Draft rows quarterly.
Per-location vs. global content — a reference table
When deciding whether content should adapt to the visitor's selection or stay global, ask: "Does this content differ between locations?"
| Content type | Per-location? | Notes |
|---|---|---|
| Hours of operation | Yes | The most common reason to use the picker. Each location has its own hours. |
| Phone number | Yes | Local-line per location. |
| Storefront photos | Yes | Each location's interior and exterior is different. |
| Address | Yes | per-location. |
| Menu items | Sometimes | Some chains have identical menus; others vary by location. |
| Special promotions | Sometimes | Whole-brand promotion is global; single-location promotion is per-location. |
| Brand logo | No | The brand is the brand. Consistent everywhere. |
| Brand "About" copy | No | Story of the brand is one story. |
| News blog posts | Usually no | Most blog posts are brand-wide. A few may be location-tagged. |
| Loyalty program rules | No | Whole-brand program. |
| Loyalty stamp count | Yes | Stamp counts may vary by location depending on program structure. |
| Order pickup form | Yes | Pickup location must default to the visitor's selection. |
| Career postings | Sometimes | "Hiring at Embarcadero" is per-location; "Hiring at HQ" is global. |
| Press releases | No | Brand-wide announcements. |
How long the selection persists — a reference
| Action | Selection state |
|---|---|
| Visitor selects a location | Stored for the browsing session |
| Visitor browses to other pages | Selection persists across all pages |
| Visitor switches location | Old selection replaced with new |
| Visitor clears their selection (if your picker exposes a clear button) | Selection removed; pages fall back to default or generic |
| Visitor closes the browser tab | Selection lost; next visit re-prompts |
| Visitor opens a different browser | Selection is per-browser; new browser starts fresh |
| Visitor uses private/incognito mode | Selection lost when private window closes |
| Selected location is trashed by admin | Visitor's session falls back to default; some implementations show a "this location is no longer available" prompt |
Selections are intentionally short-lived.
This keeps the experience fresh — customers move around, locations change, stale selections become inaccurate.
A note on staging vs production
Always test the visitor pick-and-remember round-trip on a staging copy of your site BEFORE depending on it for production traffic.
Staging is where you find issues like:
- The picker shows Draft locations.
- Selections do not persist across pages.
- A "switch location" link points at the wrong URL.
- Per-location templates do not pick up the selection.
Fixing these on production after launch is far more visible to customers than fixing them on staging beforehand.
Scope
This reference covers the visitor location picker — the UI element that lets a visitor choose a branch or location once, with that choice persisting across all pages in their browsing session. It applies to SGEN sites with multiple Published locations. It does not cover:
- Creating or editing location entries — covered in the Locations admin guide.
- Syncing locations from Google Business Profile — covered in the Google Integrations guide.
- Per-location template customisation in SG-Builder — covered in the Builder guide.
- GDPR/cookie-consent implications of storing a location choice in session — covered in the Cookie Consent guide.
Examples
Example 1: Customer selects their nearest location. A site visitor visits the Your Store website, sees the location picker in the header, and selects "Uptown". Every page they navigate to for the rest of their session shows the Uptown hours, phone number, and featured products.
Example 2: Visitor switches location mid-session. A visitor selects "Downtown" first, then decides to visit a different branch. They click the "Switch location" link in the header, pick "Embarcadero", and the page refreshes. All location-specific content on the page now shows Embarcadero details.
Example 3: Session ends, picker resets. A visitor closes their browser after selecting a location. When they return to the Your Store site the next day, the picker shows no selection — the session has expired. They pick their location again. (If "remember me" is enabled in the theme, the choice persists across sessions.)
Fields
| Element | Where it appears | What it does |
|---|---|---|
| Location picker dropdown | Header / modal (theme-dependent) | Displays all Published locations; stores selection in session |
| Current location label | Header / nav (theme-dependent) | Shows the visitor's active selection |
| Switch location link | Header (theme-dependent) | Opens the picker again for re-selection |
| Session storage | Browser (client-side) | Holds the selection for the duration of the browser session |
| Per-location content zones | Any template page | Show content specific to the selected location (hours, phone, photos) |
| Draft location filter | Picker list | Draft locations are never shown to visitors — Published only |
Next steps
- See Locations > All for managing the Published rows the picker exposes.
- See Save changes to a location for updating per-location content (hours, phone, photos).
- See Sync your locations from Google Business Profile for bulk-importing locations.
- See Add a new location for hand-creating a location.
- See Trash a single location for removing a defunct location from the picker.
