Stop Tagging Everything — It's Not Working

Post Cover

Every FinOps guide says the same thing: "Tag your resources for cost allocation."

So you build a tagging strategy. You mandate tags in CI/CD. You create governance policies. You hold teams accountable for tagging compliance.

And six months later, your cost allocation report still shows 40% "untagged."

The "tag everything" approach is broken. Here's why, and what to do instead.

Why Tagging Fails

1. Engineers Don't Care

Let's be honest: adding tags is friction. It's one more thing between an engineer and shipping code.

When forced to tag, engineers do the minimum:

  • Copy-paste from the last resource
  • Use placeholder values ("temp", "test", "fix-later")
  • Tag at creation, never update
  • Find workarounds that skip tagging entirely

You can mandate all you want. You can't mandate caring.

2. Tags Rot Instantly

Even when tags start accurate, they decay immediately:

  • Resources get repurposed but tags don't update
  • Team structures change, "owner" tags become wrong
  • Projects end, tags become meaningless
  • Nobody maintains tag hygiene

Tags are a point-in-time snapshot that's wrong within weeks.

3. Not Everything Can Be Tagged

Some AWS costs can't be tagged at all:

  • Data transfer (often 10-20% of bills)
  • Support costs
  • Some CloudWatch costs
  • Tax
  • Marketplace purchases

Your tagging strategy has a fundamental ceiling.

4. Shared Resources Break Allocation

How do you tag a shared RDS database used by 12 services? A NAT Gateway? A VPC? CloudFront distributions?

You can't accurately allocate shared infrastructure with tags. At best, you're guessing.

5. It's Busywork That Doesn't Save Money

Here's the uncomfortable truth: perfect tagging doesn't save a single dollar.

Knowing exactly which team is wasting money doesn't make them waste less. It just tells you who to blame.

Tagging is cost visibility. Visibility is not optimization.

A Better Approach

Instead of trying to tag everything, focus on what actually drives accountability and action.

1. Organizational Hierarchy > Tags

Use AWS Organizations and separate accounts strategically:

  • Each team/product gets its own account
  • Costs are automatically allocated
  • No tagging required for basic allocation

Account-level allocation is 100% accurate, requires no maintenance, and can't be gamed.

2. Tag Only What Matters

Not everything needs a tag. Focus on:

  • Owner: Who can make decisions about this resource
  • Environment: prod/staging/dev (for different optimization strategies)
  • Service: What application uses this

Skip the rest. "Project," "CostCenter," "BusinessUnit" — these feel important but rarely drive action.

Three tags, enforced well, beats ten tags enforced poorly.

3. Automate Ownership Detection

Instead of asking engineers to tag owners, detect ownership automatically:

  • Who deployed this? (CloudTrail)
  • What code repository is this connected to?
  • What IAM role manages this?

Detected ownership is more accurate than tagged ownership.

4. Allocate Based on Usage, Not Tags

For shared resources, allocate costs based on actual usage:

  • Data transfer per service (via VPC Flow Logs)
  • Database queries per application (via Performance Insights)
  • Cache hits per service (via CloudWatch)

This is harder but infinitely more accurate.

5. Focus on Action, Not Attribution

The goal isn't perfect cost allocation. It's cost reduction.

Instead of arguing about which team's 43% of a shared database cost, ask:

  • Is this database the right size?
  • Could we use a cheaper instance type?
  • Is anyone optimizing queries?

Fix the cost first. Argue about attribution later (or never).

The Tagging Minimum

If you must tag (and you probably should, somewhat), here's the minimum viable approach:

Required Tags (2)

1. Owner: Email address of accountable person 2. Environment: prod | staging | dev

Enforcement

  • Block resource creation without required tags
  • Use Service Control Policies to enforce
  • Don't fight this battle with humans — automate it

Maintenance

  • Quarterly audit of owner tags against HR systems
  • Delete resources where owners have left
  • Don't try to maintain anything else

That's it. Two tags, automated enforcement, quarterly cleanup.

The Real Solution: Culture

Tags are a technical solution to a cultural problem.

If engineers don't care about costs, tagging won't make them care. They'll just add bad tags.

If engineers do care about costs, they'll find ways to optimize regardless of tagging.

Work on the culture. Make costs visible. Make waste painful. Make efficiency valued.

Tags are a tool in service of culture, not a substitute for it.

Heresy?

I know this is heresy in FinOps circles. Tagging is sacred. Challenging it feels wrong.

But look at your own organization. How's the tagging strategy working?

If you're like most companies, you've spent years on tagging initiatives that deliver mediocre results while consuming significant effort.

Maybe it's time to try something different.

LET US HELP YOU
CUSTOMER
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Prefer to email us directly? support@finfan.cloud

We typically respond within 24 hours during business days.