All recommendations: every cost signal and its decision
The All recommendations page lists every recommendation CostGuard has raised in your workspace - open, dismissed or resolved - for all subscriptions or one. It shows what each check found, the evidence behind it and what was decided, and lets you dismiss, resolve or reopen it.
What this page is for
The All recommendations page answers one question: of every recommendation CostGuard has raised in this workspace, which are still open, where does each one sit, what does its evidence say, and what was decided about the others?
It is for the engineering lead or platform owner who acts on cost signals, and for the FinOps lead who reviews what was decided. “Open recommendations” is the work queue; this page is the register: the only list that shows resolved recommendations and every status together.
CostGuard's recommendations are cost signals. Three checks over your imported Azure cost look for a service whose cost grew sharply, for storage cost that grew, and for one service that carries at least half of a subscription's cost. They are not rightsizing or reservation advice, and they do not come from Azure Advisor. CostGuard only reads your Azure data: no button on this page changes anything in Azure.
To open it, select “All recommendations” under “Recommendations” in the sidebar. The entry is there in both “Simple” and “Advanced” mode.

Before you start
Recommendations are raised from the Azure cost CostGuard imports. Until a connection has imported cost, the page shows “No cost data yet” with the button “Open Getting started”, which leads to the steps for connecting Azure and the first import.
Read the Getting started guide
Recommendations are part of the Growth, Pro and Enterprise plans. On Free and Starter, CostGuard raises none, and the page shows a labelled sample instead of your data.
The two growth checks compare the recent period with the period before it, so they raise nothing until cost is recorded in both. The concentration check needs the recent period only.
Where recommendations come from
CostGuard runs its checks every hour over the cost it has imported, for each active Azure connection and the subscription it reads. The recent period is the last 14 days up to today, and the earlier period is the 14 days before it. Amounts are compared within one subscription, one service and one currency; nothing is converted.
When a check finds its pattern, CostGuard raises an open recommendation for that finding: one kind of check, one service, one subscription and one currency. While the pattern is still found, the same open recommendation is updated at every check with the latest figures, and its “Last detected” date moves on.
When the pattern is no longer found, nothing closes the recommendation: it stays open with the figures of its last detection until you dismiss or resolve it. A recommendation you dismissed or resolved is never changed by a later check.
Limits to know
CostGuard does not import Azure Advisor recommendations. Every row on this page comes from CostGuard's own three checks, and a recommendation names a service in a subscription: no resource, resource group, region or tag.
Choose the scope: all subscriptions or one
The “Subscription” list at the top of the page sets which recommendations the page reads: “All subscriptions”, which the page opens with, or one subscription. It is offered when there is more than one subscription to choose from.
It lists the subscriptions with recorded cost, by the name Azure records with the cost, and every other subscription that holds a recommendation. Two subscriptions with the same name are told apart by the last characters of their identifier in brackets; a subscription without a name reads “Unnamed subscription”, and one with no recorded cost reads “Subscription” followed by the end of its identifier. The page never shows a full subscription identifier.

Choosing a subscription reads the page again: the counts and the list then describe that subscription only, and the status filter you chose stays as it was. “Refresh” reads the recommendations and the subscription names again.
There is no date range and no currency to choose: the page lists every recommendation of the scope, whenever it was raised, each in the currency Azure recorded its cost in.
The counts by status
Four counts sum up the scope: “Total”, “Open”, “Dismissed” and “Resolved”. They count recommendations, not money.

They always describe every status of the chosen scope. The status filter of the list narrows the rows below, never these counts, so choosing “Resolved” leaves “Open” as it was.
The page reads every recommendation of the scope at once, so the counts are complete: they are not limited to the rows the list shows first.
Read the list
The “Recommendations” panel lists the recommendations of the scope. Its status filter - “All”, “Open”, “Dismissed” or “Resolved” - narrows the rows. When no recommendation of the scope has the chosen status, the panel says “No recommendation in this scope has this status.”
Each row has these columns:
- “Recommendation”: the kind of recommendation and the service, as a link to the recommendation's own page.
- “Subscription”: the subscription's name, as the scope list shows it.
- “Status”: “Open”, “Dismissed” or “Resolved”, with the date that goes with it: “First detected” for an open recommendation, “Dismissed on” or “Resolved on” for a closed one.
- “Severity”: “High”, “Medium” or “Low”, with the figure it rests on, explained below.
- “Evidence”: the amounts the check measured, in the currency Azure recorded them in, and the cost increase where there is one.
- “Last detected”: the last time a check found the pattern.
- “Actions”: “Dismiss” and “Resolve” on an open recommendation, “Reopen” on a closed one.

