---
title: "Layer Attribute Enrichment"
canonical: "https://help.cartinuum.com/space/WC/4559241256/Layer%20Attribute%20Enrichment"
format: markdown
---
[The Layer Attribute Enrichment widget](https://extensions.cartinuum.com/product/layer-attribute-enrichment/) lets users enrich a map layer with attributes from a CSV file, creating an enriched layer that can be explored in the map and used by other widgets.

Use this widget when users need to join external tabular data to features without modifying the source feature service.

## What this widget does

Layer Attribute Enrichment performs client-side joins between map feature layers and CSV data. Users select a source layer, choose a CSV file from ArcGIS Portal, map join fields, select columns, and create an enriched layer.

The enriched layer can be displayed on the map and exposed as a data source for other Experience Builder widgets.

## When to use it

Use Layer Attribute Enrichment when users need to:

- Join CSV data to existing feature layers.
- Enrich census, survey, risk, planning, or operational layers.
- Test data relationships without changing the original service.
- Apply filters to external tabular data before joining.
- Reuse saved enrichment definitions.
- Feed enriched data into downstream widgets such as tables, charts, or lists.

## Key features

- CSV selection from ArcGIS Portal.
- Field mapping between CSV columns and layer fields.
- Join configuration using key fields.
- Column selection.
- Filter conditions.
- Type inference for numeric and text values.
- Saved enriched layer definitions.
- Summary statistics.
- Option to include unmatched records.
- Output data source support.
- English, French, and Spanish translations.

## Requirements

- [ArcGIS Experience Builder 1.14 or later.](https://developers.arcgis.com/experience-builder/guide/release-versions/)
- A Map widget in the Experience Builder app.
- A source feature layer.
- CSV files have been published to ArcGIS Portal.
- A modern browser with IndexedDB support.
- A valid Cartinuum widget license.

## Before you begin

Before configuring Layer Attribute Enrichment:

1. Add a Map widget to your Experience Builder app.
2. Confirm that the source map layer has a field suitable for joining.
3. Publish the CSV data to ArcGIS Portal.
4. Confirm that the CSV has a header row and a matching join field.
5. Install or enable the widget using the standard widget installation process.

For installation and licensing steps, see [Widget Installation](https://help.cartinuum.com/space/WC/4255481886/Widget+Installation).

## Add Layer Attribute Enrichment to an app

1. Open your app in ArcGIS Experience Builder.
2. Add the Layer Attribute Enrichment widget to the page.
3. Open the widget settings.
4. Add the widget license.
5. Configure whether users can create and edit layer definitions.
6. Configure whether users can edit filters.
7. Save and publish the Experience Builder app.

## Configure the widget

| Setting | What it controls |
| --- | --- |
| License | The widget license. |
| Enable layer definition setup | Allows users to configure layer enrichment definitions. |
| Enable filter editing | Allows users to add or edit CSV filter conditions. |
| Data persistence | Copies locally saved configurations into the app configuration for other users. |

## Use the widget

1. Open the Experience Builder app.
2. Open Layer Attribute Enrichment.
3. Select the source feature layer.
4. Select the CSV file from ArcGIS Portal.
5. Choose the CSV join field.
6. Choose the layer join field.
7. Select the CSV columns to include.
8. Add filters if required.
9. Name the layer definition.
10. Create the enriched layer.

## Saved definitions

Saved layer definitions allow users to reuse join configurations.

App authors can promote local definitions to widget configuration so they are available to all app users.

## Troubleshooting

### The CSV file is not available

Check that the CSV has been published to ArcGIS Portal and that the user has permission to access it.

### Join results are empty

Check that:

- The selected CSV field and layer field contain matching values.
- Filters are not excluding all CSV rows.
- The CSV contains a header row.
- The source layer contains features.

### The enriched layer is slow to create

Large CSV files and large feature layers may take longer to process. The widget uses browser storage and batch processing, so performance depends on browser capacity and dataset size.

### The widget does not work in private browsing

Private browsing modes can restrict IndexedDB, which the widget uses for CSV storage and lookup performance.