Coverage gaps

A coverage gap is an area inside your territory model that no territory covers, and where records are actually landing.

That second half is what makes it worth reporting. Most of a map is uncovered and most of it does not matter; a gap is uncovered ground that is costing you assignments.


Gaps are normal

Territories do not have to tile the country, and a well-built model usually leaves plenty uncovered. Even if every territory in your model behaved perfectly, gaps would still exist — territories not overlapping does not mean they cover everything.

A gap is a to-do item, not a fault. It becomes a problem when records land in it, and that is exactly when the product tells you.


Finding them

Open Assignment Exceptions → Coverage gaps.

Instead of one row per failed record, this groups records by where they landed, and sorts by how many records each area is costing you. That is the question worth asking — never "which record failed" but "which uncovered area is costing us the most, and how many records is it".

Each entry gives you:

How many recordsThe size of the problem — this is the sort order
WhereThe centre of the affected records, and a box around them
Which modelGaps are per model. The same physical hole in two models is two problems with two fixes
Sample recordsUp to 25, to drill into

The centre is the average of the real record positions, not the middle of the area. A gap whose records all sit along one edge points at that edge, which is where you actually need to extend a boundary.

Two things about the list:

  • Only open rows count. A gap you have fixed stops being listed, so the list does not keep telling you to do work you have already done.
  • It is bounded per pass. A very large number of gaps returns a sample, and the view says so.

Fixing one

  1. Open Coverage gaps and take the largest.
  2. Note where it is.
  3. On the map, extend an adjacent territory over it — or add a new territory.
  4. Save.
  5. Go back to Assignment Exceptions, select the rows for that gap, and choose Re-run after a fix.

🔴 Step 5 is not optional. Editing a boundary does not re-assign anything on its own. Redraw a boundary perfectly, skip step 5, and nothing at all will happen.


Two things that look like gaps and are not

Unassigned — the grey outlined area on the map

Inside your model, the map draws the area not claimed by any territory as a grey outline with no fill, labelled Unassigned in the legend. (The design specifies a diagonal hatch over it as well; that is not applied yet.)

That is not a coverage gap. It is geometry: the leftover of your model, drawn so you can see the shape of what you have not covered. It exists whether or not any record has landed in it.

A coverage gap is a record-level finding: these records geocoded into ground nothing covers. The grey area shows you where that could happen; the queue tells you where it did.

The Unassigned area of the demo model

The grey outline is Unassigned — the part of Florida that none of the three territories beneath it covers. Same camera as the image below, with the coverage-gap layer off.

An orphan territory model

If the queue shows ORPHAN_TERRITORY_MODEL, that is not a gap and the fix is the opposite of redrawing.

It means the GIS service returned territories for a model your org no longer has. The boundaries are correct; the service is holding a stale copy of a deleted model.

🔴 Do not redraw anything. See the exception queue.

The product enforces this distinction with a test, because presenting one as the other sends an administrator to redraw a map that is already right — which costs hours and fixes nothing.


The gap layer on the map

The cartographic system specifies a map layer that draws coverage gaps in place, with a marker showing how many records each is costing.

⚠️ It is specified and styled, and the map cannot yet fetch the data to draw it. The gap aggregate lives on the Salesforce side, and the route that would deliver it to the map has not been built.

Use the Coverage gaps view in Assignment Exceptions. It has the same data — that view is what the map layer will read when the route exists.

The gap layer, rendered from the documentation fixture

What the gap layer will look like. This image is rendered from the documentation fixture, not from a live org, precisely because the live route does not exist yet.

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.