# Virtual tagging for cloud cost allocation: Fix tagging gaps with CloudSpend Dimensions Cloud Cost Visibility Elizebeth Joseph Product Specialist at CloudSpend Last updated: July 2026 6 min read Cost allocation depends on one simple thing: knowing who owns which resource. In practice, cloud tags rarely give you that cleanly. Keys differ between teams, values are spelled in different ways, and plenty of resources have no tags at all. When finance asks what a project costs or which team drove last month's increase, the answer often becomes a best guess. You don't need to fix every resource in every cloud to get a usable cost view. With CloudSpend Dimensions, which work like virtual tagging, you can add business context to your cloud costs without re-tagging anything at the source. ## Why native cloud tags fall short for cost allocation Cost allocation means assigning each part of your cloud bill to the team, project, or environment responsible for it. It only works when every resource can be traced to an owner, and that's where tags tend to break down. Tagging works well in theory. In real environments, a few problems keep getting in the way. ### Inconsistent tagging Different teams use different keys and values for the same thing. One project ends up appearing as several in your reports, so costs get split across entries that should have been grouped together. ### Slow fixes at the source Correcting a tag usually means changing infrastructure code. That brings reviews, approvals, and deployment risk, so gaps stay open for weeks or months while spend keeps accumulating. ### Untagged and shared resources Some resources have no tags, and others serve several teams at once. Their cost can't be tied to a single owner, so it sits in your bill as unallocated spend. ### Fragmented across clouds AWS tags, Azure tags, and GCP labels each follow their own structure. Building one consistent view across providers takes extra coordination, and gaps appear wherever that coordination slips. The result is that showback and budgeting, which are core [FinOps](https://www.manageengine.com/cloudspend/articles/what-is-finops.html) practices, end up built on incomplete data, and teams lose trust in the numbers. ## What is virtual tagging? Virtual tagging is a metadata layer applied to your cost data in your FinOps platform, rather than to your live cloud resources. Instead of changing a tag on a resource in your cloud console, you add the context in your FinOps platform and group spend from there. Native tags live on the resource, while virtual tags live in the platform. That difference is what makes virtual tagging faster to apply and easier to keep consistent across providers. In CloudSpend, this is done through Dimensions. ## How CloudSpend Dimensions close the gap Dimensions in CloudSpend are key-value pairs that you can add to resources without modifying native tags within the cloud provider. They let you organize and group costs the way your business thinks about them, whatever the underlying tags look like. ### Group spend across clouds A single dimension can cover resources from different providers. For example, adding *Project: E-Commerce* to related resources lets you track that project's cost and usage together, whether it runs on AWS, Azure, or GCP. ### Support common allocation needs - **Project: E-Commerce** for project-level cost tracking - **Environment: Production or Development** for separating environments, so development spend doesn't blend into production - **Department: Marketing or Engineering** for allocating spend by team and simplifying budgeting ### Apply dimensions at scale You can add dimensions to individual resources, or use the [Rule Engine](https://www.manageengine.com/cloudspend/help/rule-engine.html) to apply them automatically to resources that match your criteria. This saves you from working through resources one by one and keeps new resources covered as your environment grows. ### Keep classification consistent Dimensions can be combined with tags in Tag Profiles, which helps you ensure that resources are classified the way your standards require. ## How to allocate multi-cloud project costs with Dimensions: An example Say your company runs an e-commerce project across AWS and Azure. Some resources carry a project tag, others use a different key, and a few have no tags at all. In your reports, the project's cost is scattered across several entries and a pool of unallocated spend. With Dimensions, you add *Project: E-Commerce* to the resources that belong to the project. You can set up a Rule Engine rule with criteria that match them, so the dimension is applied automatically instead of one resource at a time. From there, you can report on and monitor the project's costs as a single unit, regardless of how each cloud tagged the underlying resources. ## Best practices for using Dimensions - **Agree on keys and values first.** Decide on a short list of dimensions, such as project, environment, and department, and use the same spelling everywhere. - **Prefer rules over manual edits.** Rules keep application consistent and cover resources created later. - **Review regularly.** You can see all dimensions added across your multi-cloud environment, with their keys, values, and types, in one place under Profiles. - **Keep improving native tags.** Dimensions fill the gaps today, but good tagging at the source still helps. Our [cloud tagging best practices guide](https://www.manageengine.com/cloudspend/articles/cloud-tagging-best-practices.html) is a good place to start. ## Native tags vs. CloudSpend Dimensions | | Native cloud tags | CloudSpend Dimensions | |---|---|---| | Where applied | On the cloud resource | In CloudSpend | | Fixing gaps | Requires changes in each cloud | Added in the console or through rules | | Multi-cloud view | Separate for each provider | Unified across providers | ## Virtual tagging vs. native tagging: Which should you use? Virtual tagging and native tagging solve different parts of the same problem, so the useful question is when to rely on each. ### Where native tags are the better choice Native tags sit on the resource itself, which makes them the right foundation for long-term hygiene. You can require them when a resource is created, build them into Infrastructure as Code templates, and enforce them through policy. They also stay with the resource, so any tool that reads your cloud metadata can see them. For ownership that should be correct from day one, native tagging is still the best place to start. Our guide to [cloud tagging best practices](https://www.manageengine.com/cloudspend/articles/cloud-tagging-best-practices.html) covers how to set that up. ### Where virtual tagging is the better choice Virtual tagging works best when you need answers sooner than the source can be fixed. It makes sense when: - **Tags are missing or inconsistent** and correcting them would take weeks of code changes and approvals. - **You run more than one cloud**, and want one grouping, such as *Project: E-Commerce*, that covers resources from every provider. - **Your business groupings differ from how engineers tag.** Finance may think in departments, while engineering tags by application. A dimension lets you add the grouping finance needs without changing how engineers work. - **You want to separate environments or teams quickly**, without waiting for a tagging clean-up. ### The trade-off to keep in mind Virtual tags improve your cost data, but they don't change the resources themselves. The context lives in your cost management platform, so tools that only read cloud metadata won't see it. That's why virtual tagging works best alongside native tagging, not instead of it. ### A practical approach Most teams do well with both: 1. **Fix the highest-impact gaps virtually.** Use Dimensions to get a usable allocation view now. 2. **Improve native tagging over time.** Standardize keys, define allowed values, and make key tags mandatory for new resources. 3. **Use rules to keep coverage up** as new resources appear, and review dimensions regularly. Native tagging gives you a clean foundation, and virtual tagging gives you coverage while that foundation is being built. ## Allocate costs without waiting for a tag clean-up with CloudSpend Cost allocation doesn't have to wait until every tag is fixed. By adding business context in [CloudSpend](https://www.manageengine.com/cloudspend/), you can group spend by project, environment, or team now, and keep improving your tags over time. It's one practical step within broader cloud cost management. To see how it works, read the [Dimensions help documentation](https://www.manageengine.com/cloudspend/help/dimensions.html). **Author Spotlight** ![Elizebeth Joseph](https://cdn.manageengine.com/sites/meweb/images/cloudspend/elizebeth-joseph.png) Elizebeth Joseph Product Specialist at CloudSpend Elizebeth is a product specialist at ManageEngine with expertise in FinOps and cloud cost management. She writes about how to solve real spending challenges, from navigating product features to broader strategies for optimizing spend and building cost accountability across teams. ## Related articles ### Cloud tagging best practices: How it drives cloud cost control Learn how effective tagging improves cloud cost control with better visibility, cost allocation, and insights to optimize your cloud spending. [Read more](https://www.manageengine.com/cloudspend/articles/cloud-tagging-best-practices.html) ### Cloud cost optimization strategies: What most guides get wrong Most cloud cost optimization efforts produce short-term savings that quietly erode. Learn the right strategies in the right order to build cost efficiency that actually sticks. [Read more](https://www.manageengine.com/cloudspend/articles/cloud-cost-optimization-strategies.html) ### What is FinOps? Definition, meaning, and how it works FinOps is a cloud financial management practice that connects cloud spending to business outcomes. Learn what FinOps means, how it works, and how to get started. [Read more](https://www.manageengine.com/cloudspend/articles/what-is-finops.html)