Tagging
With tagging visibility in Vantage, you can view your provider tags and create and manage virtual tags.
- Provider tags: Tags that are directly associated with and managed within your cloud service providers, such as AWS, Azure, or GCP. These tags are typically applied to resources in your cloud environment to organize and categorize costs. Vantage retrieves and displays these tags in reports, which allows you to analyze costs based on existing tagging strategies.
- Virtual tags: This feature can help to increase tagging coverage across your cloud infrastructure. Create cost allocation tag keys with a set of corresponding values and filters directly in the Vantage without needing to involve your engineering team in making infrastructure changes. All provider integrations in Vantage are supported, including providers that don't natively support tags. Virtual tags are available for filtering and aggregating on all Cost Reports and cost allocation segments. They can also be used in filter criteria on saved filters. There is no limit to the number of tag keys or values you define.
Tag Management: Provider and Virtual Tags
On the Tags page, you can view all tags, including both provider and virtual tags. From the top navigation, click Settings. On the left navigation, under General Settings, click Tags.
Two tabs are displayed: All Tags and Virtual Tags.
- On the All Tags tab, you can view both your provider (denoted by a grey tag icon) and virtual tags (denoted by a purple tag icon). Tags are listed along with any associated providers. You can also hide or unhide a tag and view a corresponding Cost Report filtered to that tag (see sections below).
- If you select a provider tag in this view, a new screen to create a virtual tag with the same name is displayed. You may want to do this in cases where you want Vantage to combine filter criteria from different providers but use the same tag name.
- If you select a virtual tag in this view, the virtual tag page is displayed, where you can edit any existing tag criteria.
- On the Virtual Tags tab, you can view a list of all created virtual tags. A link to the virtual tag is provided. The Tag Values column indicates how many values are currently associated with the virtual tag. Any associated providers are listed, as well as when the tag was created and who created the tag in Vantage.
At the top of the main Tags screen, you can search for specific tags and filter for tags by provider (e.g., AWS).
View Tags on a Cost Report
From the Tags page, you can view a Cost Report that is filtered and grouped based on a selected tag. You can do this for both provider and virtual tags. This can help you to view any current or past costs associated with the tag. In the below visual example:
- The user searches for the
environment
virtual tag and selects to view a Cost Report for that tag. - The Cost Report is displayed. The report is also filtered by the tag's associated providers by the tag and grouped by that tag's values.
Hide Tags
From the Tags page, you can hide tag keys that you don't want to appear in report filters or grouping options. This is useful for removing redundant tags or preventing other users from seeing certain tags in reports.
To hide a tag key, click the eyeball icon next to the tag on the All Tags tab. As soon as a tag key is hidden, the following changes occur in Vantage:
- Hidden from report menus: The tag key is no longer displayed in the Filters or Group By menus on reports for other Vantage users; however, users with the Owner role can still manage tag visibility (i.e., unhide the tag) via the Tags screen.
- Existing reports remain functional: If a report was already filtered or grouped by the hidden tag, it will continue to work, but if you edit the report’s filters, the hidden tag will no longer be available in the filter’s selection list.
- Usable in virtual tags: Hidden tags can still be used when creating virtual tags and will appear in virtual tag filters. If a hidden tag is included in a virtual tag’s filter criteria, a message is displayed next to it, indicating that it is hidden and only usable for virtual tag creation.
- Still accessible via API: Hidden tags remain available through API requests.
Hide Tags Example: Standardizing Redundant Tags
You are working to clean up your tagging and notice that teams have applied multiple variations of the same environment-related tag across different AWS resources:
env
environment
Environment
Because all three tags represent the same concept, having them appear separately in report filters and grouping options creates inconsistencies and makes cost analysis more difficult. You are unable to see the full view of how costs are attributed to each environment.
You complete the following steps to hide the redundant tags:
- You navigate to the Tags page in Vantage to search for and identify the different versions of the environment tag. You then hide each iteration of this tag so that you can create a new standardized version of the tag with Vantage virtual tags.
- All three hidden tags no longer appear in the Filters and Group By menus for other users.
- Existing reports that were already filtered or grouped by these tags remain functional; however, if a user edits the report’s filters, they will no longer see those hidden tag variations.
- The hidden tags are still available via API requests, so any external automation using them still continues to work.
You then complete the following steps to create a virtual tag that combines the values from all the previous tag iterations:
- You create a new virtual tag named
environment
that consolidates all three variations from the AWS provider tag. - For each tag value (e.g.,
production
ordevelopment
), you create a filter that combines theproduction
values from the previous tags. You can then use this new virtual tag within reports.

