BlogHow-To

How to Create Sales Territories From a Spreadsheet

5 July 2026·7 min read

To create sales territories from a spreadsheet, install the InstaMaps add-on in Google Sheets, list your addresses in a column, and run the =TERRITORY(A2:A100, "Alice, Bob, Charlie", "balance") formula. The add-on groups the addresses into compact patches and assigns a rep to each row automatically.

This process is designed for sales managers, franchise operators, and field service coordinators who currently organise patches manually. By the end of this guide, you will have a Google Sheet that automatically balances travel time across your reps, alongside a live map URL you can share with the team.

TL;DR
  • Install the InstaMaps add-on for Google Sheets to add territory formulas to your workflow.
  • Use =TERRITORY() to group addresses into balanced patches and assign reps automatically.
  • Use =INSTAMAP() to generate a live, hosted map URL of your territories that updates dynamically.
  • The free tier handles 100 lookups a day, or 1,000 a day with a free email unlock.
  • You can insert formulas without typing via the sidebar at Extensions > InstaMaps > Formulas.
  • Start with a pre-built layout from get-instamaps.com/templates to skip manual formatting.

What you need to map territories

You need a Google Sheet containing your location data and the free InstaMaps add-on. You can open a blank sheet or copy a ready-made layout from get-instamaps.com/templates to skip the setup phase. Once your data is ready, install InstaMaps from the Google Workspace Marketplace.

After installation, open the sidebar via Extensions > InstaMaps > Formulas. This menu allows you to insert location functions directly into cells without memorising the syntax. Ensure your spreadsheet has clear column headers, such as Name, Address, and Rep, so the formulas can process your data accurately.

Step 1: Clean and geocode your addresses

Before the add-on can group addresses into territories, it requires accurate location data. Raw addresses often contain typos or formatting errors that break geographical grouping. You must first standardise the text and convert it into latitude and longitude coordinates.

Use the cleaning and geocoding functions to prepare the data. Standardising the addresses ensures the territory algorithm places pins in the correct physical locations.

  1. Formula: =CLEAN_ADDRESS(A2:A100)

  2. Formula: =GEOCODE(B2:B100)

  3. Result: Column C and D populate with accurate latitude and longitude coordinates for your inputs.

Step 2: Assign reps with =TERRITORY()

Once you have coordinates, you can divide them into balanced territories. The TERRITORY function groups map points based on physical proximity to keep travel times low while ensuring an even distribution of accounts.

The formula takes your coordinate range, a list of representative names, and a balance parameter. It then calculates the optimal geographical patches and assigns a rep to every single row.

  1. Formula: =TERRITORY(C2:D100, "Alice, Bob, Charlie", "balance")

  2. Input: Reference your latitude and longitude columns, list your rep names in quotes separated by commas, and set the balance parameter.

  3. Result: The formula outputs the assigned rep name for each row, ensuring every rep gets an even share of the workload based on proximity.

Step 3: Generate a live map with =INSTAMAP()

A spreadsheet column of rep names is difficult to visualise. You need a map to confirm the patches make geographical sense and to share the routes with your team in the field.

The INSTAMAP formula reads your selected data range and builds a hosted map online. It returns a shareable URL directly inside the cell.

  1. Formula: =INSTAMAP(A2:F100)

  2. Input: Highlight your columns, including the addresses and the assigned rep names.

  3. Result: The cell outputs a clickable URL. This opens a live, colour-coded map that updates automatically whenever you change an assignment or add a new lead to the sheet.

Worked example: A 200-home farm for 5 crews

Consider a property maintenance company managing a farm of 200 homes, needing to assign work across 5 local installation crews. The operations manager lists the 200 addresses in column A. They use =GEOCODE(A2:A201) to fetch the coordinates for the entire list.

Next, they run =TERRITORY(B2:C201, "Crew A, Crew B, Crew C, Crew D, Crew E", "balance"). The system identifies a tight cluster of 47 stops near Crew A's operating centre and assigns them accordingly, ensuring the other crews receive an equal number of stops in their respective geographical clusters.

Finally, the manager runs =INSTAMAP(A2:F201) and sends the resulting URL to the crew leads. Because the map updates dynamically, if a customer in Crew C's zone cancels, removing that row from the sheet removes the pin from the shared map immediately.

Limits and honest alternatives

InstaMaps processes 100 lookups a day on the standard free tier. Registering an email address raises this limit to 1,000 lookups a day at no cost. This capacity is plenty for a 200-home farm, but if you process massive datasets of 10,000 rows or more daily, you will hit the cap.

In high-volume enterprise scenarios, dedicated geographic information system software like QGIS remains the standard for territory mapping, though it requires a steep learning curve. Paid mapping tools offer advanced optimisation but often cost hundreds of pounds per licence. InstaMaps handles basic proximity balancing directly in your browser for zero cost.

If you need to provide specific driving directions to a rep, use =ROUTE_LINK(). Remember that Google Maps' official URL scheme limits directions to a maximum of 11 stops per link.

Try it free

Map your Salesforce accounts in under 5 minutes — no admin setup.

Install Free →

Common Questions

How do I map a sales territory in Google Sheets?

You can map a sales territory in Google Sheets by installing the InstaMaps add-on. Use the =TERRITORY() formula to assign reps based on coordinates, then use the =INSTAMAP() formula to generate a shareable web map of those assignments.

How many locations can InstaMaps handle on the free tier?

The free tier allows 100 lookups per day. If you verify your email address inside the add-on, this daily limit increases to 1,000 lookups for free. This covers most standard sales territory mapping needs.

Can I balance sales territories by revenue instead of location?

Currently, the =TERRITORY() formula balances by geographical proximity to minimise travel time. If you need to balance by revenue or account size, you must sort your data manually before running the geographical balancing.

Does the InstaMaps map update when I add new leads to the sheet?

Yes. The =INSTAMAP() formula creates a live, hosted URL. Whenever you add new rows, change an address, or alter a rep assignment, the hosted map at that URL updates automatically to reflect your sheet's current state.

Is there a template for mapping sales territories?

Yes, you can download pre-built spreadsheets from get-instamaps.com/templates. These templates already contain the necessary =GEOCODE(), =TERRITORY(), and =INSTAMAP() formulas configured for immediate use.

Build your sales map today

Stop pasting addresses into manual map tools. Install InstaMaps and use =TERRITORY() to balance your team's workload in minutes.

Install InstaMaps free