<a id="billing-dimensions"></a>

# Billing Dimensions in Confluent Cloud

Confluent Cloud bills you on these dimensions: cluster capacity (CKU or eCKU),
data ingress and egress, storage, Cluster Linking, connectors, ksqlDB,
Flink SQL, Tableflow, the Real-Time Context Engine, Unified Stream Manager, Kafka Streams, audit logs, Stream Governance, and
the Advanced Security add-on. For support plan billing, see
[Confluent support plans](../overview.md#cloud-support-plans).

This section explains how Confluent Cloud calculates each dimension. Dollar amounts
shown here are examples, not necessarily current prices. For current list
prices, see the [Confluent Cloud pricing page](https://www.confluent.io/pricing/).

#### IMPORTANT
Confluent storage and throughput is calculated in binary gigabytes (GB),
where 1 GB is 2<sub>30</sub> bytes. This unit of measurement is also
known as a gibibyte (GiB).

The following table lists the Costs API line item and unit of measure for
each Confluent Cloud billing dimension. For more information, see the
[Costs API](https://docs.confluent.io/cloud/current/ccloud/costs-billing-v-1/).

| Dimension                                                                                  | Line item                        | Unit of measure                                                                                                           |
|--------------------------------------------------------------------------------------------|----------------------------------|---------------------------------------------------------------------------------------------------------------------------|
| [CKU/eCKU](#compare-contrast-e-cku-cku)                                                    | `KAFKA_NUM_CKUS`                 | Cost per CKU/eCKU per hour                                                                                                |
| [Kafka ingress](#ingress-egress-billing)                                                   | `KAFKA_NETWORK_WRITE`            | Cost per GB written                                                                                                       |
| [Kafka ingress through Kafka REST APIs](#ingress-egress-billing)                           | `KAFKA_REST_PRODUCE`             | Cost per GB written                                                                                                       |
| [Kafka egress](#ingress-egress-billing)                                                    | `KAFKA_NETWORK_READ`             | Cost per GB read                                                                                                          |
| [Kafka storage](#storage-billing)                                                          | `KAFKA_STORAGE`                  | Cost per GB stored per hour                                                                                               |
| [Cluster Linking links](cluster-linking.md#cluster-linking-billing)                        | `CLUSTER_LINKING_PER_LINK`       | Cost per link per hour                                                                                                    |
| [Cluster Linking ingress](cluster-linking.md#cluster-linking-billing)                      | `CLUSTER_LINKING_WRITE`          | Cost per GB written                                                                                                       |
| [Cluster Linking egress](cluster-linking.md#cluster-linking-billing)                       | `CLUSTER_LINKING_READ`           | Cost per GB read                                                                                                          |
| [Connector capacity for Dedicated Kafka cluster](connect.md#connect-billing)               | `CONNECT_CAPACITY`               | Cost per hour                                                                                                             |
| [Connect task](connect.md#connect-billing)                                                 | `CONNECT_NUM_TASKS`              | Cost per task per hour                                                                                                    |
| [Connect data transfer](connect.md#connect-billing)                                        | `CONNECT_THROUGHPUT`             | Cost per GB written or read                                                                                               |
| [Custom Connect task](connect.md#connect-billing)                                          | `CUSTOM_CONNECT_NUM_TASKS`       | Cost per task per hour                                                                                                    |
| [Custom Connect data transfer](connect.md#connect-billing)                                 | `CUSTOM_CONNECT_THROUGHPUT`      | Cost per GB written or read                                                                                               |
| [ksqlDB Confluent Streaming Unit (CSU)](ksqldb.md#ksqldb-billing)                          | `KSQL_NUM_CSUS`                  | Cost per CSU per hour                                                                                                     |
| [Confluent Unit for Flink (CFU)](flink.md#flink-sql-billing)                               | `FLINK_NUM_CFUS`                 | Cost per CFU per minute                                                                                                   |
| [Tableflow topic hours](tableflow.md#cloud-tableflow-billing)                              | `TABLEFLOW_NUM_TOPICS`           | Cost per topic per hour                                                                                                   |
| [Tableflow data processed](tableflow.md#cloud-tableflow-billing)                           | `TABLEFLOW_DATA_PROCESSED`       | Cost per GB processed                                                                                                     |
| [Tableflow index data processed](tableflow.md#cloud-tableflow-billing)                     | `TABLEFLOW_INDEX_DATA_PROCESSED` | Cost per upsert index GB processed                                                                                        |
| [Tableflow storage (Confluent managed storage only)](tableflow.md#cloud-tableflow-billing) | `TABLEFLOW_STORAGE`              | Cost per GB stored per hour                                                                                               |
| [Unified Stream Manager connected node](usm.md#usm-billing)                                | `USM_CONNECTED_NODE`             | Cost per connected node per hour                                                                                          |
| [Kafka Streams](kafka-streams.md#kafka-streams-billing)                                    | `KAFKA_STREAMS`                  | Cost per eCKU per hour, or per CKU on Dedicated clusters,<br/>for each cluster with a connected Kafka Streams application |
| [Audit logs](audit-logs.md#audit-log-billing)                                              | `AUDIT_LOG_READ`                 | Cost per GB of data read from audit log topics                                                                            |
| [Stream Governance base](stream-governance.md#stream-governance-billing)                   | `GOVERNANCE_BASE`                | Cost per hour                                                                                                             |
| [Schema Registry schema](stream-governance.md#stream-governance-billing)                   | `SCHEMA_REGISTRY`                | Cost per schema per hour                                                                                                  |
| [Stream Governance rule](stream-governance.md#stream-governance-billing)                   | `NUM_RULES`                      | Cost per rule per hour                                                                                                    |
| [Confluent support plan](../overview.md#cloud-support-plans)                               | `SUPPORT`                        | Cost per hour, prorated from the monthly price                                                                            |
| [Advanced Security add-on](advanced-security.md#cloud-advanced-security-billing)           | `SECURITY_ADD_ON`                | Percentage of eligible pre-support usage charges                                                                          |
| Credit                                                                                     | `PROMO_CREDIT`                   | Credit issued by Confluent                                                                                                |

<a id="billing-dimensions-monitor-usage"></a>

## Monitor your usage

To track usage against a billing dimension before it appears on your bill,
query the relevant metric in the [Metrics API](../../monitoring/metrics-api.md#metrics-api). Confluent Cloud
also sends built-in notifications for specific events, such as free-trial
consumption and service quota thresholds; see [Notifications for Confluent Cloud](../../monitoring/configure-notifications.md#ccloud-notifications)
to view available notification types and configure them in the
Confluent Cloud Console or through the API.

<a id="cloud-billing-regional-multiplier"></a>

## Regional multiplier

A regional multiplier is a price factor based on region and cloud
provider, applied to the base rate of a billing dimension that uses one.

For example, Apache Kafka® ingress in AWS us-east-1 might have a 1x regional
multiplier, while the same dimension in Google Cloud asia-east2 might have a 1.2x
regional multiplier, meaning the affected rate in that region is 1.2 times
the base rate. These specific values are examples only. The multiplier
itself doesn’t vary by dimension, but whether a given dimension uses it, and
its base rate, does.

The following resources use regional multipliers:

- [Kafka ingress and egress](#ingress-egress-billing)
- [Cluster Linking](cluster-linking.md#cluster-linking-billing)
- [Confluent Cloud for Apache Flink CFU pricing](flink.md#flink-sql-billing-cfu)
- [Real-Time Context Engine](rtce.md#rtce-billing-pricing)

<a id="compare-contrast-e-cku-cku"></a>

## Compare billing units for Kafka clusters

Confluent Cloud bills Kafka cluster capacity using one of two units, depending on
cluster type: a Confluent Unit for Kafka (CKU) or an Elastic Confluent Unit for Kafka (eCKU).
Both quantify pre-allocated resources and they differ in how you are billed.

| Attribute              | CKU                                            | eCKU                                                         |
|------------------------|------------------------------------------------|--------------------------------------------------------------|
| Cluster type           | Dedicated                                      | Basic, Standard, Enterprise, and Freight                     |
| Billing basis          | Fixed: pay for CKUs set at cluster creation    | Elastic: pay for capacity used per hour                      |
| What you pay when idle | Full CKU cost, because capacity stays reserved | Minimum if any consumption; nothing at zero consumption      |
| Maximum capacity       | Number of CKUs configured                      | Fixed ceiling set at cluster creation: costs can’t exceed it |

<a id="cku-definition"></a>

### CKU

A CKU is a fixed unit of pre-allocated capacity for Dedicated Kafka
clusters in Confluent Cloud. Each CKU bundles throughput, partition, and connection
limits. You set the number of CKUs at cluster creation and pay per CKU per
hour.

CKU charges accrue each hour based on the configured capacity of your cluster.
You can expand and shrink Dedicated clusters. When you expand or shrink
a Dedicated cluster, you are billed for the new CKU value in the next
hour following the change in capacity.

To stop your Kafka clusters from accruing billed usage,
[delete your clusters](https://docs.confluent.io/confluent-cli/current/command-reference/kafka/cluster/confluent_kafka_cluster_delete.html)
in the Confluent Cloud Console, or use the Confluent CLI.

<a id="e-cku-definition"></a>

### eCKU

An eCKU is a unit of capacity for Basic, Standard, Enterprise, and Freight Kafka clusters in
Confluent Cloud. Unlike CKUs, eCKUs scale elastically. You pay only for the
capacity you use in a given hour, up to a fixed ceiling. Cost is per eCKU
per hour.

Basic, Standard, Enterprise, and Freight clusters are elastic and automatically scale up to a
fixed ceiling. The ceiling governs how much maximum capacity your Kafka cluster
can use. However, you are only billed for the capacity that you use in a given
hour, up to the maximum allowed by the ceiling. The billing system monitors the
actual consumption of each dimension. For each hour, you are billed for the
maximum number of eCKUs used. For example, if dimensional usage oscillates
between 2 and 3 eCKUs in a single hour, you are billed for 3 eCKUs.

Basic, Standard, Enterprise, and Freight clusters have a minimum capacity. If the capacity you
use is less than the minimum, you pay the minimum. If your cluster is at zero
consumption across all dimensions, you pay nothing. Zero consumption across all
dimensions means your cluster has no partitions and no topics (or all topics
have been deleted). It also means there is no other capacity usage from an
eCKU billable dimension, including ingress, egress, client connections,
connection attempts, or requests. For more information, see [eCKU/CKU comparison](../../clusters/cluster-types.md#e-cku-details)
and [Cluster provisioning and scaling](../../clusters/cluster-types.md#cluster-scale-overview).

<a id="ingress-egress-billing"></a>

## Ingress and egress

Confluent Cloud charges you for all data transfers, including produce and consume
requests and every other incoming or outgoing request. This includes
charges for requests made by Cloud Console to display messages in
[message browser](../../topics/messages.md#ccloud-topic-message-browser). An extra ingress
charge applies for using the
[Produce (v3) REST API](https://docs.confluent.io/cloud/current/ccloud/records-v-3/),
before the [regional multiplier](#cloud-billing-regional-multiplier) is
applied. All ingress and egress charges are then multiplied by a regional
multiplier based on the cloud provider region.

<a id="storage-billing"></a>

## Storage

Confluent Cloud charges for storage based on the total post-replication volume of
data on a Kafka cluster. Because Confluent Cloud replicates data three times for high
availability, billed storage is typically about three times the volume you
write. To reduce storage usage, you can configure the `retention.bytes` and
`retention.ms` properties on a topic. To learn more, see [Topic Settings](../../topics/manage.md#cloud-topic-config) and [Edit topics](../../topics/overview.md#edit-topics-cloud).

<a id="partition-billing"></a>

## Partitions

Confluent Cloud doesn’t charge for partitions on any type of Kafka cluster, but the
number of partitions you use can have an impact on eCKU. To determine eCKU
limits for partitions, Confluent Cloud counts only leader partitions, the
pre-replication count, across a cluster. For more information, see
[eCKU/CKU comparison](../../clusters/cluster-types.md#ecku-comparison-table).

Only partitions that are visible in the Cloud Console count toward
this limit. Partitions internal to Kafka itself, such as consumer offsets, are
not visible in the Cloud Console and don’t count.

This distinction applies differently to Connect, depending on how you run
it:

- A self-managed Connect worker creates its `config`, `offset`, and
  `status` topics directly on your Kafka cluster. These topics are visible
  in the Cloud Console, so their partitions count toward your
  partition limit and eCKU. They’re also compacted, so they count toward
  the Enterprise compacted partition sub-limit as well.
- A fully managed connector’s internal state is managed in Confluent’s own
  infrastructure. It isn’t created as a topic on your cluster and isn’t
  visible in the Cloud Console, so it doesn’t count toward your
  partition limit or eCKU. Only the connector’s data topics count.

Basic and Standard clusters in Confluent Cloud organizations created
before April 16, 2024 use per-partition billing instead. For more
information, see [legacy partition billing](../legacy-billing.md#legacy-partition-billing).
