To create a store locator from a Google Sheet, format your addresses in one column and use =GEOCODE(A2:A150) to generate coordinates. Then, use =INSTAMAP(C2:C150, B2:B150) in another cell to produce a live, hosted URL linking to an interactive map of those coordinates.
This workflow is for local businesses, franchise operators, and regional managers who need a customer-facing map without maintaining a dedicated database or paying for an embedded widget subscription. The end state is a shareable URL that automatically reflects sheet edits within seconds.
- →Embedded store locator widgets often charge monthly fees and lock you into rigid designs, whereas a Google Sheet provides a flat, easily updatable database.
- →InstaMaps is a free Google Sheets add-on that converts your address data into a live hosted shareable map URL using the =INSTAMAP() formula.
- →You can access a free tier of 100 lookups per day, which increases to 1,000 per day with a free email unlock.
- →The InstaMaps sidebar (Extensions > InstaMaps > Enable formulas) inserts formulas without typing, and its Build-the-workflow button writes whole chains.
- →=INSTAMAP() returns a hosted URL that automatically updates when you add new rows or change addresses in your sheet.
- →Templates are available at get-instamaps.com/templates to help you structure your location data immediately.
Embedded store locator widgets vs Google Sheets
Most dedicated store locator vendors charge a monthly subscription fee to host a JavaScript widget on your domain. You upload a CSV file to their portal, and they provide an
Building a store locator from a Google sheet bypasses this dependency. Managing a flat database in a spreadsheet allows operations teams to change cell B14 from "09:00" to "10:00" and see the update immediately. The data source is not locked behind a proprietary dashboard. Anyone with edit access to the Google Sheet can modify the records.
Marketing teams increasingly prefer this approach because they can maintain a single master spreadsheet in Google Drive, updating column headers or adding new rows, avoiding the friction of requesting developer time to push minor CMS updates. The InstaMaps add-on is entirely free to use, providing a free tier of 100 lookups per day (increasing to 1,000 lookups per day with a free email registration). By keeping the data directly in a spreadsheet, you eliminate the monthly software subscription, the extra dashboard login, and the communication lag between marketing, web developers, and external software vendors.
Creating your locator page with =INSTAMAP()
To create a store locator from a Google sheet, you do not need to write custom code or configure CMS plugins. You generate a live URL directly from your data range using the =INSTAMAP() formula. Follow these steps to build your locator page:
1. Open your Google Sheet containing the location data. 2. Navigate to Extensions > InstaMaps > Enable formulas to open the application sidebar. 3. Ensure your data is structured logically. For instance, keep Store Names in column A and physical addresses in column B. 4. If your raw addresses lack latitude and longitude, use the sidebar's Build-the-workflow button. This automatically writes whole formula chains, such as placing =GEOCODE(B2) in column C to process addresses into coordinates. 5. Select an empty cell where you want the map URL to reside, such as E2. 6. Type the formula =INSTAMAP(A2:C100) into cell E2. Ensure the range includes your label column and your location data column. 7. Press Enter. The cell immediately outputs a live, hosted, shareable map URL.
When a user clicks the generated link, it opens a dedicated web page displaying a pin for every row included in your specified range.
Because the map reads directly from the spreadsheet cells, any modifications made to the underlying data automatically reflect on the live map URL. If you correct a postcode typo in cell B14, the pin on the hosted map updates instantly. If you delete row 45, the corresponding pin disappears from the shared map without requiring a manual refresh.
You can share this URL via email newsletters, link it directly from your website's main navigation menu, or send it to field teams. The InstaMaps add-on is free, operating within the limits of 100 lookups per day, which expands to 1,000 lookups per day with a free email registration. This prevents unexpected API overage charges while managing your locations.
Worked example: 50-location regional hardware map
Consider a regional hardware chain operating 50 stores across the UK. The marketing team needs to publish a locator page immediately, but they lack developer resources to build a custom CMS plugin.
Step 1: The Data Setup. They begin with a standard Google Sheet, populating rows 2 through 51. The layout is strictly maintained. Column A (Rows 2 to 51) contains the Store Name (e.g., "Bristol Timber Yard"). Column B (Rows 2 to 51) contains the Full Address (e.g., "12 Broadmead, Bristol, BS1 3DX"). Column C (Rows 2 to 51) contains Opening Hours (e.g., "Mon-Fri 08:00-17:00"). To accelerate the setup, they use a layout from get-instamaps.com/templates, ensuring their column headers match the required formatting.
Step 2: Generating the Map. To create the map, the team opens the sidebar via Extensions > InstaMaps > Enable formulas. Because they have 50 locations, they are well within the free tier limits (100 lookups/day). They use the Build-the-workflow button to insert the necessary formulas without typing them out manually.
The team selects cell E2 and inputs =INSTAMAP(A2:B51). They intentionally include columns A and B so the hosted map displays both the store name and the location pin. The formula outputs a hosted URL directly into cell E2.
Step 3: Customer Distribution. The marketing team copies the generated URL from cell E2. They hyperlink the word "Store Locator" on their website's main navigation menu to this URL. When a customer clicks the link, they view a live map displaying all 50 hardware locations. They see the specific "Bristol Timber Yard" label on the pin.
Step 4: Handling Edge Cases. On Friday, the chain permanently closes branch number 23 (row 24). The marketing team right-clicks row 24 in the Google Sheet and selects "Delete row". The hosted map URL automatically reflects this change, dropping the closed branch. The website navigation menu continues to point to the exact same =INSTAMAP link in cell E2, but it now accurately displays 49 active stores without requiring a website developer to amend the code.
Preparing and cleaning addresses before mapping
Raw location data typically contains formatting errors that break map rendering and cause blank pins. Before publishing a store locator from your Google Sheet, you must standardise the input data. The following steps detail the exact formulas required:
Monitor your daily quota during this process. The default tier limits you to 100 lookups per day. If your store list contains 450 rows, apply the free email unlock in the add-on menu to raise the limit to 1,000 lookups per day. This processed data ensures your =INSTAMAP() formula receives only verified, clean coordinates, preventing location errors on your live hosted shareable map URL.
1. Standardise the text. If cell A2 contains "10 downing st, london sw1a 2aa", enter =CLEAN_ADDRESS(A2) in B2. This function corrects capitalisation, suffixes, and spacing, returning "10 Downing St, London SW1A 2AA".
2. Generate coordinates. In C2, type =GEOCODE(B2). This outputs a comma-separated latitude and longitude for the locator map. If your sheet processes 150 rows of franchise locations, expect a brief processing delay. If cell B50 contains a typo like "10 Downning St", the geocoder returns an #N/A error, allowing you to spot bad data immediately.
3. Chain the workflow. The sidebar tool (Extensions > InstaMaps > Enable formulas) inserts these formulas without typing. Clicking its Build-the-workflow button automatically chains the cleaning and geocoding steps down to your final row, preventing manual dragging errors.
Limits and honest alternatives
Building a store locator from a Google Sheet presents specific technical boundaries. InstaMaps is not a replacement for complex, database-driven applications.
First, consider the routing limitations. If you add driving directions for your customers, use the =ROUTE_LINK() function. This function uses Google Maps' official URL scheme, which enforces a strict maximum of 11 stops. If a customer attempts to map a 15-stop itinerary from your sheet, the link breaks.
Second, consider update speeds. The =INSTAMAP() formula generates a live hosted shareable map URL that updates when the sheet changes. However, this relies on Google Sheets' calculation time. If your sheet contains heavy formulas like =DISTANCE_MATRIX() across 500 rows, the map URL takes longer to reflect newly added store locations.
Third, consider data volume. While InstaMaps provides 1,000 lookups per day with a free email unlock, a spreadsheet containing 50,000 rows will struggle to load in a standard web browser.
A paid, dedicated developer service is a better choice if you require real-time inventory integration. If your store locator must display "Only 3 left in stock" by querying your Shopify database instantly, a spreadsheet cannot facilitate this without slow, third-party API calls. Dedicated locator vendors charge monthly fees to maintain these live database connections.
Furthermore, if you need users to drop a pin on a map and search a 500-mile radius with custom polygon boundaries, you need a paid mapping platform. InstaMaps is a static-to-live URL generator, not a custom JavaScript mapping engine. For straightforward locator pages showing store addresses, opening hours, and basic driving directions, the spreadsheet approach works without the monthly subscription fees.
Who this is for
This tool is ideal for small businesses operating between 5 and 500 physical locations. If you manage a regional coffee chain, a local plumbing franchise, or a network of 50 ATMs, and you need a fast, free map URL to embed on your website, this approach is highly effective.
It is built for managers who already maintain their location data in spreadsheets. If you have a Google Sheet containing your addresses, postcodes, and operating hours, pasting an =INSTAMAP() formula generates a shareable page in seconds.
This approach is wrong for enterprise retail chains requiring real-time inventory integration. If you operate a national electronics chain with 800 stores and need the locator to query live stock levels for 4,000 individual SKUs before a customer leaves their house, InstaMaps will not meet your operational requirements. You require a dedicated, enterprise-grade store locator API.
InstaMaps is also perfectly suited for temporary deployments. If you are organising a weekend festival with 47 food stalls, mapping them from a Google Sheet provides an instant guide for attendees. The map updates automatically if you change the name of a vendor in cell C12 or alter their coordinates in D12.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
First, ensure your address data is structured in specific columns, such as street in column A, city in column B, and postcode in column C. Second, generate latitude and longitude coordinates using =GEOCODE(A2:A500). Finally, feed those coordinates and store names into the map formula, like =INSTAMAP(D2:D500, E2:E500), which outputs a live hosted URL you can hyperlink from your website.
Yes, the InstaMaps add-on is completely free to install from the Google Workspace Marketplace. The free tier allows for 100 lookups per day across functions like GEOCODE and DISTANCE_MATRIX. If you use the free email unlock, this daily limit increases to 1,000 lookups at no cost.
The daily lookup quota applies to data enrichment functions, meaning you can process 100 addresses per day, or 1,000 if you register your email address. Once the coordinates are cached in your sheet, the =INSTAMAP() function displays all provided coordinates on a single hosted map without counting against your daily quota. You can easily map 500 cached coordinates on a single sheet.
Yes, because the =INSTAMAP() function dynamically references cell ranges, any additions or edits to those rows immediately update the hosted map URL. If you add a new shop at row 51 and expand your formula range to include A51, the map plots the new point. This ensures your live locator page remains accurate without requiring manual data exports.
Yes, you can use =ROUTE_LINK(A2, B2) to generate a clickable Google Maps directions URL based on Google Maps' official URL scheme. Customers can click the generated link to open turn-by-turn navigation directly in their browser or mobile app. Note that Google Maps limits these URLs to a maximum of 11 stops per link.
Embedded locator widgets typically charge monthly fees based on map views or store counts, whereas a Google Sheet locator using InstaMaps is entirely free. However, the InstaMaps hosted map is a standalone URL rather than a script you embed directly into your site's HTML. If you require heavy custom CSS styling or search filters built into the map interface itself, paid widgets are the more honest alternative.
Install InstaMaps to instantly generate live, shareable maps directly from your spreadsheet data.
Install InstaMaps free