As a result, your users now see only the environment
virtual tag in their report filters, reducing confusion and keeping reports standardized. This approach helps enforce tagging consistency without you having to further educate your users on which versions of a tag key to use in reports.
Virtual Tags
To get started with virtual tagging, you can also view a video demo on Vantage University 🎓.
Virtual Tags vs. Saved Filters vs. Cost Allocation Segments
Virtual tags can be considered foundational to the rest of the data within Vantage. They should remain fairly static, and changes should be considered delicate. These changes will flow across all data and apply to all workspaces. The most common tag keys will be items like team, cost center, and environment.
Segments can then be used to create different hierarchical views for tagged data. This feature is useful for breaking down the data by different perspectives, such as by cost center or by OPEX/CapEX.
Saved filters can then be used in a more ad-hoc fashion to add lenses on top of base data. For instance, you could create a saved filter just for North America that standardizes a set of regions across providers and can be used by teams on their reports or dashboards without having to know the set of filters needed to create the list of regions. When new regions come online, it’s easy to modify the saved filter to include this region.
If you want to transition any of your cost allocation segments to virtual tags, contact support@vantage.sh.
Custom Value Tags
With custom value tags, you can create new cross-provider cost allocation tags to help better your tagging strategy. For example, you may have a series of resource tags, by product, across each of your providers. You can create custom tags in Vantage to combine those costs into one unique product tag for all resources in that product group.
See the example section below for details.
Cost-Based and Business Metrics-Based Allocation Tags
The cost-based and business metrics-based allocation tag types allow for dynamic cost allocation, which is the process of allocating costs based on another existing cost or metric. See the below video for an introduction to dynamic cost allocation.
Cost-Based Allocation Tags
With cost-based allocation tags, you can create a dynamically allocated cost structure. Select a set of input costs (e.g., all AWS costs), an existing cost tag to use for allocation (e.g., a teams cost tag), and an output cost (e.g, a static cost, like AWS Support) that you want to be allocated the same way as your input cost.
See the example section below for details.
Business Metrics-Based Allocation Tags
With business metrics-based allocation tags, you select an existing business metric (e.g., CPU use per product) and indicate your output cost (e.g., all GCP Compute costs) so that the allocation of the output cost mimics the percentage allocation of the existing business metric.
See the example section below for details.
Create Virtual Tags
This feature requires Owner permissions in Vantage. See the Role-Based Access Control documentation for details. Virtual tags apply to all workspaces.
From the top navigation, click Settings.
From the side navigation, under General Settings, click Tags.
On the All Tags tab all your tags—both provider and virtual—are displayed. Click the Virtual Tags tab. All existing virtual tags are displayed. You can edit any existing tags from this tab. To add a new virtual tag, click Create a Virtual Tag.
Enter a title for the Tag Key.
For Billing Period Backfill, select a billing period (e.g., Apr 2024) for which the tag should be backfilled.
Enable the Can Override toggle if you want the virtual tag to override an existing service cost value. For example, if you create a virtual tag that conflicts with an existing provider tag, this option will override the existing provider tag key in Vantage reports.
In the Values section, click +Add. Select whether you want to create a Custom Value, Business Metric, or Cost Based value. Click through the tabs below for instructions on each value type.
noteYou cannot use an existing Virtual Tag within the Output Costs Filter for any type of new Virtual Tag. You can, however, select an existing provider tag (e.g., one that comes from AWS).
- Add Custom Value
- Add Business Metric Value
- Add Cost Based Value
- Click Assign Custom Value.
- Enter a Tag Value title. Titles can contain only letters, numbers, and the following characters:
\_ - & + , . : / \ @
. You cannot use saved filters to define a virtual tag value's filters. - Specify the tag value's filter criteria (i.e., Output Cost Filters). These filters function just like filters on Cost Reports and cost allocation segments. For information on how to create detailed filters, see the Cost Reports documentation.
- Click Connect a Business Metric.
- Select an existing business metric.
- Select the Output Costs Filter that will be split among your tag values based on your business metric. These filters function just like filters on Cost Reports and cost allocation segments. For information on how to create detailed filters, see the Cost Reports documentation.
- Select Cost Based.
- Select an Input Costs Filter to specify which category of input costs to include in the allocation. These filters function just like filters on Cost Reports and cost allocation segments. For information on how to create detailed filters, see the Cost Reports documentation.
Tip: For most use cases, you should set a filter for Charge Type = Usage on the input filter to ensure you are matching on only usage-related costs and ignoring costs related to items like credits, taxes, fees, etc.
- Select an existing cost Tag Key. This value can be an existing tag you have in one of your cost providers, like AWS.
- Select the Output Costs Filter to indicate the costs that will be split among your tag values based on your input cost filter.
At the top, click Save.
Processing tag changes usually takes under an hour. At the top of the Virtual Tags screen, the processing status is displayed. Processing times vary based on the number of tags and volume of data you have imported into Vantage.

