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

# Optimize Settings

> Check where Optimize reads billing data, see whether the daily refresh still runs, and choose who hears about refresh problems

**Optimize → Settings** holds the billing source, the refresh health, and the notification link for one cloud account. It's the one Optimize page that still opens when billing data can't be read, so you can fix the problem from it.

## Prerequisites

* A cloud account connected to Optimize. See the [Optimize quickstart](https://docs.cloudthinker.io/guide/cost-optimization/quickstart.md).
* Any workspace role can read Settings. Choosing a billing source, checking it again, and retrying a refresh need Developer or higher. See [Roles](https://docs.cloudthinker.io/guide/security/roles.md).

## Open Settings

Settings isn't in the sidebar. Open it in one of two ways:

* On **Overview** or **Cost Health**, select **Open Settings** on the notice that says a capability is not measured.
* Add `/costops/settings` to your CloudThinker address, then pick the account next to the page title.

![Optimize Settings page with the Refresh health section reading Refresh is running normally and a Notifications section](https://mintcdn.com/cloudthinker/IOnNsZPtwT4C7tHY/images/cost-optimization/settings/01-settings.webp?fit=max\&auto=format\&n=IOnNsZPtwT4C7tHY\&q=85\&s=6919a8c58b2ad6c093223bb84c0ba49a)

Settings for an AWS account. GCP and Azure accounts also show a Billing source section

The **Updated** button and the **Daily refresh** switch stay in the page header, the same as on every Optimize page. Select **Updated** to see how far behind the provider publishes billing data and to turn the daily refresh on or off.

## Billing source

GCP and Azure accounts show where Optimize reads spend from. AWS accounts don't show this section, because Optimize always reads AWS Cost Explorer.

| Provider | Billing source | Picker |
| - | - | - |
| GCP | The Cloud Billing Standard export in BigQuery | **GCP billing export table** |
| Azure | Azure Cost Management on a subscription or billing scope | **Azure billing scope** |

When the source is readable, the section says **Connected and readable** with the table or scope Optimize reads, and when it was last checked. Select **Check again** after you change permissions or the export.

If the source isn't ready, the section shows what's wrong:

| Title | What to do |
| - | - |
| **GCP billing export is required** | In Cloud Billing, turn on the Standard usage cost export with its dataset in this project (Google's [export setup guide](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-setup)), then select **Check again** |
| **Choose a GCP billing export** | Optimize found more than one Standard export table. Pick one under **GCP billing export table**, then select **Use this export** |
| **GCP billing export is not readable** | Give the service account **BigQuery Data Viewer** and **BigQuery Job User** on the project that holds the export |
| **An Azure billing scope is required** | The credential reaches no subscription or billing profile yet. Grant it access to one |
| **Choose an Azure billing scope** | Pick a subscription under **Azure billing scope**, then select **Use this scope** |
| **Azure Cost Management is not readable** | Grant **Cost Management Reader** on the subscription. On a Microsoft Customer Agreement, also grant **Billing profile reader** on the billing profile |

**GCP billing export is connected** or **Azure billing scope is connected** with no spend means the source works but the provider hasn't published rows yet. Optimize shows spend once it does.

## Refresh health

Refresh health says whether the daily read of billing data still runs. **Refresh is running normally** means nothing needs your attention.

When a refresh fails, the section shows one of three alerts:

| Alert | Meaning |
| - | - |
| **Optimize is missing a permission** | The provider denied an action. The alert names it under **Denied action** and can show a policy to add |
| **Optimize refresh is paused** | Refreshes stopped after repeated failures |
| **Optimize data may be stale** | The latest refresh didn't complete |

Your last good billing data stays readable in every case. To fix it:

**1. Grant what's missing**

If the alert shows a policy, select **Copy policy** and add it to the role, service account, or service principal. Select **Check connection** to review the credentials.

**2. Retry**

Select **Retry refresh**. A missing permission also retries on its own at the next daily refresh.

**Success state:** the section reads **Refresh is running normally**.

## Notifications

Select **Open notification preferences** to choose who hears about a paused refresh or a finished scheduled report. Each person sets their own preferences.

## Related

> **[Optimize troubleshooting](https://docs.cloudthinker.io/guide/cost-optimization/troubleshooting.md)**
>
> Every Optimize problem in one place, with cause, check, and fix

> **[Cost Health](https://docs.cloudthinker.io/guide/cost-optimization/cost-health.md)**
>
> See which capabilities a blocked setting leaves unmeasured


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.