---
title: "Get broadcast action metrics"
method: GET
path: "/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics"
tags: ["Broadcasts"]
---

# Get broadcast action metrics

`GET /v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics`

## Request

- Base URL: `https://api.customer.io`
- URL: `https://api.customer.io/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics`
- Auth: HTTP bearer

Returns a list of metrics for an individual action both in total and in `steps` (days, weeks, etc) over a period of time. Stepped `series` metrics return from oldest to newest (i.e. the 0-index for any result is the oldest step/period).

You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

**Multi-language messages**

If the action is a [multi-language](/messaging/channels/localization/getting-started/) message, you can retrieve metrics for a single language variant or all language variants. To retrieve metrics for a single language variant, pass the `id` of the action. To retrieve aggregate metrics and a breakdown for each language variant, pass the `multi_language_branch_action_id`, which is the same for each variant of a message. You can get both ids from the [List broadcast actions](/integrations/api/app/tag/broadcasts/broadcastActions/) endpoint.

If you pass the `multi_language_branch_action_id`, then the `metric` object shows the *total* across every variant. The `language_variants` object shows a breakdown for each language variant.

If you want to get the sum of all metrics across all of a broadcast's actions, you can use each action id of a multi-language message, like you would for other types of actions.

## Response `200`

Returns action metrics by `series` (with increments are based on the `period` and `step` in your request) for the broadcast. For a multi-language message, also returns a per-variant breakdown in `language_variants`.

- object
  - `metric` object
    - `series` PeriodMessageMetrics: Metrics grouped by the requested resolution. Each property is an array where each entry represents one period, such as one day.
      - `attempted` integer[]: The number of `attempted` messages.
      - `bounced` integer[]: The number of `bounced` messages.
      - `clicked` integer[]: The number of `clicked` messages.
      - `human_clicked` integer[]: The number of `clicked` emails excluding machine clicks. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).
      - `machine_clicked` integer[]: The number of `clicked` emails attributed to machines—security scanners, bot user agents, known proxy services, and repetitive click patterns. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).
      - `converted` integer[]: The number of `converted` messages.
      - `created` integer[]: The number of `created` messages.
      - `deferred` integer[]: The number of `deferred` messages.
      - `delivered` integer[]: The number of `delivered` messages.
      - `drafted` integer[]: The number of `drafted` messages.
      - `failed` integer[]: The number of `failed` messages.
      - `opened` integer[]: The number of `opened` messages.
      - `human_opened` integer[]: The number of `opened` emails excluding machine opens. This metric is reliable starting March 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).
      - `prefetch_opened` integer[]: The number of `opened` emails attributed to machines. This metric is reliable starting March 20, 2025.
      - `sent` integer[]: The number of sent messages.
      - `spammed` integer[]: The number of spam complaints.
      - `suppressed` integer[]: The number of `suppressed` messages.
      - `undeliverable` integer[]: The number of `undeliverable` messages.
      - `topic_unsubscribed` integer[]: The number of topic unsubscribes in a given period.
      - `unsubscribed` integer[]: The number of unsubscribes attributed to the automation or message.
      - `replied` integer[]: The number of SMS/MMS messages a person replied to with a keyword. [Learn more about inbound messages](/messaging/channels/sms/inbound/get-started/).
      - `untracked` integer[]: The number of `sent` emails whose open pixel we withheld because the person opted out of open tracking. We exclude these from the open-rate denominator; click tracking is unaffected.
      - `open_untracked` integer[]: The number of emails delivered with open tracking inactive for any reason—including the consent opt-outs that `untracked` counts and messages sent with open tracking disabled. We subtract these from the open-rate denominator.
      - `link_untracked` integer[]: The number of emails delivered with link tracking inactive for any reason. We subtract these from the click-rate denominator.
      - `tracking_consent_granted` integer[]: The number of people who granted consent to email open tracking in the period.
      - `tracking_consent_denied` integer[]: The number of people who denied consent to email open tracking in the period.
  - `language_variants` LanguageVariantMetrics: Metrics for each language variant of a multi-language message, keyed by the variant's action ID. Only returned when you request metrics for a multi-language branch action.

## Other responses

- `400`: The `broadcastID`, `actionID` or `triggerID` is invalid.
- `404`: The broadcast, action, and/or trigger do not exist.
- `429`: Your request is over the 10-per-second limit. `Retry-After` tells you how many seconds you must wait before you send the next request.

## Changes

- **2026-09-02** `5da2740beeb5`: 1 info
  - added the media type `application/json` for the response with the status `429`

[Operation history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/broadcasts/:broadcast_id/actions/:action_id/metrics/get.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) - [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/ac0b282053fe?raw)