Virtual Tag Order
Tag values are arranged in priority order on the Virtual Tags screen. You can move tag values up and down in the UI to reorder them, as demonstrated in the visual example below.
When cost data is ingested into Vantage, the first value that matches the corresponding filters will be applied to that line item. In cases where filters overlap, the order of tag values within each key determines the value that is applied.
Filter and Group by Virtual Tags
You can filter by virtual tags in Cost Reports, cost allocation segments, and when creating saved filters. Virtual tags are visible along with your existing provider tags. Use the Tag (Label in GCP) filter and grouping option.

Delete a Virtual Tag
To delete a virtual tag, navigate to the Tags page. Select the Virtual Tags tab and open an existing virtual tag. Click the trashcan icon at the top of the tag page. Your data will be re-tagged, excluding the deleted virtual tag, going back to the deleted tag’s backfill bill period. Newly ingested data will no longer be tagged with the deleted tag.
Virtual Tagging Examples
The following examples demonstrate how to use virtual tagging in a multi-provider organization.
Custom Value Examples
Example 1: Cross-Provider Tagging
You want to create a tag mapping for each of your teams that maps corresponding teams with certain services and provider accounts.
Step 1: Create a New Tag
You create a tag key called Teams
.

Step 2: Add Tag Values and Filters
You add the corresponding set of virtual tag values and filters:
- The
data
team tag value corresponds with a filter for all costs for GCP BigQuery and Amazon Redshift. - The
mobile
team tag value corresponds with a filter for its related GCP projects and AWS accounts. - You continue this pattern and create similar values with corresponding filters for your other teams.


Within Cost Reports, you can easily filter and group by these tag options to easily see costs for an individual team. In the below visual example, the Cost Report is grouped by the team tag, and the mobile and data values are displayed along with the other team tag values you created.

Example 2: Consolidate Existing Tags
You have a tagging practice established at your organization, but teams often create tags with spelling variations, tags with typos, or they create duplicate tags. For example, the data
team has resources tagged with data
, Data
, and data-prod
. This is an issue across many of your teams. You want to consolidate all these tags, across providers, into one data
tag.
Step 1: Create a New Tag
You create a tag key called Teams
to override existing tags.

Step 2: Add Tag Values and Filters
You add the corresponding set of virtual tag values and filters. In this example, all permutations of the data
team tag are combined into one virtual tag.

Within Cost Reports, you can easily filter by this tag to see all costs related to the data
team. This saves you the work of needing to always filter for all permutations of this tag. Now, you need to filter by only one tag.

Cost-Based Allocation Example
In your organization, teams share resources, such as RDS databases or EC2 instances, and each team consumes different percentages of these resources each month. Your organization is also charged a static support fee each month for AWS. As shown in the diagram below, you want to allocate a portion of the support fee to each team based on their proportional use of AWS resources. So in the below example, since the Infra team is responsible for 50% of all AWS costs, they should also be responsible for 50% of the support fee. You can create a cost-based allocation virtual tag for allocating portions of the support fee to each respective team.

Prerequisites
You have an existing provider tag in AWS that identifies resources for your teams. This tag will be used in step 2.
Step 1: Create a New Cost-Based Allocation Tag
- Navigate to Settings > Virtual Tags.
- Create a new virtual tag.
- Select the Cost-Based option for the tag value.
Step 2: Select an Input Cost Filter
For your input cost, select All AWS Costs. Set an additional filter for the Usage charge type to filter on only usage-related costs. This filter will ignore costs related to items like credits, taxes, fees, etc.
Step 3: Select a Tag Key
You select your existing teams tag key you have in AWS that will be used for allocating costs.
Step 4: Select an Output Cost Filter
In this example, since your infrastructure team is responsible for 50% of all AWS costs, the mobile team for 20%, and the data team for 30%, you can mimic this allocation across another static cost, or your output cost. Select the filters for the AWS support fee.

