Industryretailfootfallheatmap

Retail footfall heatmaps: map store and mall traffic zone by zone

Retail footfall heatmaps zone by zone: where people counters go, which display mode fits your data, and colour thresholds set with style rules.

8 min readPublished Updated By Spatial Map team
3D preview of the Acme Supermarket demo store: department areas tinted red, orange, yellow and green by customer traffic, with staff and safety-equipment markers on the aisles

What this guide covers

The four metrics worth painting

Retail teams drown in counting data and starve for decisions. Four metrics do the work of dozens: entries per zone per hour, capture rate (entries into a store or department ÷ entries into the space around it), dwell time, and cross-visit. Everything else is a variation. See how this fits a retail store and a shopping mall.

Entries/h
Rush profile per zone
Capture
Pulling power of a frontage
Dwell
Browsing vs. passing through
Cross-visit
Value of an adjacency
Illustrative hourly entries — anchor vs. food courtA synthetic day showing the classic midday peak at an anchor store and a food court that peaks an hour earlier. Figures are illustrative, not from a real study.

Where the counters go

  • Every building entrance — the denominator for everything else.
  • Every department or tenant entrance you want a capture rate for — the metric needs a pair.
  • Corridor pinch points — dwell only makes sense on a stretch you can define.
  • The food court or café perimeter — often the earliest sign of how the day will go.
  • Escalator and lift landings — the anchor for cross-floor visits in a multi-level building.

Zone counts or positioned events: pick the right display mode

Footfall data arrives in one of two shapes, and Spatial Map has a display mode for each. Most people counters report a number per zone per time bucket. Camera analytics, Wi-Fi positioning or RFID reads can instead give you one record per detection with its own longitude and latitude.

What your system sendsDisplay modeWhat appears on the map
A count per zone (entries, exits, dwell)Color a shapeEach area tinted by its own numbers; style rules set the colour bands
A count you want to read as a numberValue badge on shapeThe value (e.g. 46 entries or a 12 % capture rate) written on the area
One record per detection, with lng/latHeatmap of activityA density glow where detections cluster — no shapes needed

Heatmap of activity counts records, not values: each record adds the same weight, scaled by the Heatmap intensity slider (0.5–3×), and Heatmap radius (10–80 px) controls how far each one spreads. For a table source, Density source decides what is counted: Live rows (one per record), or Change history (weighted by events) over the last hour, 24 hours, 7 days or 30 days — so a table you update on every detection builds up a picture of where people actually went.

How the demo supermarket paints its traffic

Our Acme Supermarket demo keeps footfall in a table called Customer Traffic (kind Polygon / area). Each row is one department in one five-minute bucket, with zone_name, entries, exits, dwell_median_s and unique_visitors. Eight departments are counted, among them Produce, Dairy, Bakery, Frozen Foods, Deli, Meat & Seafood and Wine Area.

A Color a shape data link named “Customer Traffic (heat)” matches each row to the area whose name equals zone_name. Five style rules, checked top-down with the first match winning, turn the entries value into a colour band:

Style ruleConditionFill
Traffic — Very hotentries ≥ 40Red
Traffic — Hotentries ≥ 30Orange
Traffic — Warmentries ≥ 20Yellow
Traffic — Coolentries ≥ 10Green
Traffic — Coldeverything elseBlue

Hover an area and the tooltip shows the bucket time, entries, exits, median dwell and unique visitors. The same map carries the Employees and Safety Assets layers, so “Bakery is red and nobody is near it” is visible at a glance. The full store walkthrough is in our supermarket digital twin post.

Wire it up end to end

  1. 1
    Get the counts in

    The simplest path is a table: Tables → Create new table, kind Polygon / area, then create an API key so your counting system writes rows itself (each key is limited to 60 requests a minute). If the vendor exposes a JSON endpoint, the table’s Pull from a REST API option fetches it on a schedule from our servers. Integrations → Add integration also offers REST API (pulled by the browser while a map is open, so the endpoint must allow CORS) and Upload file for CSV, XLSX, JSON or GeoJSON exports.

  2. 2
    Name the areas to match

    In the editor, make sure each department or unit is an area whose name equals the zone name in your data. Matching ignores case and punctuation.

  3. 3
    Create the data link

    Data → Manage data links → New link. Pick the table as the data source and Color a shape as the display mode, then attach it to areas by attribute: your zone field compared against the shape name.

  4. 4
    Add the colour bands

    With nothing selected, scroll the editor’s side panel to Style rules and click Add rule for each band: a condition such as entries ≥ 40 and a Fill colour under Paint when matched. Back in the data link, tick the rules in its Style rules section.

  5. 5
    Add capture rate if you need it

    Compute the ratio upstream (store entries ÷ zone entries), send it as a field, and add a Value badge on shape link that writes it on each frontage.

  6. 6
    Give viewers one-click views

    Under Saved filters, add a filter such as “Hot zones only” (entries ≥ 30). Viewers pick it as a chip; they never edit the conditions.

The New data link dialog, open at Display mode
New data link dialog with the display mode cards: Live location marker, Info marker on shape, Value badge on shape, Color a shape, Heatmap of activity, Camera field of view and Pulsing zone activity
New data link dialog with the display mode cards: Live location marker, Info marker on shape, Value badge on shape, Color a shape, Heatmap of activity, Camera field of view and Pulsing zone activity

What the tenant or area manager should see

Conversations with a tenant or an area manager go better when they can see their own frontage on the map. A share link opens a read-only viewer without an account. In Share facility you give the link a label, an expiry (one hour to one year, a custom date, or never) and an optional cap on the number of views; choose which data links it shows; and can lock it to one floor. Revoke it any time from Manage links.

For the trend rather than the live picture, build a report on the same table — the demo workspace has a Customer Traffic report for the supermarket — and export it as PDF, Excel, CSV or JSON.

Share facility dialog, General tab
Share facility dialog with tabs General, Appearance, Layout, Data links, Viewer chrome and Manage links; the General tab shows a label field, expiry choices from 1 hour to Never expires and a Maximum views field
Share facility dialog with tabs General, Appearance, Layout, Data links, Viewer chrome and Manage links; the General tab shows a label field, expiry choices from 1 hour to Never expires and a Maximum views field

Try the platform your data belongs on.

Spatial Map turns spreadsheets, sensor streams, and CAD drawings into one live 3D facility view — nothing to install, seven-day free trial.

See it live

Keep reading