Open recommendations come first, then by severity from high to low, then the most recently detected, then by service name. Nothing is ranked by amount, because amounts in different currencies are never compared.
The list shows its first 25 rows; “Show all” lists the rest and “Show fewer” returns to the first 25. Dates are shown as the date in UTC.
Note
The words of each row are built from the kind of check and the service, so they read in your language. Service and subscription names stay as Azure records them.
The three kinds of recommendation
Each row names the check that raised it:
- “Sudden service cost growth”: a service whose cost in the recent period is at least 30% above the earlier period and at least 10.00 higher in its currency. The evidence shows “Earlier period” and “Recent period”.
- “Storage cost growth”: the same comparison for a service whose name contains storage, disk, blob or file, from 25% and at least 10.00 higher.
- “Service cost concentration”: one service carrying at least 50% of its subscription's cost in the recent period, in one currency. The evidence shows “Service cost, recent period”, and the severity shows its “Share of subscription cost”.
- “Unrecognized recommendation type”: a kind of recommendation the page cannot describe. Its evidence cell says “Open the recommendation to read its evidence.”
A service that had no cost in the earlier period is never reported as growth, because there is nothing to grow from. A storage service whose cost grew at least 30% is found by both growth checks, so the same increase can appear on two rows with the same figures.
Limits to know
Concentration is not a cost increase. It says that one service carries most of a subscription's cost, which is worth knowing when that service changes; it does not say the cost is too high.
Severity and what it rests on
For the two growth checks, the severity follows the growth between the two periods, shown beside it as “Growth”: “High” from 75%, “Medium” from 50%, “Low” below that.
For the concentration check, it follows the service's share of the subscription's cost, shown as “Share of subscription cost”: “High” from 70%, “Medium” from 60%, “Low” from 50%.
A severity says how large the change or the share is, nothing more. It is not a priority: CostGuard does not know how hard or risky a change would be. The recommendation's own page lets you state that under “Your assessment”.
An open recommendation is updated at every check that still finds it, so its severity can move up or down.
The cost increase
“Cost increase” appears only on an open recommendation from one of the two growth checks. It is how much more the service cost in the recent period than in the earlier one. It is measured over the periods the check compared, not over a calendar period, and it says where cost rose, not how much you could save.
It is a cost that rose, not money saved, and it is not shown in green: CostGuard estimates no saving anywhere. A dismissed or resolved recommendation shows no cost increase, and resolving a recommendation does not mean any amount was saved: CostGuard records your decision and does not check it.
The concentration check shows no cost increase: its amount is the service's whole cost. The page never adds cost increases together, and each stays in the currency Azure recorded it in, never converted.
Note
Because one storage increase can be found by both growth checks, two rows can show the same amount for one increase. Adding them would count it twice.
Dismiss, resolve and reopen
What you decide about a recommendation is its status. The buttons change it in CostGuard only; nothing changes in Azure.
- “Dismiss”: the recommendation is expected or not relevant. It becomes “Dismissed”, with the date.
- “Resolve”: you have acted on it, for example after reviewing the service in Azure. It becomes “Resolved”, with the date.
- “Reopen”: a dismissed or resolved recommendation was closed by mistake. It becomes “Open” again.
Dismiss and resolve are offered on an open recommendation only, and reopen on a closed one only. Each change is recorded, with who made it and when, in the recommendation's “Activity”. While a change runs, the other buttons wait; afterwards the page says what was done and reads the list again, so the counts follow.

