Check the plan before anything else
Squarespace gates code embeds by plan tier. If your plan does not permit Code Blocks with scripts, the embed will not run, and the failure is silent enough to waste an afternoon. Squarespace's own docs list the current tiers under Code Blocks; confirm yours before preparing anything. If you are on a qualifying plan, everything below applies without exceptions.
This is also the honest moment to weigh the alternative: on plans without code, a linked subpage on the locator vendor's hosting can serve as the locations page, but a page inside your own site is better for visitors and for search, so upgrading the plan is usually the right call if a locator matters to the business.
How the pieces divide
Squarespace owns the page: template, typography rhythm, header, footer and the editorial content around the widget. The locator owns finding: the location records, geocoding, proximity search, filters, result cards, the map, and the empty states. One Code Block joins them.
The split is what keeps maintenance cheap. Hours change and locations come and go in the locator dashboard, or in a synced Google Sheet, and the live page follows without anyone opening the Squarespace editor. Template swaps do not touch it either: the block moves with the page, and the widget re-renders inside whatever design surrounds it.
Add it, step by step
Data first: import and review your locations in the locator dashboard before touching Squarespace, because the embed renders whatever the locator already knows.
- Prepare one row per location and import it. The data guide covers the columns and the review pass; fix failed geocodes and duplicates in the import report while the file is fresh.
- Style the widget in the locator: typeface, colours, markers, corners, map style. Squarespace templates have strong opinions, and the widget should agree with them rather than argue.
- In Squarespace, edit the target page and add a Code Block where the locator should appear.
- Paste the embed code into the block and save. The editor shows a placeholder because it does not execute scripts; that is the editor working as designed, not a fault to debug.
- Open the public page in a normal browser tab, not the editor preview, and confirm the locator renders with your data and styling.
- Add the page to navigation under a name visitors type, Find a store or Stockists, and run the phone checks below.
The Ajax loading quirk, and the fix
Some Squarespace templates ship with Ajax page loading, which swaps page content in place instead of doing full page loads when visitors click between pages. It makes navigation feel fast and it breaks embedded scripts in a maddeningly specific way: the locator works when a visitor lands directly on the page, then appears blank when they arrive by clicking a menu link, because the script that builds it never re-ran.
If your locator works on refresh but not on navigation, this is why, and the fix is a template setting rather than anything in the embed: turn off Ajax loading in the template's site styles where the template offers the toggle. The cost is ordinary page loads, which is what most of the web does anyway; the benefit is that every script on the site, not just the locator, behaves predictably.
The checks that matter, all on the public page
Squarespace's editor preview cannot exercise a script widget, so every check happens on the published URL.
- Search a town you serve and one you do not; the no-results state should read as intended.
- Apply each filter and a combination, and confirm counts change sensibly.
- Tap a phone number and a directions link from a real phone.
- Scroll the result list at phone width with the keyboard open.
- Check the page in a private window, logged out, as a stranger sees it.
- Arrive at the page by clicking your own navigation, not only by direct URL, to catch the Ajax loading quirk described above.
- Confirm the locator page appears in your navigation and site search.
Where Handled Locator fits
Handled Locator is the hosted half of this split: CSV and Google Sheets location workflows, 85+ styling and behaviour settings so the widget matches a Squarespace template's discipline, and your own Google Maps or Mapbox key so map usage is billed at provider cost. The widget renders in a shadow root, so template CSS and widget CSS never fight in either direction.
Plans start at $19 a month for 200 locations. The Squarespace platform page keeps the current install steps, and the live examples include setups like the one pictured above.
Frequently asked questions
Why is my Squarespace Code Block empty in the editor?
The Squarespace editor does not run scripts, so an embedded widget shows as a blank or grey placeholder while editing and renders only on the saved, public page. Judge the public URL, not the editor.
Does Squarespace have a built-in store locator?
No. Squarespace offers maps blocks for a single pinned address, but nothing with proximity search, filters or result cards. A multi-location locator comes from outside, through a Code Block embed.
Which Squarespace plans allow a store locator embed?
Squarespace gates script embeds by plan tier and adjusts tiers from time to time, so check their current Code Block documentation against your plan before starting. If your plan allows Code Blocks with scripts, any hosted locator embed will run.
Can I show a map with multiple locations on Squarespace without code?
Squarespace's own map block pins one address. For multiple searchable locations the practical routes are a Code Block embed, described here, or linking out to a hosted page, which keeps visitors off your site and is the weaker option.
Will the locator match my Squarespace template?
Yes, if you set it to. The widget carries its own typeface, colour and marker settings, so matching happens in the locator dashboard rather than in Squarespace CSS. Shadow-root isolation means the template cannot accidentally restyle the widget, and the widget cannot leak styles into the template.
How do I update locations after launch?
In the locator dashboard, or in a synced Google Sheet, and the public page follows. Nobody needs Squarespace editor access for a data change, which is the main advantage of the hosted split.

