> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conduktor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Kafka cost allocation and chargeback

> Track and allocate Kafka costs to teams with Conduktor Chargeback. Measure storage, partitions, ingress and egress per cluster, application or label.

Chargeback is a cost allocation feature that helps you track, visualize and attribute Kafka infrastructure costs to clusters, teams or applications.

By measuring resource use over time, Chargeback gives you visibility into Kafka spending, supports cost accountability and helps you make informed decisions about resource optimization.

Conduktor measures five cost axes — **storage**, **partitions**, **ingress**, **egress** and **Kafka Connect** — and presents costs through three views: by cluster, by application or by label.

<Note>
  From Console v1.45.0, Chargeback unifies the previous **with Gateway** and **without Gateway** experiences into a single page. The previous V1 and V2 endpoints are deprecated but still respond to existing API clients.
</Note>

<Info>
  **From our blog:** [Chargeback: attribute and map Kafka costs to your business](https://conduktor.io/blog/chargeback-attribute-map-kafka-costs-to-your-business) Practical strategies to tag, trace, and report Kafka spending by team and application.
</Info>

## Cost axes

Each cluster has its own configurable unit costs across five axes. Set the costs that match your provider pricing or your internal infrastructure model.

| Cost axis         | Unit              | What it measures                             |
| ----------------- | ----------------- | -------------------------------------------- |
| **Storage**       | \$/GB/hour        | Bytes retained on disk per topic             |
| **Partitions**    | \$/partition/hour | Number of partitions per topic               |
| **Ingress**       | \$/GB             | Bytes produced into Kafka                    |
| **Egress**        | \$/GB             | Bytes consumed from Kafka                    |
| **Kafka Connect** | \$/task/hour      | Hours that Kafka Connect connector tasks run |

A cluster only needs the axes that match its pricing model. For an on-premises cluster, you might only set storage and partitions; for a Confluent Cloud cluster, you can set all five.

Kafka Connect costs use a default per-task-hour rate for the cluster. You can also set per-connector-class overrides — for example, a higher rate for an S3 sink connector than for a JDBC source connector.

Costs are calculated at query time, so updating a unit cost takes effect immediately across historical data.

## What you can measure per cluster type

Chargeback collects metrics from four sources: Console's metadata indexer for storage and partition counts, the Confluent Cloud Metrics API for Confluent Cloud throughput, the observability Interceptor for Gateway throughput, and Console's Kafka Connect integration for connector task hours.

| Cluster type    | Storage | Partitions | Ingress / egress per topic | Ingress / egress per service account | Kafka Connect |
| --------------- | :-----: | :--------: | :------------------------: | :----------------------------------: | :-----------: |
| Vanilla Kafka   |    ✓    |      ✓     |              –             |                   –                  |       ✓       |
| Confluent Cloud |    ✓    |      ✓     |              ✓             |        ✓ (no topic breakdown)        |       ✓       |
| Gateway         |    ✓    |      ✓     |              ✓             |                   ✓                  |       ✓       |

Kafka Connect costs apply to any cluster type, but only when the cluster has one or more Kafka Connect clusters configured in Console. Clusters without Kafka Connect don't show Connect costs.

Storage and partition metrics are bucketed by UTC day. Confluent Cloud throughput is collected hourly. Gateway throughput is streamed continuously through the observability Interceptor and flushed at a configurable interval.

## Views

Chargeback presents data through three top-level views, each with the same cost columns and the ability to drill down into topics, service accounts and connectors.

* **Cluster view**: costs grouped by Kafka cluster
* **Application view**: costs grouped by <Tooltip tip="An application represents a logical owner of Kafka resources, such as a team or service.">application</Tooltip>, with drill-down into application instances
* **Label view**: costs grouped by the values of a label key (for example, `env=production` or `team=payments`)

Label-based grouping requires the label key to first be selected as a Chargeback Label by an administrator.

## Chargeback Labels

Not every label attached to a topic or <Tooltip tip="A service account is a non-human identity used by Kafka clients to authenticate and perform actions on resources.">service account</Tooltip> is meaningful for cost attribution. Administrators select a subset of label keys to expose in Chargeback.

Once a label key is enabled, you can group costs by its values. Topics or service accounts without that label are excluded from the grouping. Chargeback Labels are global — the same set of label keys applies across all clusters.

## Permissions

Two platform-level permissions control access:

* **Can view Chargeback** (`PlatformChargebackView`): view cost metrics across all views and drill-downs
* **Can manage Chargeback** (`PlatformChargebackManage`): set per-cluster unit costs and select Chargeback Labels

By default, platform admins have both permissions. Console shows cost attribution for all clusters regardless of the cluster-level permissions assigned to the user.

## Related resources

* [Use Chargeback](/guide/use-cases/chargeback)
* [Configure Chargeback](/guide/tutorials/configure-chargeback)
* [Give us feedback/request a feature](https://conduktor.io/roadmap) <Icon icon="up-right-from-square" />
