Billing data and SKU updates for spend-based CUDs

Starting January 21, 2026, Google Cloud makes changes to the Billing user interface, Cloud Billing export to BigQuery schema, and Cloud Marketplace API. These changes prepare for expanding the spend-based committed use discounts (CUD)s program. The changes provide customers the following benefits:

  • Simplified billing: Google Cloud moves away from using credits to offset costs. It uses discounted prices to represent savings from spend-based CUDs. This change makes it easier for you to calculate the total cost of your CUDs and savings.
  • Greater flexibility: This change expands the scope for some spend-based CUDs. As a result, a larger portion of your usage might be eligible for discounts.

This change doesn't increase the total cost. For more information about this change, see Billing user interface.

What action is required?

Review these upcoming changes. Prepare to update any systems that rely on Cloud Billing export to BigQuery . For example, update any FinOps cost management reporting dashboards to ensure compatibility with the new schema before the mandatory change. You can also opt in early.

When do these changes take effect?

The changes take effect on the following dates, depending on which scenario applies.

New customers

  • If you create a Billing Account on or after July 15, 2025, the new billing model applies to you for spend-based CUDs in this list.

Customers without active spend-based CUDs in this list since July 15, 2024

  • For Billing Accounts with no active spend-based CUDs in this list since July 15, 2024, the new model applies on July 15, 2025, at midnight US and Canadian Pacific Time (UTC-8).

Customers with active spend-based CUDs in this list since July 15, 2024

  • For Billing Accounts with any active spend-based CUDs in this list on or after July 15, 2024, the new model applies on January 21, 2026 at midnight US and Canadian Pacific Time (UTC-8). You can opt in earlier, starting July 15,
    1. In that case, the new model applies when you click opt-in. Learn more about how to opt in

Resellers and customers with billing account hierarchies can find more details in the Do other CUDs change? section.

What is changing?

To support the new spend-based CUDs billing data model, the following changes apply to affected spend-based CUDs. For details on how this impacts your bills, see the What is changing? section.

  • Some existing CUDs cover more products.
  • Simplify CUD fees: New CUD fee SKUs replace existing CUD fee SKUs. The price for these new SKUs is $1.
  • Improve Billing Console UI: The Billing Console UI changes to better enable accurate cost management and optimization experiences for CUDs.
  • The UI that you use to purchase CUDs today changes. You used to input an hourly commitment amount in terms of equivalent on-demand spend.
  • Update the Marketplace Procurement API: The Marketplace Procurement API is updated to enable purchasing of CUDs in this new model.
  • Expand Billing data export: The Billing export data columns change to reflect the new pricing metadata and monetization of spend-based CUDs.
  • Track consumption mode prices more easily: A new metadata field, Consumption Model, is added that represents the price of usage for a given SKU. Discounted prices at the appropriate Consumption Model represent the savings from spend-based CUDs. This new model replaces the use of "credits" that offset your list price usage rates.
  • Purchasing new spend-based commitments is unavailable for a few hours for customers during their migration. For customers who opt in early, Google Cloud displays a warning about this outage on the Billing UIs. For customers who don't opt in early, this outage occurs when they are automatically migrated to the new model in January 2026.
  • From 11 PM PST on July 14, 2025 to 12 AM PST on July 15, 2025, all customers are unable to purchase new CUDs for one hour.

What is not changing?

Your applicable discount rate for SKUs already eligible for spend-based CUDs remains the same. Your total costs won't increase if your usage behavior remains the same. However, your bill might decrease if you aren't fully utilizing your commitments but are using any of the newly added SKUs. Your contractual discounts are honored for the duration of your contract. Certain spend-based CUDs are not affected by this change at this time. Resource-based CUDs are also not affected by this change.

Change details

This section explains the changes that will occur with this CUDs expansion.

New SKUs added

After you opt in to the new model, SKUs for the following products are added to the scope of your Compute flexible CUDs:

  • Compute H3
  • Compute H4D
  • Cloud Run (request-based billing during billed instance time), including Cloud Run functions

New CUD fee SKUs

The existing CUD fee SKUs (example) are replaced with new SKUs. These SKUs are priced at $1/hr unlike the existing SKUs which are priced at a lower rate to indicate the CUD benefit. The CUD benefit is now reflected using the Consumption Model prices described in New consumption model metadata. This doesn't affect your costs. More information about these SKUs is available in April, 2025.

