Cost allocation tags
Cost allocation tags are key-value labels, such as team=checkout, attached to cloud resources so their cost can be grouped by owner, product or environment. On AWS a tag key only reaches billing data after it is activated for cost allocation, and tag keys and values are case-sensitive.
In plain English
Think of name labels in a shared office fridge. Labelled food has an owner; unlabelled food is anyone's guess, and 'Sam', 'sam' and 'SAM' look like three different people to anyone counting.
Worked example
| team = checkout | $15,000 |
|---|---|
| Team = checkout (different key casing) | $4,000 |
| team = Checkout (different value casing) | $1,000 |
| Checkout's cost once the variants are merged | $20,000 |
Because tag keys and values are case-sensitive, billing data shows three owners where there is one. A tag standard and an enforcement policy stop new variants; mapping the old ones fixes the history.
Why cost allocation tags matter
Accounts and projects split cost by where it runs; tags split it by who owns it and why it exists. They're the main way to allocate cost inside shared accounts, and to slice it by team, product, environment or customer.
They only work if they reach the billing data. On AWS, each tag key has to be activated for cost allocation. On Azure, usage carries the resource's own tags unless you turn on tag inheritance. On Google Cloud, labels and Resource Manager tags appear in the billing export from the time they are applied.
Common mistakes
- Forgetting to activate keys. On AWS, user-defined and AWS-generated tag keys must each be activated before they appear in Cost Explorer or the Cost and Usage Report. A new key can take up to 24 hours to show up for activation, and up to 24 hours more to activate.
- Expecting tags to cover past spend. Tags reach billing from when they're applied and, on AWS, activated. The AWS management account can request a backfill of activation for up to 12 months, but cost from before a resource was tagged stays untagged.
- Letting spellings drift. Team and team, or checkout and Checkout, are different tags in billing data. Agree a standard set of keys and values and enforce it with policies.
- Tagging only what is easy. Shared services, data transfer and some managed services are hard to tag, and they're often the costs nobody owns. Decide how those are allocated instead of leaving them untagged.
Where to find it in AWS, Azure and Google Cloud
| Cloud | What it is called | Where to find it |
|---|---|---|
| Cost allocation tags | Activate user-defined and AWS-generated tag keys in Billing and Cost Management → Cost allocation tags. In CUR 2.0 they appear in the nested resource_tags column. The management account can request a backfill of activation for up to 12 months. | |
| Tags | Resource tags appear on usage rows in Cost Management. Resource group and subscription tags don't, unless you turn on tag inheritance, which copies them onto the usage records of child resources. | |
| Labels and Resource Manager tags | Labels and Resource Manager tags both appear in the billing export to BigQuery, from the time they are applied. Tags support inheritance and central control; labels are simpler annotations. |
How CloudYali helps
CloudYali Tag Governance shows tagged and untagged spend for each key and flags mismatched keys against your standard tags. Its docs list what to turn on at each provider so tags reach billing data; on Google Cloud, CloudYali counts Resource Manager tags, not labels.
Related terms
Allocation & accountability
Tag coverage
Tag coverage is the share of cloud cost that carries a given tag, such as team, over a period: tagged cost ÷ total cost. The rest is untagged cost that nobody can allocate, so tag coverage shows how much of the bill your allocation actually reaches.
Allocation & accountability
Cost allocation
Cost allocation is assigning every part of the cloud bill to the team, product or customer responsible for it, using accounts, tags and agreed rules for shared costs. It turns one invoice into numbers each owner can act on, and it is the basis for showback, chargeback and unit economics.
Allocation & accountability
Showback
Showback is reporting each team's allocated cloud cost back to that team, for visibility and accountability, without moving money between budgets. It shows owners what their choices cost so they can act on it, and unlike chargeback it is not entered into the company's accounts.
Allocation & accountability
Chargeback
Chargeback is billing each team or business unit for its allocated cloud cost, so the cost lands in that team's budget in the company's accounts. It uses the same allocation as showback, but money actually moves, which is why the rules for shared and unallocated cost must be agreed first.
Billing & cost types
Cost and Usage Report (CUR)
The Cost and Usage Report (CUR) is AWS's most detailed billing dataset: every charge, down to the hour and the resource, with its usage, rates, discounts and commitment details, delivered as files to an S3 bucket you own. CUR 2.0, created through AWS Data Exports, has a fixed set of columns.
Frequently asked questions
Why does a tagged resource still show as untagged cost?
Usually because the tag hasn't reached billing data: on AWS the key isn't activated, or the cost is from before the tag was applied; on Azure the tag is on the resource group, not the resource, and tag inheritance is off.
Are tags case-sensitive?
Yes. On AWS, tag keys and values are case-sensitive, so Team and team are counted separately. Standardize spellings and merge old variants in reporting.
What tags should every resource have?
Start with the few that allocation needs: an owner or team, an environment, and a product or cost centre. A short list that's enforced beats a long one that isn't.