---
title: Learn How to Use Azure Tagging to Analyze Costs & Support Chargebacks
description: Modern cloud governance includes using Azure Tagging to manage costs and successfully implement charge backs.
image: https://blogs.incyclesoftware.com/hubfs/analyze-cost-management-featured.jpg
---

# Learn How to Use Azure Tagging to Analyze Costs & Support Chargebacks

Posted by Phil DeVeau - January 18, 2021

### An effective tagging strategy can help highlight resource costs to enable burning down a bill across cost centers. 

- [**](https://www.facebook.com/sharer/sharer.php?u=https://blogs.incyclesoftware.com/enterprise-azure-governance/learn-how-to-use-azure-tagging-to-analyze-costs-support-charge-backs)
- [**](https://www.linkedin.com/shareArticle?mini=true&url=https://blogs.incyclesoftware.com/enterprise-azure-governance/learn-how-to-use-azure-tagging-to-analyze-costs-support-charge-backs&title=&summary=&source=)
- [**](https://twitter.com/home?status=)
- [**](mailto:?&subject=https://blogs.incyclesoftware.com/enterprise-azure-governance/learn-how-to-use-azure-tagging-to-analyze-costs-support-charge-backs&body=https://blogs.incyclesoftware.com/enterprise-azure-governance/learn-how-to-use-azure-tagging-to-analyze-costs-support-charge-backs)

**

![header-picture](https://blogs.incyclesoftware.com/hubfs/cost-management-2-header-web.jpg "header-picture")

### Gain a Better Understanding of Azure Spending 

Azure costs are fairly predictable in many circumstances.  A virtual machine has a per hour of compute, a burstable SKU has a much more involved cost model that is less predictable.  Picking the right tool for the right job and all that notwithstanding, your Azure bill is likely being covered by multiple cost centers.  An effective tagging strategy can help highlight resource costs to enable burning down a bill across cost centers. 

### Tagging Strategies 

Tags in Azure are stored as key value pairs.  Some common examples include env : dev, env : prod, env : uat.  Immediately we can see that we now know a resource belongs to dev, prod, or uat.  We can manage this with subscriptions as well, a dev, a prod, a uat subscription for instance, but as a program, effective tagging can give us insight at many other levels across subscriptions.  If we add in another set of tags, cost-code : fictional-cost-code we can see patterns to derive billing start to emerge.  A quick charting exercise allows us to not only understand our cost per environment, but our cost for each cost center.

![resources](https://blogs.incyclesoftware.com/hs-fs/hubfs/resources.png?width=413&name=resources.png)

![Azure charge backs and cost management](https://blogs.incyclesoftware.com/hs-fs/hubfs/costmanagement.png?width=856&name=costmanagement.png)

### Automated Tag Strategies 

What about self-service creation of Azure resource though?  We can’t count on teams to add the right tags when they create resources though.  They might miss-spell the tag or add the wrong tag.  A team member might be on multiple teams and not be certain how to bill the resource internally.  They might be in a rush and forget.  Using policies assigned to subscriptions we can deploy tags if they don’t already exist.  Given a scenario of segregated subscriptions we can assign a policy to each one that, when a resource is deployed it will add the environment tag for us.  If we further segregate subscriptions, we can adapt our strategy to deploy tags for our associated cost centers as well.  We can add onto this to audit and remediate tags, so if a cost center tag is missing we can then remediate with inheriting any cost centers from a parent resource, or if the resource is moved the tag is updated automatically to reflect it’s new home in your cost management workspace.  We’ve taken away the headache and, once we have trust in the system, a large chunk of budget audit cost. 

[![Azure Governance Playbook  FREE DOWNLOAD](https://no-cache.hubspot.com/cta/default/707613/12e14509-7f97-4632-9ac5-296ad0dc3b81.png)](https://cta-redirect.hubspot.com/cta/redirect/707613/12e14509-7f97-4632-9ac5-296ad0dc3b81)

### This Sounds Great, but What is the Cost? 

I know, these lofty goals sound expensive to implement and hard to maintain.  Truth be told there is a time investment, building an effective set of policies won’t be completed in a day.  To accomplish our base goals we’ll need to take some simple steps: 

1. Create a management group. 
2. Create (or use an existing) a new subscription and assign to the management group. 
3. Create a new modify effect policy rule and assign it to the management group. 
4. Create a new add or replace policy that will update tags from parent resource changes. 

Add Tag Policy Example 

"policyRule": { 

    "if": { 

        "field": "[concat('tags[', parameters('tagName'), ']')]", 

        "exists": "false" 

    }, 

    "then": { 

        "effect": "modify", 

        "details": { 

            "roleDefinitionIds": [ 

                "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c" 

            ], 

            "operations": [ 

                { 

                    "operation": "add", 

                    "field": "[concat('tags[', parameters('tagName'), ']')]", 

                    "value": "[parameters('tagValue')]" 

                } 

            ] 

        } 

    } 

} 

Add/Replace Policy Example 

"policyRule": { 

    "if": { 

        "anyOf": [{ 

            "field": "tags['Env']", 

            "notEquals": "[resourcegroup().tags['Env']]" 

        }, 

        { 

            "field": "tags['Env']", 

            "exists": false 

        } 

    ] 

    }, 

    "then": { 

        "effect": "modify", 

        "details": { 

            "roleDefinitionIds": [ 

                "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c" 

            ], 

            "operations": [{ 

                "operation": "addOrReplace", 

                "field": "tags['Env']", 

                "value": "[resourcegroup().tags['Env']]" 

            }] 

        } 

    } 

} 

Cost Management in Azure can be confusing and distributing costs internally can be a real headache if you don’t know where they belong, this can make traditional budgeting a nightmare. InCycle has worked with many organizations to accelerate adoption of winning cost management governance practices. To learn more about cloud governance, [download the Cloud Governance Playbook](https://www.incyclesoftware.com/playbook-for-modern-enterprise-and-cloud-governance)!

 Topics: [Cost Control](https://blogs.incyclesoftware.com/enterprise-azure-governance/topic/cost-control)

[![Modern Enterprise & Cloud Governance Playbook](https://no-cache.hubspot.com/cta/default/707613/e1a05ffb-2e33-417f-8064-4014f1877e61.png)](https://cta-redirect.hubspot.com/cta/redirect/707613/e1a05ffb-2e33-417f-8064-4014f1877e61)

---

### Recent Posts

By Michael Spenny - 18 January, 2021

#### Collaborative Cloud Governance: Auditability & Visibility

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/enterprise-azure-governance/collaborative-cloud-governance-auditability-and-visibility)

By Michael Spenny - 18 January, 2021

#### How Does the Cloud & Azure Transform Traditional Governance?

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/enterprise-azure-governance/how-does-the-cloud-azure-transform-traditional-governance)

By Michael Spenny - 18 January, 2021

#### DevOps Enables Modern Governance

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/enterprise-azure-governance/devops-enables-modern-governance)

---

### Sign-up for Governance Blog Updates

# ![Partners Awards List - 2021](https://blogs.incyclesoftware.com/hs-fs/hubfs/PoY%20Award%202021/Partners%20Awards%20List%20-%202021.png?width=748&name=Partners%20Awards%20List%20-%202021.png)

# All About Modern Governance

InCycle's Modern Governance blog is the result of almost 20 years of industry experience and is ideal reading for medium and large organizations that are trying to navigate cloud adoption and are struggling to design and implement modern governance for either a team, business unit or across the enterprise. The blog is comprehensive and addresses various stakeholders, including operations, security, application development, accounting, and audit. The goal of the blog is to showcase modern governance drivers, new challenges that arise, and to provide actionable guidance for practitioners to complete a modern governance transformation.

### Azure Governance Playbook

FREE guidance and tools to complete governance transformation.

[![Learn More!](https://no-cache.hubspot.com/cta/default/707613/d0b6969d-3645-4839-ae95-84acb7ca61a2.png)](https://cta-redirect.hubspot.com/cta/redirect/707613/d0b6969d-3645-4839-ae95-84acb7ca61a2)

### Posts by Topic

- [Cost Control (5)](https://blogs.incyclesoftware.com/enterprise-azure-governance/tag/cost-control)
- [Security (5)](https://blogs.incyclesoftware.com/enterprise-azure-governance/tag/security)
- [Structure & Responsibilities (5)](https://blogs.incyclesoftware.com/enterprise-azure-governance/tag/structure-responsibilities)
- [Visibility (5)](https://blogs.incyclesoftware.com/enterprise-azure-governance/tag/visibility)
- [Implementation & Adoption (4)](https://blogs.incyclesoftware.com/enterprise-azure-governance/tag/implementation-adoption)

### Most Popular Posts

### Blog Archive

- [January 2021 (23)](https://blogs.incyclesoftware.com/enterprise-azure-governance/archive/2021/01)
- [February 2021 (1)](https://blogs.incyclesoftware.com/enterprise-azure-governance/archive/2021/02)

- [**](https://twitter.com/incyclesoftware?lang=en)
- [**](https://ca.linkedin.com/company/incycle-software)
- [**](https://www.facebook.com/InCycleSoftware/)

### About us

At InCycle, we believe there is always a better way and today, that includes the cloud.

[![InCycle Microsoft Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Incycle%202017%20website%20resources/logo-InCycle-New-white.png?width=200&name=logo-InCycle-New-white.png "InCycle Microsoft Partner")](https://www.incyclesoftware.com/)

### Learn more

- [Why Incycle?](https://www.incyclesoftware.com/why-incycle)
- [Success Stories](https://www.incyclesoftware.com/customer-success-stories)
- [Events](https://www.incyclesoftware.com/events)
- [Careers](https://www.incyclesoftware.com/careers)
- [About](https://www.incyclesoftware.com/about-incycle-software)

 

### 1-800-565-0510 [info@incyclesoftware.com](mailto:info@incyclesoftware.com) 

### ![Microsoft GitHub Verified Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/GitHub%20Verified%20Partner%20-%20white-SQUARE.png?width=256&height=57&name=GitHub%20Verified%20Partner%20-%20white-SQUARE.png) ![Data & AI Solutions Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Data%20%26%20AI%20Solutions%20Partner.png?width=125&height=144&name=Data%20%26%20AI%20Solutions%20Partner.png) ![Digital & App Innovation Solutions Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Digital%20%26%20App%20Innovation%20Solutions%20Partner.png?width=125&height=144&name=Digital%20%26%20App%20Innovation%20Solutions%20Partner.png)

 

© 2025 InCycle Software

[Privacy policy](https://www.incyclesoftware.com/privacy)

**

![](https://px.ads.linkedin.com/collect/?pid=302756&fmt=gif) ![](https://px.ads.linkedin.com/collect/?pid=302756&fmt=gif)