> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Goal widget

> Single-value progress widget with performance ranges — track one or more metrics against numeric targets with a progress bar.

The goal widget tracks one or more metrics against numeric targets with a progress bar. It complements tables and charts by surfacing how close performance is to the agreed-upon goal at a glance.

For per-row targets inside a table widget (for example, CPC targets per campaign), use [KPI targets](/dashboards/building/setting-kpis) instead. The two features serve different audiences — KPIs for per-row inspection, goal widgets for top-line tracking.

## Add a goal widget

Click **+ Add widget** in the dashboard header and pick **Goal** from the catalog. Open the widget settings to configure metrics and goals.

## Pick metrics

Add up to **10 metrics** in the widget settings panel. Each metric gets its own progress row inside the widget — for example, **Spend**, **Conversions**, **Revenue**.

## Set the target for each metric

For each metric, enter the goal value. Two options:

* **Static value** — a number entered directly, for example `10000` for \$10k revenue.
* **Metric-derived value** — resolved from another metric on the dashboard, useful when the target itself comes from a connected source (for example, the budget field from an ad platform).

## Normal vs Forecast mode

| Mode         | When to use it                                                                              |
| ------------ | ------------------------------------------------------------------------------------------- |
| **Normal**   | Compares actual-to-date against the goal. The progress bar fills based on `current / goal`. |
| **Forecast** | Compares the pacing projection against the goal. The bar fills based on `forecast / goal`.  |

Forecast mode is only active when the date filter end is in the future and the start is in the past — for example, "month to date" partway through the month. Outside that condition the widget falls back to the actual ratio.

## Performance ranges (optional)

For dashboards where progress should be color-coded against bands — for example, red below 50%, yellow 50-80%, green above 80% — enable performance ranges. Up to 4 colored segments map to threshold values on the goal. A thin colored bar renders beneath the progress bar.

To configure:

1. Enable the performance range toggle in the goal widget settings.
2. Pick the number of segments (2, 3, or 4).
3. Set the threshold value and color for each segment.
4. Optionally enable the **Show label** toggle to display threshold values on the range bar.

The reverse button swaps colors across segments in mirror order — useful for flipping a red-to-green scale into green-to-red.

## Empty states

* If the goal widget hasn't been configured yet, the widget shows a prompt to set up a metric and goal.
* If the date filter starts after today (so no data window is available), the widget shows **No data available**.
* If `current` or `goal` is missing (for example, the data source returned no rows), the percent label renders as `-`.

## Permissions

Configuring the goal widget is gated by workspace role. **View only** members cannot edit; **View and edit** and **Admin** can. See [Permissions and access](/data-sources/managing/permissions-and-access).

## Widget styling

Global widget style settings — font, border, background, and color themes — apply to every widget through the [Dashboard style settings](/dashboards/building/dashboard-style-settings#global-widget-settings). On top of those, Goal widgets have style options unique to this widget type:

The **Font & Graph** block exposes five HEX color pickers:

* **Metric name** — the color of each metric's label on its progress row.
* **Background & graph** — the color of the unfilled portion of the progress bar.
* **Current value & graph** — the color of the actual-to-date fill on the progress bar.
* **Forecast value & graph** — the color of the pacing-projection fill when Forecast mode is active.
* **Goal accomplished** — the color applied when the metric has reached or exceeded its goal.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The widget prompt is asking for setup even though metrics are set">
    Confirm each metric has a target value set. A metric without a target hides the progress row and reverts the widget to setup state.
  </Accordion>

  <Accordion title="Forecast mode isn't activating">
    Forecast mode only renders when the date filter end is in the future and the start is in the past. Change the date range to a partial window (for example, "month to date").
  </Accordion>

  <Accordion title="Percent label shows a dash ('-')">
    Either the current value or the goal value is missing. Confirm the data source returned rows for the metric, and confirm the target was entered.
  </Accordion>
</AccordionGroup>

## Related

* [Setting marketing KPIs](/dashboards/building/setting-kpis)
* [Widget library overview](/widgets/widget-library/overview)
* [Multi-currency reporting](/dashboards/building/multi-currency-reporting)
