# Troubleshooting enrichment

> No Dimensions yet, Dimensions that are empty or partial, or values you didn't define. Causes and fixes.

## No Dimensions yet

Start here. Most "no Dimensions" cases are timing: the data hasn't been enriched yet, and nothing is broken. Find how your data came in:

| How the data came in | When it gets Dimensions | What to do |
|---|---|---|
| A file upload under **Unstructured data**, including your first file at sign-up | Only after a backfill | Run a [backfill](/dimensions/backfill) from the **Backfill** tab. It typically shows up within the hour, depending on how much data is being enriched. |
| Sent to `/trackhistorical` | Only after a backfill | Run a backfill from the **Backfill** tab. |
| A live integration (a one-click integration, or a universal API job sending to `/track`) | Automatically, every day | Check again tomorrow. If a full day has passed, see the rows below. |
| You're waiting on the standard Dimensions (**System Prompts**) | Every day only when Dimension Labs has turned on daily enrichment for your workspace | Run a backfill, or email support@dimensionlabs.io to turn on daily enrichment. |
| A file under **Structured data** (business data) | Never: business data isn't enriched | If the file holds conversations, upload it again under **Unstructured data**, then run a backfill. |

To check what you have, ask the agent: *"Which prompts have Dimensions for this source, and for which dates?"*

## Dimensions are empty

| Cause | Check | Fix |
|---|---|---|
| The prompt is newer than the data | Ask the agent which dates have Dimensions | Run a [backfill](/dimensions/backfill) over the older dates |
| The data went in as business data | It's under **Structured data** in **Data Sources** | Upload the conversations under **Unstructured data**, then backfill |
| Rows have a blank `userId` | Run the [file checker](/data/check-a-file) (code C07) | Copy the `sessionId` into `userId` and upload again. Duplicates are removed automatically, so re-uploading is safe. |
| The Dimension asks about something the text doesn't contain | It's `none_detected` almost everywhere | That may be the right answer. If the signal lives in a column (rating, outcome), join the column instead. |

## Dimensions cover only part of the history

A backfill can be limited to a date range, and conversations outside it stay empty. Ask: *"What's the earliest and latest date with Dimensions, and the earliest and latest date in the raw data?"* Then backfill the gap.

## Values you didn't define

The model sometimes returns a value outside your list, or a spelling variant (`none detected`, `nothing_offered` vs `none_offered`). Ask the agent to group them. Then tighten the description: add "Do not use X; use Y". A sudden cluster of new values can also be a real signal, such as a product recall nobody planned a category for, so read a few before you suppress them.

## A Dimension fires on every conversation

Often a speaker label in the transcript ("Maya (AI):") is leaking into a persona or brand Dimension. Add "ignore speaker labels; use only the customer's own words" to its description. See [Test before you run](/dimensions/test-before-you-run).

## Still empty

If a backfill has finished and the data is still empty, email support@dimensionlabs.io with the source name, the prompt name, the date range you expected, and what the agent told you when you asked which dates have Dimensions.