New consumption model metadata

For each SKU, a new metadata field, "Consumption Model", represents the price of usage for this SKU. This price applies when the system monetizes usage for this SKU under this particular consumption model. For example, if a 1-Year Flex CUD covers VM usage, then the "Consumption Model" of the usage has a value of "1 Year Flex CUD".

Cloud Billing export to BigQuery

In the Cloud Billing export to BigQuery standard, detailed and rebilling (reseller only) data export, we will add or change the following fields:

Field Type New or updated Description
price Struct Existing (no change in detailed or rebilling export, adding to standard export.) Fields that describe the structure and value related to the prices charged for usage.
price.list_price Numeric New field SKU list price per the default consumption model.
price.effective_price_default Numeric New field SKU price per the default consumption model per the custom pricing in the contract linked to your Cloud Billing account.
price.list_price_consumption_model Numeric New field SKU list price per the applicable consumption model.
price.effective_price Numeric Existing (description updated in detailed and rebilling export; adding to standard export.) SKU price per the applicable consumption model per the custom pricing in the contract linked to your Cloud Billing account.
price.tier_start_amount Numeric Existing in detailed export, adding to standard export. The lower bound number of units for a SKU's pricing tier.
price.unit String Existing in detailed export, adding to standard export. The unit of usage in which the pricing is specified and resource usage is measured.
price.pricing_unit_quantity Numeric Existing in detailed export, adding to standard export. The SKU's pricing tier unit quantity.
cost_at_list Numeric Existing field, description updated to reflect changes. Cost at list price.
cost Numeric Existing field, description updated to reflect changes. Cost per the applicable consumption model per the custom pricing in the contract linked to your Cloud Billing account.
cost_at_effective_price_default Numeric New Cost per the default consumption model per the custom pricing in the contract linked to your Cloud Billing account.
cost_at_list_consumption_model Numeric New Cost per the applicable consumption model.
consumption_model Struct New Fields that describe the applicable consumption model.
consumption_model.id String New The ID of the consumption model.
consumption_model.description String New The description of the consumption model.

Price export changes

Cloud Billing export to BigQuery adds or changes these fields for pricing information:

Field Type New/Updated Description (draft)
List_price Struct Updated The list price of the Google Cloud or Google Maps Platform SKUs and SKU pricing tiers, in effect as of the pricing_as_of_time, with the default consumption model price.
List_price.tieredrates.start_usage_amount Float Existing Lower bound amount for a given list pricing tier, in pricing units.
List_price.tieredrates.usd_amount Numeric Existing The list price for the SKU, in US dollars.
List_price.consumption_model_display_name String New Display name for the consumption model.
List_price.consumption_model_id String New ID of the consumption model.
Billing_account_price Struct Updated If you have contract pricing, this is your custom SKU price from the contract that's linked to your Cloud Billing account, with the default consumption model price.
Billing_account_price.tiered_rates.start_usage_amount Float Existing Lower bound amount for a given billing account pricing tier, in pricing units.
Billing_account_price.tiered_rates.usd_amount Numeric Existing The billing account price for the SKU, in US dollars.
Billing_account_price.tiered_rates.consumption_model_display_name String New Display name for the consumption model.
Billing_account_price.tiered_rates.consumption_model_id String New ID of the consumption model.
Consumption_Models List of structs New Both list price and billing account prices for the SKU, for all consumption models.
Consumption_models.consumption_model_id String New ID of the consumption model.
Consumption_models.consumption_model_display_name String New Display name for the consumption model.
Consumption_models.list_price.tiered_rates.start_usage_amount Float New Lower bound amount for a given list pricing tier, in pricing units.
Consumption_models.list_price.tiered_rates.usd_amount Numeric New The list price for the SKU, in US dollars.
Consumption_models.billing_account_price.tiered_rates.start_usage_amount Float New Lower bound amount for a given billing account pricing tier, in pricing units.
Consumption_models.billing_account_price.tiered_rates.usd_amount Numeric New The billing account price for the SKU, in US dollars.

Billing user interface

The Billing section of the Google Cloud console includes updates to most pages to support the new data model. The updates include the Overview page, and the Cost Management and Cost Optimization sections of the Billing navigation menu.

Changes to budgets

You might need to adjust thresholds for budgets that you originally created that excluded "Committed use discounts (spend based)" credits. The total costs tracked by these budgets will decrease as the uncredited costs will now include savings when the new model applies. Visit the budgets dashboard at launch to review the affected budgets and make necessary changes.

