Building a territory model

Read The two hierarchies first if you have not. This page assumes you know that a territory's depth and the size of the areas it is built from are independent.


What a model is

A territory model holds one complete territory structure. It has a name and a description, and it contains a tree of territories.

You can have several models at once, and they do not interfere. Sales and Service can both cover Ohio, in completely different shapes, and neither knows the other exists. Assignments are per model, so a record can belong to a territory in each.

⚠️ Because models never compare themselves to each other, nothing warns you if two models disagree. That is by design — they are separate answers to separate questions. It also means a mistake in one model is invisible from the other.


Planning one, before you draw anything

Three decisions, in this order. Two of them are expensive to change later.

1. How many tiers

Depth is free to change structurally — you can add a tier under any territory at any time — but every territory you add needs a boundary drawn, and a boundary is the expensive part.

A useful rule: a tier should correspond to something a person is accountable for. If nobody owns a tier, it is a folder, and folders belong in the name of the territory rather than in the tree.

2. How fine each territory should be

Per territory, not per tier. See The two hierarchies.

  • Whole counties where the business does not split them. Fast to draw, fast to change, few pieces.
  • Block groups where a metro has to be divided. Precise, and slow to redraw — the demo model's Tampa Inner Ring is 456 of them.
  • Tracts are the middle option and are frequently the right one for a suburban split.

Draw coarse first and refine. A county-level model that is finished is more useful than a block-group model that is half drawn, and refining is re-selecting one territory rather than starting again.

3. What happens where nobody sells

Some of the map will belong to no territory, and that is normal. You have two choices and they are different:

  • Leave it uncovered. Records that land there raise a COVERAGE_GAP exception, which is a to-do list. See Coverage gaps.
  • Draw a catch-all territory over it. Records get assigned and nothing is raised.

Neither is wrong. Choose deliberately, because the difference decides whether you find out.


Building it

  1. Create the model. Territory tree → Add new territory model.
  2. Add the top tier. These are usually your largest divisions, drawn from states or counties.
  3. Add children. Select a parent, then Add new territory. Depth is unlimited.
  4. Draw each boundary. Editing boundaries on the map.
  5. Assign people. Roles and assignment.
The territory tree beside the map

The tree is the model; the map is the boundary of whatever is selected in it.


What happens to a neighbour when boundaries meet

If you select an area that already belongs to another territory, it moves. Immediately, silently, and without asking either of you.

The area is removed from the territory that had it and added to yours. Nothing is rejected, no warning is shown, and the other territory's owner is not notified.

This is intended — for a map tool, painting over a neighbour is the expected gesture — but two parts of how it currently behaves are worth knowing:

🔴 A territory reduced to nothing is deletedIf your selection covers all of a neighbouring territory, that territory is removed, not emptied. One box drag can delete someone else's territory
⚠️ Its owner is never toldThere is no notification and no audit entry. The only way to notice is to look at the map

Both are owed remediation and neither is fixed today. Until they are: before a large drag over populated ground, look at what is already there.


Renaming, moving and deleting

ActionEffect on the boundary
Rename a territoryNone. The shape is unaffected
Add a childNone to the parent. Parents and children can overlap; nothing enforces containment
Delete a territory🔴 The boundary is orphaned, not deleted. See below

🔴 Delete-and-recreate does not do what it looks like

A territory's boundary is stored outside Salesforce, keyed on the territory's record id. Delete a territory and recreate it with the same name and you get a new id — and the old boundary is stranded, still stored, belonging to nothing.

The same applies to cloning a territory model, which is the standard Salesforce realignment workflow: a clone has new ids throughout, so the clone has no boundaries at all and the original model's boundaries are not copied with it.

Until this is fixed, do not use clone-a-model as a realignment strategy, and prefer editing a territory over deleting and recreating it. If you have already done either, the stranded boundaries need clearing on the GIS side — see Troubleshooting.


Limits worth knowing

Territories per modelNo product limit. Colour repeats after 20 territories in one sibling group, with a hatch to distinguish the repeats
DepthNo limit
Models per orgNo limit
Areas per territoryNo hard limit. Hundreds are routine; thousands are slow to redraw
Overlap between modelsAlways allowed
Overlap within a modelNot allowed in intent, not prevented in practice — see the neighbour section above
ContiguityNot required and not checked. A territory can be in several unconnected pieces

Last verified: 2026-08-09 · Owner: MapKraken Labs LLC

Something on this page wrong, or a setup step missing? That is a documentation defect and we want it — tell us and this is the page that gets fixed.