If a change cannot be made, the page says “Action failed. Please try again.” and keeps the list as it was.
When a recommendation comes back
Dismissing or resolving a recommendation does not stop the check. If a later check still finds the same pattern for the same service, subscription and currency, CostGuard raises a new open recommendation with a new “First detected” date. The closed one stays in the list as it was.
Only one recommendation per finding is open at a time, so the closed one is then marked “Finding already open” and offers no “Reopen”: work on the open one instead. If the finding opens again after the page was read, a reopen is refused, nothing is changed, and the page says so.
To stop a known pattern from coming back, use a suppression rule. On “Open recommendations”, choosing “Ignore” on a recommendation offers to suppress new recommendations like it, and “Recommendation feedback” lists the rules and lets you end one. A suppression stops new recommendations from being raised; a recommendation already listed stays listed, and an open one stays open until you dismiss or resolve it.
Open a recommendation
The kind and the service of each row link to the recommendation's own page. There you find “What CostGuard observed”; “Your assessment”, where you state what CostGuard cannot know, such as how hard or risky a change would be; the recommendation's “Activity”; and “Add a comment”.
A priority score appears there only once every part of your assessment is stated. CostGuard never works one out from cost alone, which is why this page shows no priority.
Go further
The links at the bottom of the page lead on:
- “Open recommendations”: the open recommendations only, as a work queue, with feedback on each one.
- “Dismissed recommendations”: the recommendations the workspace decided not to act on, when each was dismissed and whether its finding is open again.
- “Savings opportunities”: the open growth recommendations that carry a cost increase, ranked within each currency.
- “Recommendation insights”: how the recommendations of the workspace break down.
- “Recommendation feedback”: how feedback works, and the suppression rules that stop a known pattern from coming back.
- “Cost by service”: the cost of each service, to see the service behind a recommendation in context.
What you may see instead of the list
While the page reads, grey bars stand where the counts and the list will appear. After that, the page may show one of these instead:
- “No cost data yet”, with “Open Getting started”: no connection has imported cost yet.
- “No recommendations yet”: the workspace has cost, but no check has raised a recommendation yet. This says nothing about how efficient your cost is.
- “No recommendations for this subscription”: the chosen subscription has none. Choose “All subscriptions” to see the rest of the workspace.
- “Unable to load recommendations. Please try again.”, with “Retry”: the recommendations could not be read. The page then shows no list and no count, because a failed read does not mean there are none.
- A notice that your session has expired, with a link to sign in again. The page shows no figures until you do.
- A note that subscription names could not be read: each subscription is then shown by the end of its identifier. The recommendations are still listed, and “Refresh” tries again.
Sample data when your plan has no recommendations
When your plan does not include recommendations, the page shows a fixed example under the label “Sample data”, with the sentence “Your current plan does not include this feature. The figures shown here are an example, not your data.”
The sample shows seven recommendations of three Contoso subscriptions from June 2026, in US dollars and in euros - four open, one dismissed and two resolved - with their counts. One resolved recommendation is marked “Finding already open”. The rows are the same for everyone and never your data, and the sample offers no filter, no link and no action.

“Compare plans” opens the pricing page in a new tab. CostGuard decides what your plan includes on the server; the sample is only how the page shows it.
What each plan includes
The table shows the first plan that includes each part of the page. Every plan above it includes it too.
| Feature | Free | Starter | Growth | Pro | Enterprise |
|---|---|---|---|---|---|
| A labelled sample of the page | Included | Included | Included | Included | Included |
| The register of your workspace's recommendations, with dismiss, resolve and reopen | Not included | Not included | Included | Included | Included |
Growth, Pro and Enterprise include recommendations: CostGuard's checks run for the workspace, and the page lists what they raise. Free and Starter show the labelled sample, and no recommendation is raised for them. The plan is checked on the server, and the page never shows a price.
Troubleshooting
The page says “No cost data yet”
No connection has imported cost yet, or its first import has not finished. Open Getting started and follow the steps; the checks run once cost is recorded.
The page says “No recommendations yet”
The checks have found nothing yet. The growth checks need cost in both periods, so a short cost history raises no growth recommendation; a service that is new in the recent period is never growth; and a rise below 30% (25% for storage) or smaller than 10.00 in its currency is not reported. The checks run every hour.
An open recommendation was last detected days ago
The checks no longer find its pattern, but nothing closes a recommendation on its own. Review the service, then resolve or dismiss it.
The same increase shows on two rows
A storage service that grew at least 30% is found by both growth checks. The two rows describe one increase; do not add their cost increases.
A recommendation I dismissed is back
A later check found the same pattern and raised a new open recommendation; the dismissed one is marked “Finding already open”. To stop the pattern from coming back, use a suppression rule, as described above.
A closed recommendation offers no “Reopen”
Its finding already has an open recommendation, so it is marked “Finding already open”. Work on the open one.
A subscription gets no recommendation
The checks run for the subscription of each active Azure connection. A connection that is no longer active gets no new recommendation; the ones it already has stay listed.
A growth shows later than it happened
Azure reports cost with a delay of a day or two, so the last days of the recent period hold less cost than they will. A growth can therefore be found a little after it began.
The page shows sample data
Your plan does not include recommendations. The table above shows which plan does, and the link under it opens the pricing page.