Cloud Commerce Consumer Procurement API changes

The Cloud Commerce Consumer Procurement API enables programmatic purchases of spend-based CUDs with Marketplace offers. This API will change:

  • The offer name for existing spend-based CUDs will change.
  • The commitment amount for CUDs you purchase will change. Refer to CUD purchase flow changes for more details.

You must update any code that automates purchases of spend-based CUDs. Use the updated offer name and commitment amounts after you transition to the new billing model.

CUD purchase flow changes

The UI that you use to purchase CUDs today will change. This change doesn't impact CUDs that you have purchased. The system converts existing CUDs to the new model seamlessly. For more details, refer to CUD purchase flow changes.

Example data export before and after the new CUD model

The new spend-based CUD model requires you to plan and adjust your internal systems that might consume Cloud Billing data. As a result, we provide the following scenarios to show how the data export schema and data will change, before and after the new CUD model. We further divide these scenarios into situations where you overutilize and underutilize your CUDs to show the affect on the data export.

For both scenarios, consider that you've purchased an E2-Standard-8 VM in US Central 1, consisting of two SKUs for RAM and Core. These SKUs use the fictional ID of RAM SKU and Core SKU, respectively.

Then, you purchase a 1 Year GCE Flex CUD for $0.1/hr for the overutilized scenario and $.3/hr for the underutilized scenario. These are represented in the data as the fictional ID Fee SKU.

Overutilized CUD scenario

In the overutilized scenario, you made the previously mentioned purchases and overutilized the CUDs.

Data before

Before the new CUD model, your Cloud Billing export schema and data values will look like the following table.

SKU cost usage.amount_in_pricing_units usage.pricing_unit price.effective_price originating_sku_id subscription.instance_id credits
Fee SKU 0.046868 6.509490 hour 0.0072 RAM SKU subscriptions/e52fd279-0851-4f53-a533-093119e27bad []
Fee SKU 0.025132 3.490510 hour 0.0072 Core SKU subscriptions/e52fd279-0851-4f53-a533-093119e27bad []
RAM SKU 0.174496 8 hour 0.02181159 null null [{"amount":-0.065095,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}]
Core SKU 0.093568 32 gibibyte hour 0.00292353 null null [{"amount":-0.065095,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}]

Data After

After the new CUD model, your Cloud Billing export schema and data values will look like the following table.

