top of page
Slide Transition.jpg

The Nonprofit GIS Lab: How-to link a Google Sheet to ArcGIS Online for live updates

Writer: Charles GrosperrinCharles Grosperrin

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?

Google Sheets x ArcGIS Online

  • 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


  1. Open a new Google Sheet.

  2. 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

GSheet to ArcGIS Online - Figuring out the right schema

  1. 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:

Finding latitude and longitude

2.a: Manual geocoding with Google Maps
  1. Open Google Maps and search for your address.
  2. Right-click the location marker and select What’s here?

  3. Copy the latitude and longitude from the pop-up.

  4. Paste these values into your Google Sheet.



2.b: Batch geocoding with Geocoding by SmartMonkey (Google Sheets Add-On)
  1. Install the Geocoding by SmartMonkey add-on in Google Sheets. Once installed, open your sheet and follow these steps:

  2. Highlight your address column.

  3. Run the add-on by navigating to Extensions > Geocoding by SmartMonkey > Start Geocoding.

  4. Once configured, the add-on will process your addresses and populate new columns with latitude and longitude data automatically.

  5. Review the results to ensure accuracy, especially for ambiguous addresses.

Connect GSheet to ArcGIS Online - Geocode with SmartMonkey

2.c: Batch geocoding with Geoapify
  1. Visit Geoapify’s online geocoding tool

  2. Prepare a CSV of your addresses.

  3. Use Geoapify’s bulk geocoding service to retrieve latitude and longitude. Note that Geoapify supports up to 500 rows per batch.

  4. Upload the resulting CSV back into your Google Sheet.


    Connect GSheet to ArcGIS Online - Geocode with online tools

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


  1. In Google Sheets, go to File > Share > Publish to the Web.

  2. Choose CSV as the format and copy the generated link.

    Connect GSheet to ArcGIS Online - Publish GSheet CSV

Step 4: Connect your ArcGIS Map to the Google Sheet


  1. Open your ArcGIS Online project.

  2. Select Add Layer > Add Layer from Web.

  3. Paste the CSV link from Step 3.

  4. Choose Reference Layer (not hosted feature) to maintain a live connection.

  5. In the layer settings, specify the correct latitude and longitude columns for geocoding by selecting the fields labeled "Latitude" and "Longitude."

  6. Save the layer settings to ensure proper mapping of the points on your map.



Step 5: Customize your map in ArcGIS Online


  1. Adjust symbology to categorize points (e.g., by service type or category).

  2. Configure pop-ups to display relevant information from the dataset.

  3. 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.


Google Sheet powered ArcGIS Online Dashboard - Mazí Housing

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. 


Subscribe to receive our latest articles

We try to publish twice a month and pledge to not use your email address for other purposes than staying up to date with North Arrow news and blog posts.

Thanks for submitting!

bottom of page