Maintaining an interactive map can be resource-intensive for nonprofits and small organizations. Linking a Google Sheet to ArcGIS provides a cost-effective, simple, and scalable way to update map data in real-time—ideal for datasets of points (such as service locations). This guide walks you through the process, step by step.
Why use Google Sheets with ArcGIS?

Ease of Use: Google Sheets is user-friendly, accessible, and requires no specialized software.
Live Updates: Changes to your dataset in Google Sheets automatically reflect in your ArcGIS map.
Resource Aware: No need for advanced GIS skills or hosting infrastructure.
The only limitation is that this workflow supports point data only (latitude/longitude), not polygons.
Step 1: Create your dataset in Google Sheets
Open a new Google Sheet.
Design a fixed template with protected column headers to prevent accidental changes to the data schema. For example:
Name: Name of the location
Address: Physical address
Latitude: Geographic latitude (required)
Longitude: Geographic longitude (required)
Category: Type of service (optional)
Example data:
Name | Address | Latitude | Longitude | Category |
Community Center | 123 Main St, Athens | 37.9838 | 23.7275 | Social |
Below is a screenshot of the table powering Mazí Housing’s Map of Athens' Services for Asylum Seekers

Protect column headers: Select the header row > Data > Protect Sheets and Ranges to lock the schema. This ensures a coworker (or you, after one too many coffees or on a sleepy Monday morning😴 ) doesn’t accidentally edit the schema and break the map connection. Think of it as a little safety net for when life gets messy.
Step 2: Find latitude and longitude for your addresses
To map your data, you’ll need latitude and longitude for each location. Here are three methods:

2.a: Manual geocoding with Google Maps
Open Google Maps and search for your address.
Right-click the location marker and select What’s here?
Copy the latitude and longitude from the pop-up.
Paste these values into your Google Sheet.
2.b: Batch geocoding with Geocoding by SmartMonkey (Google Sheets Add-On)
Install the Geocoding by SmartMonkey add-on in Google Sheets. Once installed, open your sheet and follow these steps:
Highlight your address column.
Run the add-on by navigating to Extensions > Geocoding by SmartMonkey > Start Geocoding.
Once configured, the add-on will process your addresses and populate new columns with latitude and longitude data automatically.
Review the results to ensure accuracy, especially for ambiguous addresses.

2.c: Batch geocoding with Geoapify
Visit Geoapify’s online geocoding tool.
Prepare a CSV of your addresses.
Use Geoapify’s bulk geocoding service to retrieve latitude and longitude. Note that Geoapify supports up to 500 rows per batch.
Upload the resulting CSV back into your Google Sheet.
Other Online Geocoding Alternatives
BatchGeo: A simple tool for geocoding and mapping data directly from your spreadsheet. Visit BatchGeo.
MyGeoPosition: Provides bulk geocoding with latitude and longitude results. Check out MyGeoPosition.
PositionStack: Offers free geocoding API with easy-to-use batch options. Learn more at PositionStack.
Step 3: Publish your Google Sheet to the web
In Google Sheets, go to File > Share > Publish to the Web.
Choose CSV as the format and copy the generated link.
Step 4: Connect your ArcGIS Map to the Google Sheet
Open your ArcGIS Online project.
Select Add Layer > Add Layer from Web.
Paste the CSV link from Step 3.
Choose Reference Layer (not hosted feature) to maintain a live connection.
In the layer settings, specify the correct latitude and longitude columns for geocoding by selecting the fields labeled "Latitude" and "Longitude."
Save the layer settings to ensure proper mapping of the points on your map.
Step 5: Customize your map in ArcGIS Online
Adjust symbology to categorize points (e.g., by service type or category).
Configure pop-ups to display relevant information from the dataset.
Save and publish your map.
Keeping your map updated
The beauty of this workflow is that any updates made to the Google Sheet—such as editing cells or adding rows—are automatically reflected in your map. However, note that adding new columns to the sheet will break the connection.
💡Pro Tip: To future-proof your dataset, consider leaving a few empty columns with predefined headers. Think of them as "reserved parking spots" for future data—no need to scramble when you suddenly need a new field.
Example in action: Mazí Housing Asylum Seekers Resource Map
We used this workflow to create the live service map for Mazí Housing. It allows the organization to easily update resource data in Google Sheets, which reflects instantly on their public-facing map. Explore the dashboard here.

This workflow is a powerful yet simple way to maintain live maps.
It eliminates technical overhead, making it ideal for nonprofits and other resource-conscious organizations. By following these steps, you can create and maintain your own dynamic map with ease.
Reach out to us for help! We work with nonprofits to unlock the power of GIS and scale their impact.