SKU cost usage.amount_in_pricing_units usage.pricing_unit consumption_model.description price.effective_price originating_sku_id subscription.instance_id credits
Fee SKU 0.046868 0.046868330 hour Default 1 RAM SKU subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb [{"amount":"-0.046868",""type":"COMMITMENT_FEE_OFFSET"}]
Fee SKU 0.025132 0.025131670 hour Default 1 Core SKU subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb [{"amount":"-0.025132",""type":"COMMITMENT_FEE_OFFSET"}]
RAM SKU 0.109398 5.015577498 hour Default 0.02181159 null null []
Core SKU 0.058648 20.06066639 gibibyte hour Default 0.00292353 null null []
RAM SKU 0.046868 2.984422502 hour Compute Flexible CUDs 1 Year 0.01570434 null subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb []
Core SKU 0.025132 11.93933361 gibibyte hour Compute Flexible CUDs 1 Year 0.00210494 null subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb []

Note the following in this new CUD model:

  • There are two rows for each CUD, instead of one for each.
  • There is a new consumption_model.description column that separates the additional CUD entries, where:
    • the Compute Flexible CUDs 1 Year value indicates that you received the expected CUD discount.
    • the Default value indicates that you overutilized the CUD, and your cost reverted to the default pricing for the overage amount. This is also indicated by the subscription.instance_id having no value.
    • the CUD fee rows also have the Default value, because discounts don't apply to them. Instead, the credits field indicates that a negative offset was applied to negate the fee.

Underutilized CUD scenario

In the underutilized scenario, you made the previously mentioned purchases and underutilized the CUDs.

Data before

Before the new CUD model, your Cloud Billing export schema and data values will look like the following table.

SKU cost usage.amount_in_pricing_units usage.pricing_unit price.effective_price originating_sku_id subscription.instance_id credits
Fee SKU 0.022994 3.194 hour 0.0072 null subscriptions/e52fd279-0851-4f53-a533-093119e27bad []
Fee SKU 0.125637 17.450 hour 0.0072 RAM SKU subscriptions/e52fd279-0851-4f53-a533-093119e27bad []
Fee SKU 0.067369 9.357 hour 0.0072 Core SKU subscriptions/e52fd279-0851-4f53-a533-093119e27bad []
RAM SKU 0.174496 8 hour 0.02181159 null null [{"amount":-0.065095,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}]
Core SKU 0.093568 32 gibibyte hour 0.00292353 null null [{"amount":-0.034905,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}]

Data After

Before the new CUD model, your Cloud Billing export schema and data values will look like the following table.

SKU cost usage.amount_in_pricing_units usage.pricing_unit price.effective_price consumption_model.description originating_sku_id subscription.instance_id credits
Fee SKU 0.022994 0.0230 hour 1 Default null subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb []
Fee SKU 0.125637 0.1256371 hour 1 Default RAM SKU subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb [{"amount":"-0.1256348",""type":"COMMITMENT_FEE_OFFSET"}]
Fee SKU 0.067369 0.0673690 hour 1 Default Core SKU subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb [{"amount":"-0.0673581",""type":"COMMITMENT_FEE_OFFSET"}]
RAM SKU 0.125637 8 hour 0.0157043448 Compute Flexible CUDs 1 Year null subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb []
Core SKU 0.067369 32 gibibyte hour 0.0021049416 Compute Flexible CUDs 1 Year null subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb []

Note the following in this new CUD model:

  • There are two rows for each CUD, instead of one for each.
  • There is a new consumption_model.description column that separates the additional CUD entries, where:
    • the Compute Flexible CUDs 1 Year value indicates that you received the expected CUD discount.
    • the Default value indicates the CUD fee rows, because discounts don't apply to them. Instead, the credits field indicates that a negative offset was applied to negate the fees, which were rolled up into the first row.
  • The first row shows a sum of the CUD fees.

Sample Queries for key CUD KPIs

To gain better insight into your cost data, the following BigQuery query shows how to retrieve useful information for these KPIs:

  • commitment_cost
  • commitment_savings
  • effective_savings_rate
SET bigquery_billing_project = billing-project-id;

WITH
  cost_data AS (
    SELECT *
    FROM
      `committed-use-discount-test.recommendations.gcp_billing_export_resource_v1_016676_F7EDE9_45E9C2`
    WHERE invoice.month = '202411'
  ),
  cud_fee_skus AS (
    SELECT * FROM UNNEST(
      [
        '1234-5678-9ABC',
        // ... etc
        'DEF0-1234-5678'])
      fee_sku_id
  ),
  cud_costs AS (
    SELECT
      invoice.month AS invoice_month,
      subscription.instance_id AS subscription_instance_id,
      IFNULL(
        (
          SELECT l.value
          FROM UNNEST(labels) l
          WHERE l.key = 'goog-originating-service-id'
        ),
        service.id) AS service,
      SUM(cost) AS commitment_cost,
      SUM(
        (
          SELECT SUM(credit.amount)
          FROM UNNEST(credits) credit
          WHERE credit.type = 'COMMITMENT_FEE_OFFSET'
        )) AS commitment_fee_offset
    FROM
      cost_data
    JOIN cud_fee_skus
      ON fee_sku_id = sku.id
    GROUP BY 1, 2, 3
  ),
  cud_savings AS (
    SELECT
      invoice.month AS invoice_month,
      subscription.instance_id,
      service.id AS service,
      SUM(cost - cost_at_effective_price_default) AS cud_savings_amount,
      SUM(cost_at_effective_price_default) AS on_demand_costs
    FROM
      cost_data
    WHERE
      consumption_model.id IS NOT NULL
      AND consumption_model.id != '7754-699E-0EBF'
    GROUP BY 1, 2, 3
  )
SELECT
  invoice_month,
  subscription_instance_id,
  service,
  commitment_cost,
  commitment_cost + commitment_fee_offset + IFNULL(cud_savings_amount, 0)
    AS commitment_savings,
  ABS(commitment_fee_offset) / commitment_cost * 100 AS cud_utilization_percent,
  (
    commitment_cost

+   commitment_fee_offset
+   IFNULL(cud_savings_amount, 0))
    / IFNULL(on_demand_costs, 1) AS effective_savings_rate
FROM cud_costs
LEFT JOIN cud_savings
  USING (invoice_month, cud_product, service);

What CUDs will this affect?

The following spend-based CUDs will be affected by this change.

What CUDs aren't affected by this change?

The following CUDs aren't impacted by this change:

  • backup for GKE
  • Backup and DR (for VMware Engine)
  • All VMware Engine CUDs
  • NetApp Volumes
  • All resource-based CUDs

As new CUDs launch, check back to understand their eligibility for these changes.

How can you opt in?

You can opt in to your billing account starting July 15, 2025 using the Billing Console UI. You can't purchase new spend-based commitments for a few hours during your migration. Google Cloud displays a warning about this outage in the Billing UI. For more details about resellers and customers with billing account hierarchies, see Do other CUDs change?.

Frequently Asked Questions (FAQ)s

This section answers many of the frequently asked questions about this CUDs expansion.

Will your costs change?

No. The change in the billing model doesn't increase your total costs. Your contractual discounts are honored for the duration of your contract. Your total costs won't increase. However, you will notice changes in the way that Google Cloud represents your CUD savings. You will also notice changes in the data structure in the BigQuery export. You will also notice changes in the presentation of information in the Billing Console UI. The goal of the change is to simplify billing, make CUDs easier to understand, and expand their scope over time.

Additionally, the cost of your commitments won't change. However you will notice that your total commitment amount will change from commitment amount in on-demand spend to comment amount in CUD discounted spend and will equal your hourly commitment costs at the time of conversion.

Does this change previous bills?

No. This change doesn't affect previous bills. This change in how spend-based CUDs are billed only affects future bills.

Do resource-based CUDs change?

No. Resource-based CUDs aren't affected by this change.

Will this change affect CUD purchasing?

You used to purchase an hourly commitment in terms of equivalent on-demand spend. This amount represented the equivalent of on-demand costs that you would have incurred without the CUD. You now purchase an hourly commitment amount in terms of equivalent CUD discounted spend. This amount represents the total amount of CUD discounted spend that you commit to each hour.

Determine when other spend-based CUDs change

Google Cloud moves all CUDs to this new model. Timelines for other spend-based CUDs are unavailable.

When changes take effect for resellers

  • Resellers that don't have active spend-based CUDs in this list on or after July 15, 2024: For reseller parent billing accounts that have no active spend-based CUDs in this list since July 15, 2024, the new model applies on July 15, 2025, at 12 AM US and Canadian Pacific Time (UTC-8). This applies to all billing accounts in the hierarchy.
  • Resellers with active spend-based CUDs in this list since July 15, 2024: For reseller parent billing accounts with any active spend-based CUDs in this list since July 15, 2024, the new model applies on January 21, 2026, at 12 AM US and Canadian Pacific Time (UTC-8). Resellers can opt in their parent billing account earlier, starting July 15, 2025. In that case, the new model applies when you click opt-in to all billing accounts in the hierarchy that don't have spend-based CUDs in this list since July 15, 2024. For the remaining billing accounts, billing account administrators can then opt in their billing accounts. Learn more about how to opt in

When changes take effect for direct customers with a two-tier billing account hierarchy

  • Customers that don't have active spend-based CUDs in this list on or after July 15, 2024: For billing account hierarchies with no active spend-based CUDs in this list since July 15, 2024, the new model applies on July 15, 2025, at 12 AM US and Canadian Pacific Time (UTC-8) to all billing accounts in the hierarchy.
  • Customers with active spend-based CUDs in this list since July 15, 2024: For billing account hierarchies with any active spend-based CUDs in this list on or after July 15, 2024, the new model applies on January 21, 2026, at 12 AM US and Canadian Pacific Time (UTC-8). You can opt in your entire hierarchy (at the parent billing account) earlier, starting July 15, 2025. In that case, the new model applies when you click opt-in to all billing accounts in the hierarchy. Learn more about how to opt in

Additional information

Starting in April, 2025, Google Cloud provides a sample data export. This export helps you preview your monthly bill in the new format. It also includes information on new SKUs added to CUDs and pricing adjustments. You can use this export to validate that your queries function correctly in the new data model.

This also helps ensure that the change doesn't affect your costs. You enable this sample export from the Billing Exports page. Google Cloud shares more information about this in April, including additional queries for other key CUD KPIs. Details of the new CUD Fee SKU IDs, offer names, consumpticron model IDs, and other product-related information are also available.