Once the tag is created, create a new Cost Report and add the following criteria:
- Create a filter for AWS Support costs.
- Add grouping criteria to group by your new cost-based dynamic allocation tag.
The resulting report shows how much of the support fee each team is allocated.

Business Metrics-Based Allocation Example
You are working with your infrastructure team and want to ensure that the proportional cost of CPU time on a shared resource is allocated to the distinct cost centers that are consuming the CPU. In the below example, you want each team’s portion of CPU usage billed as a corresponding percentage of the overall Namespace CPU cost. So, if Team A uses 30% of the resource’s CPU, then they should be billed a proportional percentage of the total Namespace’s costs.

Prerequisite
To determine the cost of CPU time to allocate to each respective team, you first create a labeled business metric that includes the CPU time labeled by team. Vantage then calculates the respective percentage of CPU time for each team. The labeled business metric has the following format.
date,amount,label
2024-01-09,825,teama
2024-01-09,600,teamb
2024-01-10,500,teama
2024-01-10,200,teamb
2024-01-11,723,teama
2024-01-11,456,teamb
Step 1: Create a New Business Metrics-Based Allocation Tag
You create a new business metrics-based tag:
- Navigate to Settings > Virtual Tags.
- Create a new virtual tag.
- Select the Business Metric option for the tag value.
Step 2: Select the Labeled Business Metric
Search for and select the labeled business metric you just created to use for allocation.
Step 3: Select an Output Cost Filter
Select the Vantage costs that will be split based on the percentages calculated in your business metric. In this case, you select a filter to show costs for the specific Namespace you want to be allocated.

Once the tag is created, create a new Cost Report and add the following criteria:
- Create a filter for the specific Namespace.
- Add grouping criteria to group by your new business metrics-based dynamic allocation tag.
The resulting report shows how much of the Namespace costs each team is allocated.

Tagging Untaggable Resources in AWS Example
While you can apply cost and metadata tags in AWS to many resources, there are many other resources that are untaggable in AWS. Therefore, it is hard, if not almost impossible, to achieve 100% allocation in AWS alone. One quick way to first get an inventory of all untagged resources in Vantage—regardless of if they are untaggable—is to create a Cost Report with the following filters:
- Provider is AWS
- Where Not Tagged with Any Key

Then, add grouping criteria for Service and Category to get a view of the types of resources that are currently untagged. If these resources are taggable in AWS, you can add cost allocation tags there and see those tags represented in Vantage when you filter or group by specific tag.
See the AWS documentation for more information on what you can tag directly in AWS.

Many services and resource categories, however, cannot be tagged in AWS. You can use Virtual Tags to create tags in Vantage for these untaggable resources. In the table below, the Vantage Resource Filters column represents the filters you can set as the Output Cost Filters in the Virtual Tag configuration.
For example, if you want to tag S3 Data Transfer for specific resources, you could use the following filter criteria.

AWS Resource | Description | Vantage Resource Filters |
---|---|---|
Elastic IPs | According to AWS, "You can tag an Elastic IP address that's allocated for use in a VPC, however, cost allocation tags are not supported." | Provider: AWS Subcategory: Amazon Virtual Private Cloud contains inuse |
CloudWatch Metrics | CloudWatch Metrics involve performance data from AWS services, which are not taggable and are used for monitoring and alerting. | Provider: AWS Category: AmazonCloudWatch is Metric Further filter by resource ID |
S3 Data Transfer | Data transferred in and out of S3 buckets, which is tracked but not taggable. | Provider: AWS Category: Amazon Simple Storage Service is Data Transfer Further filter by resource ID |
QuickSight resources | Resources within Amazon QuickSight, such as dashboards and analyses, which do not support tagging. | Provider: AWS Service: Amazon Quicksight Optional detailed filters for Category (e.g., Business Analytics) or individual resource ID |
CloudSearch resources | Amazon CloudSearch domains and their configurations, which are untaggable. | Provider: AWS Service: Amazon CloudSearch Optional detailed filters for Category (e.g., Data Transfer, Search Instance) or individual resource ID |
EBS Snapshot Copy | Amazon EBS Snapshots that are copied between regions for Disaster Recovery or restore purposes | Provider: AWS Service: Amazon Elastic Block Storage (EBS) Category: Storage Snapshot Further filter for resource ID |