Skip to main content
cesteralDocs
FAQContact

Geo Profiling Node

Enrich records with census variables by looking up the area for each coordinate

Last updated 24 Jun 2026

The Geo Profiling node enriches records with census data. For each row it looks up the census area containing the row's coordinates, then appends the configured census variables (raw value, z-score, and decile) to the row.

When to Use

Use Geo Profiling when your records have geographic coordinates and you want to append census variables — population, income, education — for targeting or segmentation.

Configuration

FieldTypeDescription
latColumnstringColumn containing latitude (default: latitude). Required
lngColumnstringColumn containing longitude (default: longitude). Required
countrystringISO 3166-1 alpha-3 country code (e.g. "SWE"). Required
variablesstring[]Census variable codes to fetch. At least one is required
levelnumberTarget hierarchy level (0=country, 1=region, 2=municipality, 3=DeSO). If omitted, the smallest containing area is used
radiusKmnumberIf set and > 0, falls back to the nearest area within this radius when the point isn't inside any area
includeAreaInfobooleanInclude the matched area's code/name/type columns in the output (default: true)

Example

Enrich Swedish leads with municipality-level census data:

latColumn: lat
lngColumn: lng
country: SWE
level: 2
variables:
  - P_PERS
  - MED_INK
radiusKm: 5

Output

For each configured variable <code>, three columns are added:

ColumnDescription
gp_<code>_valueRaw census value
gp_<code>_zscoreZ-score for the area
gp_<code>_decileDecile rank (1–10)

When includeAreaInfo is true, the matched area is added as _gp_area_code, _gp_area_name, and _gp_area_type. Standard batch-status columns (_success, _error, _error_code) are also appended.

Notes

  • Records whose coordinates don't fall within any census area (and aren't matched by radiusKm fallback) are passed through with null census columns and a CENSUS_AREA_NOT_FOUND error code.
  • Coordinates outside valid lat/lng bounds are treated as no-match.
  • Currently loaded coverage: Sweden (SWE) — ~6,300 geometries with H3 spatial indexes.
  • Point-in-polygon matching uses GIST indexes for exact results; area lookups have a timeout and degrade gracefully (null census fields) on timeout.
  • Variable codes are country-specific. See the Census Variables reference for available codes.

Related articles

Still stuck? Browse the FAQ or contact us.