To map multiple locations from a spreadsheet, install the InstaMaps add-on for Google Sheets. Use the =GEOCODE(A2:A100) formula to get coordinates for your addresses, then use the =INSTAMAP(B2:C100, "Sales Territory A") formula to generate a live, shareable map URL for that specific range.
This guide is for sales managers, field service coordinators, and franchise operators tired of manually copy-pasting rows into mapping software. By the end of this tutorial, you will have a single Google Sheet containing multiple independent maps-one for each crew, region, or delivery route-without paying for specialised software.
- →Install the free InstaMaps add-on to generate live map URLs directly inside Google Sheets.
- →Use =GEOCODE(A2:A100) to convert plain text addresses into latitude and longitude coordinates in bulk.
- →Use =INSTAMAP(B2:B100, C2:C100) to plot those coordinates and generate a shareable link for a specific range.
- →Create a multi-map dashboard by placing multiple =INSTAMAP() formulas down a column, each pointing to a different territory.
- →The free tier provides 100 lookups per day, increasing to 1,000 daily lookups with a free email unlock.
- →The =INSTAMAP() formula updates automatically when you change addresses or labels in the source range.
What you need before you start
To map multiple locations from a spreadsheet, you need a Google Sheets document containing your location data (usually addresses or postcodes) and the InstaMaps add-on. The add-on is free and provides 100 geocode lookups per day, which increases to 1,000 per day when you verify a free email.
Using a spreadsheet allows you to maintain a single source of truth. Rather than exporting CSV files into third-party websites that charge monthly fees, you keep your data, your coordinates, and your map links in one secure document. Once installed, you can access the InstaMaps sidebar via Extensions > InstaMaps > Formulas to insert functions without typing them manually.
Step 1: Geocode your addresses
Before you can plot points on a map, you must convert plain text addresses into latitude and longitude coordinates. Instead of using external services or writing scripts, apply the geocoding formula directly to your address column. This processes your data in bulk directly inside the spreadsheet.
If your addresses are listed in column A, spanning from row 2 to row 50, select cell B2 and enter the geocoding formula. If an address is malformed or missing a postcode, the formula will return an error message in the cell rather than failing silently. This allows you to identify data entry issues immediately.
Type: =GEOCODE(A2:A50)
Result: The sheet populates column B with accurate coordinates. Whenever you add or change an address in column A, column B updates automatically.
Step 2: Generate a map for your first territory
Now that you have coordinates, you can create your first live map. The map formula reads the coordinate data and generates a hosted, shareable URL. You can create multiple maps on the same sheet by pointing the formula to different rows.
Assuming your coordinates are in column B and you want to include custom labels from column C, select an empty cell (like E2) and enter the map formula. The hosted URL displays your points on a standard, interactive interface. Users can zoom, pan, and click on individual pins to read the labels you assigned in column C.
Type: =INSTAMAP(B2:B50, C2:C50)
Result: Cell E2 displays a clickable URL. Clicking it opens an interactive map displaying all 49 locations. Altering any coordinate or label in those rows instantly updates the map.
Step 3: Create additional maps for other ranges
The core advantage of using a spreadsheet for mapping is the ability to organise data into distinct territories, tours, or regions. You can place another =INSTAMAP() formula right below your first one, pointing to a completely different set of rows.
If rows 51 through 100 represent your South Region tour, select cell E3 and enter a new map formula targeting that specific range. By structuring your sheet this way, you create a clear hierarchy. You can title cell D2 'North Route' and D3 'South Route' to keep track of which URL corresponds to which territory.
Type: =INSTAMAP(B51:B100, C51:C100)
Result: You now have a second distinct URL in cell E3. You can repeat this process for as many territories as you manage, creating a dashboard of individual maps all running from the same master sheet.
Worked example: A 200-home maintenance farm
Consider a property maintenance business managing 200 homes across a city, divided among 5 field crews. The operations manager keeps all 200 addresses in a single Google Sheet. The manager uses the =GEOCODE() formula in column B to translate all 200 addresses into coordinates, costing 200 daily lookups (well within the free 1,000/day limit).
Next, the manager filters the sheet to sort homes by assigned crew. In column F, the manager places five separate =INSTAMAP() formulas down the column. The first formula points to rows 2 through 41 (Crew 1's 40 homes). The next points to rows 42 through 81 (Crew 2's 40 homes), and so on.
Every morning, the manager clicks the five URLs to send each crew their exact daily map. The manager also uses the =WAZE_LINK() formula next to each map link, providing crews an alternative navigation option. By keeping the master sheet sorted by postcode, the manager ensures that the 5 crews receive geographically clustered homes. If a customer cancels, the manager deletes that row, and the corresponding crew's map updates automatically before the link is shared.
Limits and honest alternatives
InstaMaps is designed for operational use inside Google Sheets, which means it has specific technical boundaries. The free tier allows 100 lookups per day, increasing to 1,000 per day with a free email unlock. If you need to process 50,000 rows of historical data daily, this tool is not the right fit. You would need a dedicated geographical information system or enterprise mapping software.
Additionally, if you need complex routing algorithms that optimise multi-stop driving directions, you should consider paid routing software. InstaMaps includes the =ROUTE_LINK() function, which generates a Google Maps link for a specific set of stops, but Google Maps limits URLs to a maximum of 11 stops.
If your primary goal is complex fleet routing with constraints like vehicle capacity or delivery time windows, a dedicated tool will outperform a spreadsheet formula. However, for sales territory mapping, visualising real estate portfolios, or basic field service planning, a multi-map spreadsheet structure provides everything you need without adding another software subscription to your business.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
Yes, you can use the free InstaMaps add-on in Google Sheets. It allows 100 geocoding lookups per day on the base tier, and 1,000 lookups per day when you verify a free email.
The =INSTAMAP() formula can plot hundreds of coordinates on a single hosted map URL. The primary constraint is your daily geocoding lookup limit rather than the map rendering itself.
Yes. Because the =INSTAMAP() formula points to a specific range of cells, any changes you make to the addresses or coordinates in those cells instantly reflect on the hosted map URL.
The =INSTAMAP() formula generates a standard URL in the cell. You simply copy that URL and send it via email or text message; the recipient does not need the add-on or access to your spreadsheet to view the map.
Yes, you can use the =ROUTE_LINK() formula to generate a Google Maps link. However, because it relies on the standard Google Maps URL scheme, it is limited to a maximum of 11 stops per link.
Stop copy-pasting addresses into web interfaces. Install InstaMaps and build your multi-map dashboard directly inside Google Sheets today.
Install InstaMaps free