# Supported metrics

A complete list of metrics available through the Metrics API.

This page lists every metric available through the [Metrics API](https://docs.stripe.com/data/metrics.md).

The following details apply to every metric below unless noted otherwise:

- **Granularity**: `day`, `week`, `month`, and `year` are all supported.
- **Freshness**: Results are typically updated within 1 hour of the underlying activity.
- **Currency conversion**: Monetary values are converted to the `currency` you specify (or to your account’s default currency).
- **Time zone**: Results are aligned to the time zone you specify (or to your account’s default timezone).

## Summary 

| Common name | Namespace | What it measures |
| --- | --- | --- |
| [revenue.mrr](https://docs.stripe.com/data/metrics/supported-metrics.md#revenue-mrr) | `revenue` | Monthly recurring revenue from active and past-due subscriptions. |
| [revenue.arr](https://docs.stripe.com/data/metrics/supported-metrics.md#revenue-arr) | `revenue` | Annual recurring revenue from active and past-due subscriptions. |
| [revenue_growth.mrr](https://docs.stripe.com/data/metrics/supported-metrics.md#revenue-growth-mrr) | `revenue_growth` | Net change in MRR over time, broken down by `change_type`. |
| [revenue_growth.arr](https://docs.stripe.com/data/metrics/supported-metrics.md#revenue-growth-arr) | `revenue_growth` | Net change in ARR over time, broken down by `change_type`. |
| [revenue_growth_rate.mrr](https://docs.stripe.com/data/metrics/supported-metrics.md#revenue-growth-rate-mrr) | `revenue_growth_rate` | 30-day rolling MRR growth rate, expressed in basis points. |
| [new_trials.count](https://docs.stripe.com/data/metrics/supported-metrics.md#new-trials-count) | `new_trials` | Subscription-level and item-level trials started during the period. |
| [active_trials.count](https://docs.stripe.com/data/metrics/supported-metrics.md#active-trials-count) | `active_trials` | Subscription-level and item-level trials active at the end of the period. |
| [converted_trials.count](https://docs.stripe.com/data/metrics/supported-metrics.md#converted-trials-count) | `converted_trials` | Subscription-level and item-level trials converted during the period. |
| [trial_conversion.rate](https://docs.stripe.com/data/metrics/supported-metrics.md#trial-conversion-rate) | `trial_conversion` | 30-day rolling trial conversion rate, expressed in basis points. |
| [usage_based_billing.gross_usage_revenue](https://docs.stripe.com/data/metrics/supported-metrics.md#usage-based-billing-gross-usage-revenue) | `usage_based_billing` | Gross usage revenue across all meters, excluding taxes and discounts. |
| [metered_usage.total_aggregate_usage](https://docs.stripe.com/data/metrics/supported-metrics.md#metered-usage-total-aggregate-usage) | `metered_usage` | Aggregate usage totals per meter and customer. |
| [connect_connections.new_connection_count](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-connections-new-connection-count) | `connect_connections` | New connected account connections in a period. |
| [connect_connections.disconnection_count](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-connections-disconnection-count) | `connect_connections` | Connected account disconnections in a period. |
| [connect_connections.net_connection_delta](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-connections-net-connection-delta) | `connect_connections` | Net change in connected account connections (new connections minus disconnections) in a period. |
| [connect_connections.active_connection_count](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-connections-active-connection-count) | `connect_connections` | All-time closing balance of active connected account connections on UTC event days. |
| [payments.payment_volume](https://docs.stripe.com/data/metrics/supported-metrics.md#payments-payment-volume) | `payments` | Succeeded payment intent volume, or attributed line-item volume for product or price queries. |
| [payments.average_order_value](https://docs.stripe.com/data/metrics/supported-metrics.md#payments-average-order-value) | `payments` | Average succeeded payment amount, or average line-item amount for product or price queries. |
| [checkout_sessions.initiated_count](https://docs.stripe.com/data/metrics/supported-metrics.md#checkout-sessions-initiated-count) | `checkout_sessions` | Checkout sessions whose payment page was initialized. |
| [checkout_sessions.confirmed_count](https://docs.stripe.com/data/metrics/supported-metrics.md#checkout-sessions-confirmed-count) | `checkout_sessions` | Checkout sessions where the buyer confirmed payment on the page. |
| [checkout_sessions.succeeded_count](https://docs.stripe.com/data/metrics/supported-metrics.md#checkout-sessions-succeeded-count) | `checkout_sessions` | Checkout sessions that completed successfully. |
| [checkout_sessions.conversion_rate](https://docs.stripe.com/data/metrics/supported-metrics.md#checkout-sessions-conversion-rate) | `checkout_sessions` | Succeeded session count divided by initiated session count for each aggregate bucket, in basis points. |
| [connect_revenue.revenue](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-revenue-revenue) | `connect_revenue` | Platform revenue earned from Stripe Connect activity. |
| [connect_margin.margin](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-margin-margin) | `connect_margin` | Platform net margin (revenue minus costs) from Stripe Connect activity. |
| [connect_volume.payment_volume](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-volume-payment-volume) | `connect_volume` | Gross Connect pay-in volume. |
| [connect_take_rate.take_rate](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-take-rate-take-rate) | `connect_take_rate` | Platform take rate for payments, expressed in basis points. |
| [connect_support_cases.count](https://docs.stripe.com/data/metrics/supported-metrics.md#connect-support-cases-count) | `connect_support_cases` | Support cases created by connected accounts, excluding cases created by platforms on their behalf. Requires separate preview access. |

## payments.payment_volume 

Without product or price grouping or filtering, the volume of succeeded PaymentIntents. Grouping or filtering by `product_id` or `price_id` instead returns attributed line-item volume: quantity times unit price before discounts, without restricting to succeeded payments.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VPQxIMYW50CihRS5` |
| Sandbox ID | `metric_test_61VPQxIR3ddATYklU5` |
| Namespace | `payments` |
| Unit | Minor units of your account’s default currency (for example, cents for USD). The `currency` field on results is `null` despite this being a monetary metric. |
| Dimensions | `integration`, `presentment_currency`, `payment_category`, `country`, `payment_surface`, `amount_bucket`, `device_type`, `product_id`, `price_id` |
| Constraints | `presentment_currency` breaks down the payment’s currency, not the output currency. The request’s `currency` parameter isn’t supported. Grouping or filtering by `product_id` or `price_id` changes the result to pre-discount line-item volume. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

### Filter by product without grouping

For example, the following live-mode request uses a placeholder Product ID, `prod_example`. The `filters` field alone switches the source to line-item grain, even without `group_by`. For `payments.payment_volume`, this returns attributed pre-discount line-item volume rather than succeeded PaymentIntent volume. For `payments.average_order_value`, it returns average line-item amount rather than average succeeded payment amount. The Checkout counts and conversion rate likewise use matching line items rather than unique sessions when filtered by product or price.

```json
{
  "metrics": [{ "name": "payments.payment_volume" }],
  "starts_at": "2026-09-01T00:00:00Z",
  "ends_at": "2026-09-08T00:00:00Z",
  "granularity": "day",
  "timezone": "UTC",
  "filters": { "product_id": ["prod_example"] }
}
```

## payments.average_order_value 

Without product or price grouping or filtering, the average amount of succeeded payments. Grouping or filtering by `product_id` or `price_id` instead returns average line-item amount (quantity times unit price before discounts), not average order amount or a quantity-weighted average unit price.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VPQxg8VCE0kAOHB5` |
| Sandbox ID | `metric_test_61VPQxgVdtKP0wPHO5` |
| Namespace | `payments` |
| Unit | Minor units of your account’s default currency (for example, cents for USD). The `currency` field on results is `null` despite this being a monetary metric. |
| Dimensions | `integration`, `presentment_currency`, `payment_category`, `country`, `payment_surface`, `amount_bucket`, `device_type`, `product_id`, `price_id` |
| Constraints | `presentment_currency` breaks down the payment’s currency, not the output currency. The request’s `currency` parameter isn’t supported. Grouping or filtering by `product_id` or `price_id` changes the result to average line-item amount. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

### Query payments by presentment currency

This request queries both payments metrics in the same `payments` namespace. It groups by the currency presented to the buyer, while the values remain in your account’s default currency. Omit the `currency` request parameter, the request fails otherwise.

```curl
curl -X POST https://api.stripe.com/v2/data/analytics/metric_query \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-10-28.preview" \
  --json '{
    "metrics": [
        {
            "name": "payments.payment_volume"
        },
        {
            "name": "payments.average_order_value"
        }
    ],
    "starts_at": "2026-09-01T00:00:00Z",
    "ends_at": "2026-09-08T00:00:00Z",
    "granularity": "day",
    "timezone": "UTC",
    "group_by": [
        "presentment_currency"
    ]
  }'
```

## checkout_sessions.initiated_count 

Number of Checkout Sessions whose payment page was initialized. Without product or price grouping or filtering, each Checkout Session counts once per returned bucket. Grouping or filtering by `product_id` or `price_id` counts each matching line item separately, even if multiple line items belong to the same session.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VSOHDNOtrc4xCXE5` |
| Sandbox ID | `metric_test_61VSOHDSrGpr8mRQb5` |
| Namespace | `checkout_sessions` |
| Unit | Number of Checkout Sessions without product or price dimensions; number of matching line items with them. The `currency` field on results is `null`. |
| Dimensions | `integration`, `payment_category`, `country`, `payment_surface`, `device_type`, `amount_bucket`, `product_id`, `price_id` |
| Constraints | Grouping or filtering by `product_id` or `price_id` changes the count to line-item grain. Don’t sum product or price counts to get a unique-session total. Does not support the `currency` request parameter. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

## checkout_sessions.confirmed_count 

Number of Checkout Sessions where the buyer confirmed payment on the payment page. Without product or price grouping or filtering, each Checkout Session counts once per returned bucket. Grouping or filtering by `product_id` or `price_id` counts each matching line item separately, even if multiple line items belong to the same session.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VSOHLCGwKdFNX2F5` |
| Sandbox ID | `metric_test_61VSOHLNNMHdwY1J25` |
| Namespace | `checkout_sessions` |
| Unit | Number of Checkout Sessions without product or price dimensions; number of matching line items with them. The `currency` field on results is `null`. |
| Dimensions | `integration`, `payment_category`, `country`, `payment_surface`, `device_type`, `amount_bucket`, `product_id`, `price_id` |
| Constraints | Grouping or filtering by `product_id` or `price_id` changes the count to line-item grain. Don’t sum product or price counts to get a unique-session total. Does not support the `currency` request parameter. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

## checkout_sessions.succeeded_count 

Number of Checkout Sessions that completed successfully. Without product or price grouping or filtering, each Checkout Session counts once per returned bucket. Grouping or filtering by `product_id` or `price_id` counts each matching line item separately, even if multiple line items belong to the same session.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VSOHTJKIdu3SOsI5` |
| Sandbox ID | `metric_test_61VSOHTNM9p7fTr9E5` |
| Namespace | `checkout_sessions` |
| Unit | Number of Checkout Sessions without product or price dimensions; number of matching line items with them. The `currency` field on results is `null`. |
| Dimensions | `integration`, `payment_category`, `country`, `payment_surface`, `device_type`, `amount_bucket`, `product_id`, `price_id` |
| Constraints | Grouping or filtering by `product_id` or `price_id` changes the count to line-item grain. Don’t sum product or price counts to get a unique-session total. Does not support the `currency` request parameter. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

## checkout_sessions.conversion_rate 

Succeeded count divided by initiated count for each returned aggregate bucket, in basis points: `5000` means 50%. Without product or price grouping or filtering, the counts are unique-session-grain. Grouping or filtering by `product_id` or `price_id` instead computes the ratio from line-item-grain funnel counts, where a session can count once per matching line item. Don’t sum bucket rates or take their unweighted mean to calculate an overall conversion rate.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VSOHcI9KKjOL3bG5` |
| Sandbox ID | `metric_test_61VSOHcUARCZBDu6K5` |
| Namespace | `checkout_sessions` |
| Unit | Basis points (1 percent = 100 basis points). The `currency` field on results is `null`. |
| Dimensions | `integration`, `payment_category`, `country`, `payment_surface`, `device_type`, `amount_bucket`, `product_id`, `price_id` |
| Constraints | Grouping or filtering by `product_id` or `price_id` changes the underlying counts to line-item grain. Don’t aggregate product or price buckets into a unique-session funnel. Does not support the `currency` request parameter. Supports `day`, `week`, `month`, or `year` granularity. Refreshed daily. |

### Query the Checkout funnel by device

This request queries all four metrics in the same `checkout_sessions` namespace. Each returned device and time bucket has its own conversion rate. Don’t add or take an unweighted mean of those rates.

```curl
curl -X POST https://api.stripe.com/v2/data/analytics/metric_query \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-10-28.preview" \
  --json '{
    "metrics": [
        {
            "name": "checkout_sessions.initiated_count"
        },
        {
            "name": "checkout_sessions.confirmed_count"
        },
        {
            "name": "checkout_sessions.succeeded_count"
        },
        {
            "name": "checkout_sessions.conversion_rate"
        }
    ],
    "starts_at": "2026-09-01T00:00:00Z",
    "ends_at": "2026-09-08T00:00:00Z",
    "granularity": "day",
    "timezone": "UTC",
    "group_by": [
        "device_type"
    ]
  }'
```

## revenue.mrr 

Monthly recurring revenue (MRR) from all active and past-due subscriptions.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYCfg0c4d6wCgE05` |
| Sandbox ID | `metric_test_61UYCfgFqfg8KWGdo5` |
| Namespace | `revenue` |
| Unit | Minor units of `currency` (for example, cents for USD) |
| Dimensions | `price`, `product`, `customer`, `subscription` |

## revenue.arr 

Annual recurring revenue (ARR) from all active and past-due subscriptions.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYCgWhAExXw5Im65` |
| Sandbox ID | `metric_test_61UYCgW3o5Vro8w1q5` |
| Namespace | `revenue` |
| Unit | Minor units of `currency` (for example, cents for USD) |
| Dimensions | `price`, `product`, `customer`, `subscription` |

## revenue_growth.mrr 

Net change in MRR over time, broken down by change type: new, reactivation, expansion, contraction, churn, and FX adjustment. Filter on `change_type` to isolate specific components.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYCgg29rvcx97dr5` |
| Sandbox ID | `metric_test_61UYCgg07FN065QHA5` |
| Namespace | `revenue_growth` |
| Unit | Minor units of `currency` (for example, cents for USD) |
| Dimensions | `change_type` |

## revenue_growth.arr 

Net change in ARR over time, broken down by change type: new, reactivation, expansion, contraction, churn, and FX adjustment. Filter on `change_type` to isolate specific components.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYCgq54uoObgYFC5` |
| Sandbox ID | `metric_test_61UYCgqZbqDuBRmEX5` |
| Namespace | `revenue_growth` |
| Unit | Minor units of `currency` (for example, cents for USD) |
| Dimensions | `change_type` |

## revenue_growth_rate.mrr 

30-day rolling MRR growth rate, computed as `((MRR_today / MRR_30_days_ago) - 1) × 10,000` (so 5% growth is returned as `500`). Returns 0 when prior-period MRR is zero.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYCh0pUXR6JZulP5` |
| Sandbox ID | `metric_test_61UYCh098vd7Wwwoe5` |
| Namespace | `revenue_growth_rate` |
| Unit | Basis points (1 percent = 100 basis points). The `currency` field on results is `null` because this is a percentage, not a monetary value. |
| Dimensions | `price`, `product`, `customer` |

## new_trials.count 

Number of subscription-level and item-level trials started during the period.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VQY4rHa5tcmBdnp5` |
| Sandbox ID | `metric_test_61VQY4rVVFtWwE4gR5` |
| Namespace | `new_trials` |
| Unit | Number of trials started. The `currency` field on results is `null`. |
| Dimensions | No supported dimensions. |

## active_trials.count 

Number of subscription-level and item-level trials active at the end of the period.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VQsQ30IGkZqmbXv5` |
| Sandbox ID | `metric_test_61VQsQ32RebJK5Axf5` |
| Namespace | `active_trials` |
| Unit | Number of active trials. The `currency` field on results is `null`. |
| Dimensions | No supported dimensions. |

## converted_trials.count 

Number of subscription-level and item-level trials converted during the period.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VQuGOfUsrhzd84W5` |
| Sandbox ID | `metric_test_61VQuGOFDvnLPl9FD5` |
| Namespace | `converted_trials` |
| Unit | Number of converted trials. The `currency` field on results is `null`. |
| Dimensions | No supported dimensions. |

## trial_conversion.rate 

30-day rolling percentage of subscription-level and item-level trials converted out of trials that ended.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VQuSeIQNAuwamT05` |
| Sandbox ID | `metric_test_61VQuSejiD51bcZqZ5` |
| Namespace | `trial_conversion` |
| Unit | Basis points (1 percent = 100 basis points). The `currency` field on results is `null` because this is a percentage, not a monetary value. |
| Dimensions | No supported dimensions. |

## usage_based_billing.gross_usage_revenue 

Gross monetary revenue generated from usage events across all meters during a given time period, excluding taxes and discounts.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYChCzdsDwmJDRi5` |
| Sandbox ID | `metric_test_61UYChCcFUOh6ieln5` |
| Namespace | `usage_based_billing` |
| Unit | Minor units of `currency` (for example, cents for USD) |
| Dimensions | `price`, `product`, `customer`, `meter` |
| Constraints | Meters with the `LAST` or `MAX` aggregation formula aren’t supported. Data is available starting 2025-04-02. |

## metered_usage.total_aggregate_usage 

Aggregate usage totals per meter and customer, computed using each meter’s aggregation formula (for example, `SUM` or `COUNT`).

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61UYChMzN9s7jD5Nj5` |
| Sandbox ID | `metric_test_61UYChMHjW6SV6wcS5` |
| Namespace | `metered_usage` |
| Unit | Determined by the meter’s aggregation formula (counts or summed amounts in the meter’s units). The `currency` field on results is `null`. |
| Dimensions | `meter`, `customer` |
| Constraints | Meters with the `LAST` or `MAX` aggregation formula aren’t currently supported. |

## connect_connections.new_connection_count 

Number of new connections established between your platform and connected accounts over the requested period. Related metrics include `connect_connections.disconnection_count` for disconnected accounts and `connect_connections.net_connection_delta` for new connections minus disconnections.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VO0vxnFoYf7Mg5g5` |
| Sandbox ID | `metric_test_61VO0vxK3lPF4SeXR5` |
| Namespace | `connect_connections` |
| Unit | Number of connected account connections. The `currency` field on results is `null`. |
| Dimensions | `connected_account_country`, `account_configuration`, `capability_status` |

## connect_connections.disconnection_count 

Number of connected account disconnections over the requested period. Related metrics include `connect_connections.new_connection_count` for new connections and `connect_connections.net_connection_delta` for new connections minus disconnections.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VO0w47zcyaMeEWw5` |
| Sandbox ID | `metric_test_61VO0w4JnclXHnaQe5` |
| Namespace | `connect_connections` |
| Unit | Number of connected account disconnections. The `currency` field on results is `null`. |
| Dimensions | `connected_account_country`, `account_configuration`, `capability_status` |

## connect_connections.net_connection_delta 

Net change in active connected account connections over the requested period, computed as new connections minus disconnections.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VO0wCWq9f73O3fT5` |
| Sandbox ID | `metric_test_61VO0wCuMG9j1Ji2S5` |
| Namespace | `connect_connections` |
| Unit | Net number of connected account connections. The `currency` field on results is `null`. |
| Dimensions | `connected_account_country`, `account_configuration`, `capability_status` |

## connect_connections.active_connection_count 

This metric reports the platform-wide closing balance of active connected account connections for each UTC event day. It isn’t a period count, so don’t add values across dates.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VfgCfiRdqInvF9a5` |
| Sandbox ID | `metric_test_61VfgCf9WtRdWnTme5` |
| Namespace | `connect_connections` |
| Unit | Number of active connected account connections. The `currency` field on results is `null`. |
| Dimensions | None. Filters and `group_by` aren’t supported. |
| Freshness | Uses a daily rollup and updates daily rather than hourly. |
| Query requirements | Use `day` granularity, the `UTC` timezone, and complete UTC days: `starts_at` at `00:00:00Z` and `ends_at` at `23:59:59Z` (inclusive). Query this metric on its own. |

The balance includes connection history from before `starts_at`. A balance is available only for days with connection events. For days without events, the API returns zero instead of carrying forward the previous balance. A zero doesn’t mean that the platform has no active connections.

For example, use the following request for January 2026:

```json
{
  "metrics": [{"name": "connect_connections.active_connection_count"}],
  "starts_at": "2026-01-01T00:00:00Z",
  "ends_at": "2026-01-31T23:59:59Z",
  "granularity": "day",
  "timezone": "UTC"
}
```

## connect_revenue.revenue 

Platform revenue earned from the payments activity of your connected accounts.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VCm94osfoFqZcoL5` |
| Sandbox ID | `metric_test_61VCm944Sh2Uxix9j5` |
| Namespace | `connect_revenue` |
| Unit | Minor units of your platform’s default currency (for example, cents for USD). The `currency` field on results contains your platform’s default currency. After you change your default currency, amounts can take up to 24 hours to reflect the new currency. |
| Dimensions | `connected_account`, `connected_account_country`, `payment_method`, `product_category`, `platform_currency` |

## connect_margin.margin 

Platform net margin from connected account payments activity, calculated as the platform revenue minus platform costs. Related cost-component metrics (`stripe_fees`, `network_costs`, `refunds`, `disputes`, `application_fees`, `application_fee_refunds`, `account_debits`) are also available under the `connect_margin` namespace.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VCm88p4L0twgRpy5` |
| Sandbox ID | `metric_test_61VCm88gVnWoMljqO5` |
| Namespace | `connect_margin` |
| Unit | Minor units of your platform’s default currency (for example, cents for USD). The `currency` field on results contains your platform’s default currency. After you change your default currency, amounts can take up to 24 hours to reflect the new currency. |
| Dimensions | `connected_account`, `connected_account_country`, `payment_method`, `product_category`, `platform_currency` |

## connect_volume.payment_volume 

Gross Connect pay-in volume. The related `connect_volume.payment_count` metric returns the number of successful pay-in transactions.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VCm9BZxyRIpzAKQ5` |
| Sandbox ID | `metric_test_61VCm9BcyMuVazunw5` |
| Namespace | `connect_volume` |
| Unit | Minor units of your platform’s default currency (for example, cents for USD). The `currency` field on results contains your platform’s default currency. After you change your default currency, amounts can take up to 24 hours to reflect the new currency. |
| Dimensions | `connected_account`, `connected_account_country`, `payment_method`, `platform_currency` |

## connect_volume.transfer_volume 

Gross Connect transfer volume. The related `connect_volume.transfer_count` metric returns the number of successful transfers.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VFepxD4pTRD0tlN5` |
| Sandbox ID | `metric_test_61VFepxefEqftUFjF5` |
| Namespace | `connect_volume` |
| Unit | Minor units of your platform’s default currency (for example, cents for USD). The `currency` field on results contains your platform’s default currency. After you change your default currency, amounts can take up to 24 hours to reflect the new currency. |
| Dimensions | `connected_account_country`, `platform_currency` |

## connect_take_rate.take_rate 

Platform take rate for payments, calculated as the margin from payments divided by gross Connect pay-in volume. Returns 0 when volume is zero or null. Related metrics (`payments_margin`, `payment_volume`, `stripe_fees`, `network_costs`, `refunds`, `disputes`, `application_fees`, `application_fee_refunds`, `account_debits`) are also available under the `connect_take_rate` namespace.

| Detail | Value |
| --- | --- |
| Live mode ID | `metric_61VCm9P1Qn3GQXgoI5` |
| Sandbox ID | `metric_test_61VCm9PyIMtNGHggy5` |
| Namespace | `connect_take_rate` |
| Unit | Basis points (1 percent = 100 basis points). The `currency` field on results is `null` because this is a ratio, not a monetary value. |
| Dimensions | `connected_account`, `connected_account_country`, `payment_method` |

## Connect support cases count 

`connect_support_cases.count` returns the number of support cases created by connected accounts, grouped by case creation time. It excludes cases created by platforms on behalf of connected accounts. Response time, resolution time, and customer satisfaction (CSAT) dimensions describe count distributions, not averages.

This metric requires separate private preview enablement for your platform, in addition to Metrics API access. Your caller needs both analytics read access (`analytics_read`) and support case read access (`support_case_read`) on your platform. Results stay scoped to your platform and request mode; filtering by a connected account that’s connected to another platform doesn’t grant access to the other platform’s cases.

| Detail | Value |
| --- | --- |
| Common name | `connect_support_cases.count` |
| Live mode ID | `metric_61VR1epCUG31ECvvA5` |
| Sandbox ID | `metric_test_61VR1epA6ZjCB7PPL5` |
| Namespace | `connect_support_cases` |
| Unit | Integer number of cases. |
| Time | Case creation time, with `day`, `week`, `month`, or `year` granularity. Set the `timezone` parameter in the request body to select a time zone. If you omit this parameter, the API uses your platform’s default time zone. |
| Freshness | Refreshed daily. `refreshed_at` reports the source data watermark for successful queries; it isn’t the response creation time. |

### Dimensions

You can filter and group by every dimension in this table. Each filter accepts up to 10 values. `product` and `topic` are support classifications; `product` doesn’t refer to a Stripe Product ID.

| Dimension | Values or meaning |
| --- | --- |
| `connected_account` | Connected account ID. |
| `status` | `new`, `open`, `solved`, `closed`, or `invalid`. `invalid` represents an unexpected source status after normalization. |
| `product` | Support product classification string. |
| `topic` | Support topic classification string. |
| `channel` | `chat`, `request_a_call`, `email`, or `critical_issue`. |
| `resolution_time_bucket` | - `lt_1d`: less than 24 hours.
- `lt_3d`: at least 24 and less than 72 hours.
- `lt_7d`: at least 72 and less than 168 hours.
- `gte_7d`: at least 168 hours. |
| `first_response_time_bucket` | - `lt_12h`: less than 12 hours.
- `gte_12h`: at least 12 hours. |
| `csat_rating_bucket` | - `gte_4`: rating of 4 or higher.
- `eq_3`: rating of 3.
- `lte_2`: rating of 2 or lower. |

The total count includes cases without a response-time measurement, resolution-time measurement, or CSAT rating, but their corresponding source buckets are null. To query a distribution that excludes unmeasured cases, filter that dimension to its complete list of valid bucket values, as in the following example.

### Query behavior

Consider the following when querying connected account support cases:

- Queries always return time series; `all` and `quarter` aren’t supported granularities.
- Grouping can select the highest-count dimension values and combine remaining values into an `Other` bucket.
- The `limit` parameter caps the total number of returned rows across all time buckets and groups. For example, `limit: 5` doesn’t request the exact top-five account table shown in the Dashboard.
- Ungrouped queries without data return zero-valued time buckets.
- Grouped queries without groups return an empty result.
- Without grouping, you can filter on at most two dimensions. With grouping, you can filter the grouping dimensions and at most one additional dimension.
- All metrics in a request must share the `connect_support_cases` namespace.
- Omit the `currency` parameter from your request. This count metric doesn’t accept it and returns no currency value.

### Query a resolution-time distribution

The following example request returns daily counts for measured resolution-time buckets. Omit the filter to include cases without a resolution-time measurement in the population.

```curl
curl -X POST https://api.stripe.com/v2/data/analytics/metric_query \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-10-28.preview" \
  --json '{
    "metrics": [
        {
            "name": "connect_support_cases.count"
        }
    ],
    "starts_at": "2026-09-01T00:00:00Z",
    "ends_at": "2026-09-08T00:00:00Z",
    "granularity": "day",
    "timezone": "UTC",
    "filters": {
        "resolution_time_bucket": [
            "lt_1d",
            "lt_3d",
            "lt_7d",
            "gte_7d"
        ]
    },
    "group_by": [
        "resolution_time_bucket"
    ]
  }'
```

The common name works in either mode. If your integration stores the metric ID returned in a response, you can use that ID in subsequent requests in the same mode. To query by ID, replace the metric selector with `{ id: "metric_test_61VR1epA6ZjCB7PPL5" }` in a sandbox or `{ id: "metric_61VR1epCUG31ECvvA5" }` in live mode. Whether you use the common name or a mode-specific ID, each result identifies the metric with its mode-specific ID.
