Skip to main content
  • Unify inconsistent tags across AWS, GCP, and Azure automatically
  • Allocate untagged resources using Kubernetes namespaces, resource names, and more
  • Split shared infrastructure costs based on actual usage metrics
  • Composable rules — build layered allocations that cascade when you change a single rule

See it in action


Feature Engineering: Clean Up Messy Cloud Tags Across Providers

Your cloud tags are a mess. Env, environment, k8s_label_env, environnement — four keys that mean the same thing, scattered across providers. Feature Engineering fixes this automatically: it detects duplicates, suggests merges, and normalizes values — so prod, production, and prd all become production. The result: one clean tag per concept, across every provider, retroactively applied to all your historical data. Then explore them in the Cost Explorer.

Which Cloud Tags Does Costory Import?

Costory imports all tag types from AWS, GCP, Azure, Kubernetes, and Aiven — including system tags, project tags, pod tags, and EKS/ECS tags.
ProviderTag Source / TypeField / ExampleNotes / Origin
GCPCustomer defined tagslabelsGoogle Cloud Console
GKE pod tags / namespace tagslabels
Project tagsproject.labels
System tagssystem_labels
AWSCustomer defined tagsresource_tagsAll tags enabled in your Tag Cost Allocation
EKS / ECS tags at pod levelresource_tagsVia EKS cost visibility
AivenCustomer defined tagslabelsFrom Aiven Console
AzureCustomer defined tagslabels
Additional informationadditional_info

Merge Duplicate Tag Keys Into One

If you need to merge duplicate cloud tags across AWS, GCP, and Azure without re-tagging resources — this is it. Costory automatically detects tag keys that likely mean the same thing — using semantic similarity — and suggests merging them.
Screenshot showing four tag keys being consolidated into a single unified 'environment' tag

Fix Inconsistent Tag Values Across Providers

Normalize cloud tags across AWS, GCP, and Azure — automatically, without scripts or regex. Costory automatically detects tag values that refer to the same concept — like prod, production, and prd — and suggests mapping them to a single canonical value.
Table mapping variant tag values like 'prod', 'production', and 'prd' to a canonical value

Allocate Untagged Cloud Resources to Teams

Use Virtual Dimensions to build your chargeback model — bridge the gap between your tags and your team structure. Costory’s approach is composable, retroactive, and supports usage-metric-based allocation.

Roll up tags

Regroup low-level tags into higher-level business concepts like team, product, or environment.

Allocate untagged resources

Use resource metadata — Kubernetes namespace, resource name, service name, region — to allocate costs that have no tags, including marketplace purchases.

Split shared costs

Distribute the cost of shared infrastructure — network, Cloud SQL, RDS — across the teams that actually use it.

Instantly Allocate 100% of Your Bill

Walkthrough of creating a virtual dimension that maps resources to teams using namespace and tag rules
Here’s how it works:
  1. Pick a dimension name (e.g., “Team”)
  2. Define rules using any billing metadata — namespace, resource name, tags, account
  3. Rules are composable: reference other Virtual Dimensions to build a hierarchy
  4. Save — Costory reprocesses all historical data in minutes
Virtual Dimensions can combine multiple data sources to build a complete allocation model: Already have a team tag on 70% of your resources? Don’t start from scratch. Virtual Dimensions can extend existing tags — filling in the gaps with rules based on namespace, resource name, or account. Your existing tags stay intact; Costory just fills in the blanks.
Rule editor adding fallback allocation rules to fill gaps in an existing tag

Composable Allocation Rules

Layered cost allocation rules — something most virtual tagging tools simply don’t support. Most virtual tagging tools are flat: one rule, one tag. Costory’s Virtual Dimensions are layered — each dimension can reference another, forming an allocation hierarchy. This means you can:
  • Define namespace → team once
  • Then define team → business unit on top of it
  • Then define business unit → P&L line on top of that
Change the namespace-to-team mapping, and every downstream allocation updates automatically. No manual updates, no stale data, no duplicated logic.

Split Shared Infrastructure Costs Across Teams

Shared cost allocation is a core FinOps challenge. Your shared Cloud SQL database costs $10K/month. Instead of guessing a 50/50 split, Costory allocates $7K to Team A and $3K to Team B — based on actual database usage from Datadog. Connect any usage metric — database size per schema, CPU time per user, requests per namespace. Costory splits the cost proportionally. No manual percentages to maintain. Automate weekly reports per team via Slack.

Datadog

BigQuery

Snowflake

Google Sheets

Pie chart showing database cost split proportionally across three teams based on usage
You can map metric dimensions to teams using:
  • Identity mapping — the metric label already matches the team name
  • Regex mapping — extract the team name from the metric label
  • Manual mapping — explicitly assign each metric label to a team
For a step-by-step walkthrough, see Allocate a shared Cloud SQL database.

Get started in 30 minutes

Sign up for free, connect your cloud provider, and see your costs allocated — no engineering tickets required.

Frequently Asked Questions

Virtual tagging lets you assign cost allocation tags to cloud resources without modifying the resources themselves. In Costory, this is done through Virtual Dimensions — which go further by supporting composable rules, usage-based shared cost splitting, and retroactive application to historical data.
Feature Engineering cleans and unifies tags that already exist in your cloud billing data — merging duplicate keys and normalizing inconsistent values.Virtual Dimensions create entirely new groupings from any billing metadata (account, service, resource name, namespace, etc.), letting you allocate costs even when no tags exist.
Yes. Virtual Dimensions let you allocate 100% of your cloud bill to teams, products, or cost centers — which is the foundation of any chargeback or showback model. Combined with Slack reports and the Cost Explorer, you can automate the reporting side too.
Virtual Dimensions can allocate untagged resources using any available billing metadata — account ID, service name, resource name, Kubernetes namespace, region, and more. You don’t need to go back and tag resources in your cloud console. For network costs, you can rely on dynamic reallocation based on usage metrics to reallocate the costs.
Yes. When you create or update a Virtual Dimension, Costory reprocesses your billing history so the new allocation applies to past months as well — instantly.
Yes. Virtual Dimensions can be created and updated using a JSON Schema, so you can version-control from the UI.
Allocations are recomputed every time Costory ingests new billing data from your providers — typically daily. If you update a rule or a usage metric, historical data is also reprocessed automatically.

Next Steps

Last modified on February 16, 2026