# Campaign and Broadcast Metrics

When you start a campaign or trigger a broadcast, it begins generating metrics on the overview page.

This page focuses on your Campaign Metrics, which provides a complete overview of the [journeyTypically, a person’s path through your campaign. If the campaign is triggered by a webhook, then a journey captures the webhook’s path, not a person’s.](/journeys/campaign-journeys/) and messageThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. metrics for a campaign, but Customer.io also presents you with metrics in a few different places:

*   The **Dashboard**, which shows aggregate metrics for all of your campaigns.
*   The **Analysis** page, where you can manipulate metrics and compare campaigns, newsletters, broadcasts, etc.
*   The Campaign **Workflow** tab, where you can see metrics for the individual actions in your campaign.

When you click a campaign, you land on the *Overview* page, which contains high-level metrics and configuration details that can help you understand how your campaign has performed overall. The *Metrics* page contains more specific information about how people progressed through your campaign, and how the individual messages in your campaign performed-were people clicking links in them, or did they convert?

## How we calculate metrics[](#metrics-creation-date)

A **journey** is the instance of a campaign that a person experiences. A **message** is an individual message in the campaign. So, a person who receives a message might be *in progress* in their campaign journey, but have *opened* or *clicked* a message in that campaign. Their interaction with the message is done, but they’re still working their way through the journey.

**Metrics do not report actions on the date they occur.** Instead, metrics are reported against the date a [journeyTypically, a person’s path through your campaign. If the campaign is triggered by a webhook, then a journey captures the webhook’s path, not a person’s.](/journeys/campaign-journeys/) or a messageThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. is created.

It may be helpful to think of metrics as an answer to the question: *of messages and/or [journeysTypically, a person’s path through your campaign. If the campaign is triggered by a webhook, then a journey captures the webhook’s path, not a person’s.](/journeys/campaign-journeys/) created on a particular date, how many achieved a particular status?*. This also means that corresponding metrics for journeys and messages may report on different dates because journeys can take a while and messages are more immediate.

For example, imagine that you have a campaign that sends messages over a five day period. A person enters the campaign on January 1st; they open and convert based on the last message—sent and received on January 6th. The *converted* metric for this journey is reported on the 1st—because the journey, created on the 1st, has converted. The *converted* metric for the message is reported on January 6th, because the message was created on the 6th.

## Dates and frequency of metrics[](#date-and-frequency)

The date-picker determines the period of time over which we show charts and metrics. By default, we show metrics for the past 30 days on a daily basis, but you can change the scope of metrics to show how your campaign has performed over a longer or shorter period. If you set a long enough period, you can also set the metric frequency to weeks or months rather than days.

Use the date picker to select the specific dates you want to see metrics for.

Select *Daily* or *Weekly* to set the frequency for metric calculations—the X-axis in charts, the number of messages calculated in performance metrics, etc.

[![date picker for metrics](https://docs.customer.io/images/metrics-datepicker.png)](#7445773def19b7a613755cd1e773c635-lightbox)

## Campaign Overview[](#campaign-overview)

The *Overview* tab shows metrics about messages in your campaign, to help you understand if your messages reach their audience and if they’re having the desired affect on your audience.

You can pick the channelsA messaging channel—email, SMS, etc. Each channel has its own delivery provider(s) and settings in your workspace. you want to see metrics for on this page, if you only want to see metrics for some of the messages in your campaign.

The page also shows your campaign **Details**, to remind you how people trigger your campaign and your campaign goal. Click **Edit** to change any of your campaign settings.

[![campaign overview charts](https://docs.customer.io/images/campaign-overview-may-2025.png)](#6ada49efc60518a752bea70075714d3e-lightbox)

### Sent, opened, clicked, and converted charts[](#top-charts)

These charts reflect message metrics for the channelsA messaging channel—email, SMS, etc. Each channel has its own delivery provider(s) and settings in your workspace. you selected; active channels appear in the upper right of each chart.

Outside of the *Sent* and *Delivered* metrics themselves, we try to calculate metrics based on the number of messages we can confirm were *Delivered*, where possible.

*Delivered* represents messages that verifiably reached a person, where *sent* represents messages that left Customer.io, but we may not have information from the delivery provider to verify that the message actually reached a person.

**Sent** reflects the total number of messages sent from your workspace in the time frame you selected.

**Opened** shows the percentage of messages that your audience opened, out of the total number of messages delivered or sent, if you did not disable open tracking at the workspace level. We calculate opened messages based on messages delivered where possible. Hover over the chart to view [*Opened* vs *Human opened* metrics](#message-metrics).

**Clicked** shows the percentage of messages that your audience clicked, out of the total number of messages delivered or sent. Hover over the chart to view [*Clicked* vs *Human clicked* metrics](#message-metrics).

**Converted** reflects the percentage of messages that resulted in a *conversion*, if your campaign has conversion criteria. We recommend using conversions to determine the effectiveness of your campaigns: are your campaigns having their desired result? Are people making purchases, joining your service, etc based on the messages you send?

#### Empty Charts[](#empty-charts)

Some of the charts in your campaign overview may be empty at times. If a chart is empty, it might mean that we don’t have data for the time period you selected, but there are also other reasons that we might not have data to populate your charts.

*   The *Opened* chart might be empty if you [disabled open tracking](/journeys/workspaces/#disable-open-tracking) at the workspace level, and your campaign only includes emails.
*   The *Clicked* chart might be empty if you didn’t include any tracked links in your messages.
*   The *Converted* chart is empty if your campaign doesn’t have conversion criteria.

### Message Leaderboard[](#message-leaderboard)

The leaderboard shows how your messages performed in terms of sends, opens, clicks, or conversions. Click the tabs to see how your campaign’s messages perform across the different metrics.

The leaderboard shows the number of channels you send messages to in your campaign.

Click or to change the sort order for the leaderboard.

[![message leaderboard chart](https://docs.customer.io/images/message-leaderboard.png)](#88c0de9098ac52f74e406a67d1b9ebdd-lightbox)

### Active Tests[](#active-tests)

If your campaign included A/B tests, the *Active Tests* card shows the metric splits for each test-how each message in the test performed. The winner for each metric in a test is marked with a .

Determining the winner in an A/B test helps you learn about the tactics your audience appreciates, so you can format your future messages to improve message performance and maintain a relationship with your audience.

## Metrics[](#metrics)

The *Metrics* tab shows more in-depth stats about your campaign. This tab can help you better understand how your campaign, and specific messages in your campaign, have performed over a specific time frame.

At the top of the *Metrics* tab, you can select whether you want to see a metrics by *Percentage* or in raw *Count* totals.

### Analyze metrics with the agent[](#analyze-metrics-with-the-agent)

In the *Metrics* tab, click **Analyze** to open the [agent](/ai/agent/get-started/) and ask questions about the metrics. For instance, you could ask “What’s the click-to-open rate for this broadcast?” or “Of my onboarding and welcome campaigns, which had the lowest deliverability this month?”

### Copy Links to Metrics[](#link-to-metrics)

Charts the *Metrics* tab have icons. Click this icon to copy a link to your chart, exactly as you have it configured, and share it with someone else.

When you change chart settings, we add query parameters to the URL in your browser. These parameters represent your settings on the metrics page, so that you can bookmark or share your insights with other members of your organization. These links help you and your team learn how your messages perform, so you can improve communications to better support your audience.

### Delivery Metrics[](#performance-and-delivery)

This chart shows how your messages in each channelA messaging channel—email, SMS, etc. Each channel has its own delivery provider(s) and settings in your workspace. perform, in terms of the metrics each channel generates-sent, delivered, clicked, converted, etc. If you’re on the Journey Metrics chart, click **Delivery Metrics** to see this chart.

[![performance and delivery chart](https://docs.customer.io/images/performance-and-delivery-chart.png)](#00d9a59e202564a5860c7d763f3925ec-lightbox)

By default, the chart shows **Aggregate** metrics for all messages in the channel. Change this to **Individual** to compare messages in the same channel-e.g. compare emails in the campaign. When you switch to individual metrics, you can select the metric you want to compare.

In the top right of the chart, you can change the channel of messages you want to see Performance and Delivery metrics for.

Click any metric to turn it off or on in the chart.

Sent

Your message was successfully sent from Customer.io to the delivery provider. It is their responsibility to ensure the message is properly *delivered*, and we’re waiting for further information to determine if the user interacted with it.

Delivered

Delivered means that we’ve received confirmation from the delivery provider that a message was delivered to the recipient’s email service provider (ESP).

Opened

For **email**, we count an open when the recipient’s email client loads an invisible image (tracking pixel) or when the recipient clicks one of the links in the email. If a customer has images disabled in their email client and an open is tracked based on a click event, the “Opened Email” and the “Clicked Email” events will show as having occurred at the same time.

Email open metrics can be misleadingly high or low due to email client behavior. Use email opened metrics to track trends over time and investigate potential inbox placement issues.

For **in-app-messages**, the opened metric means the message has been delivered and displayed to a person.

For **push notifications**, our SDKs automatically track when they’re opened. If you don’t use our SDKs, you need to send us events to [track push notification opens](/journeys/push-developer-guide).

Human opened

This metric is available for *emails* opened since March 20, 2025. Compared to the `opened` metric, the `human opened` metric excludes emails opened by Apple’s Mail Privacy Protection, Gmail’s prefetching of images, user agents identified as bots, and known scanners—based on the MX hosts from the recipients’ email domains, within a few seconds of delivery.

Machine opened

This metric is available for *emails* opened since March 20, 2025. This metric includes opens by Apple’s Mail Privacy Protection, Gmail’s prefetching of images, and user agents identified as bots. It also captures opens identified as known scanners, based on the MX hosts from the recipients’ email domains, within a few seconds of delivery. In the UI, this metric is calculated as the difference between Opened and Human Opened to ensure Opened reflects the total.

Clicked

The user clicked on any link in a message where link tracking was enabled. We also track [clicks on individual links](/link-tracking).

Human clicked

This metric is available for tracked links in *emails* since April 20, 2025. Compared to the `clicked` metric, the `human clicked` metric excludes clicks from automated security scanners, bot user agents, known proxy services, and repetitive click patterns identified by our proprietary algorithm as non-human interactions.

Machine clicked

This metric is available for tracked links in *emails* since April 20, 2025. This metric includes clicks from automated security scanners, bot user agents, known proxy services, and repetitive click patterns identified by our proprietary algorithm as non-human interactions. In the UI, this metric is calculated as the difference between Clicked and Human Clicked to ensure Clicked reflects the total.

Click-to-open

This measures the rate at which people click tracked links in messages that they open, and is calculated by dividing Clicked metrics by Opened metrics.

Converted

A delivered message is marked as converted when a person achieves your campaign’s goal within the conversion criteria window. The message must have been sent, opened, or had a tracked link clicked within a specified time period. [Learn more about goals and conversion timing](/journeys/campaign-conversions/#conversion-timing).

Unsubscribed

A message is counted as unsubscribed when a user unsubscribes from all messages. You can [read more about how global unsubscribes work in Customer.io](/unsubscribes).

Unsubscribed from topics

*Unsubscribed from topics* counts each subscription topic that a user unsubscribed from through a delivered message. As such, you may see a percentage above 100; say you have 4 subscription topics and 5 messages are delivered to five users. Two users unsubscribe from 3 topics each (6 total). We would divide this by the number of delivered messages (5) to get 1.2 or 120% unsubscribed from topics. You can [read more about how our subscription center works in Customer.io](/journeys/subscription-center/#how-it-works).

Marked as spam

For emails, this means that the end-user marked the email as ‘Spam’ via their email service provider. All subsequent emails are then marked “suppressed.”

Failed

A failed message never made it to the delivery provider. We have [a separate article](/message-failed) to help you diagnose why your message never left Customer.io.

Bounced

For email, this means the user’s email address wasn’t valid. This could be a hard bounce (usually a permanent issue like a non-existent email address) or a soft bounce (a temporary issue like a full mail box). In the case of hard bounces for emails, subsequent messages to those addresses will be given the “suppressed” status.

Suppressed

A message is marked as suppressed if:

*   the email address we tried to send it to was previously a hard bounce (a permanent failure such as an invalid address), or
*   the end-user marked any previous email message as spam. In this case, all subsequent email messages after the “spam” mark will be marked as “suppressed”.

### Journey Metrics[](#journeys)

A journey is the instance of a campaign workflow experienced by an individual person. The *Journey Metrics* chart shows how many people have experienced different aspects of your campaign within a timeframe-how many people started a journey, received a message, etc.

If you’re on the Delivery Metrics chart, click **Journey Metrics** to see this chart.

[![journey metrics chart](https://docs.customer.io/images/journeys-chart.png)](#57dd73114584c2f45b2fae40a2dc99f8-lightbox)

Remember that journey metrics are calculated against the day that a journey is created. The *Journeys* chart tells you, for all people who triggered a campaign journey on a particular day, how many are messaged, in-progress, converted, etc.?

A campaign trigger doesn’t necessarily represent someone who experienced your campaign. People can trigger a campaign, but be filtered out before they start the campaign (*Started*) or receive a message (*Messaged*).

Click the individual metrics to turn them on or off. The chart can show:

Triggered

People who matched the campaign trigger. People who trigger your campaign can be filtered out before they start it, representing a discrepancy between this metric and Started. You may want to compare this metric to Started to determine if the scope of your campaign is too wide or your filter is too narrow. You can only see this metric when you use the raw Count. In the Journey Metrics export, this metric is `started`.

Started

People who matched the campaign trigger, filter(s) and completed a non-delay action. Because you can potentially filter out people after they meet your campaign trigger, the Started metric effectively represents the total number of people eligible to experience your campaign. In the Journey Metrics export, this metric is `activated`.

Messaged

People who experienced a message action in your campaign—an email, SMS, push notification, webhook, or Slack message. This includes drafted messages.

In Progress

People who have Triggered your workflow, and are waiting in a delay in your workflow, but have not yet exited, converted, or been filtered out.

Completed

People who completed your campaign workflow by making their way to an exit action.

Filtered Out

People who matched your campaign trigger, but did not experience a journey/workflow. These are people who exited the campaign before experiencing a Started or Messaged state due to your campaign filters or other criteria during a delay action at the start of your campaign. In the Journey Metrics export, this metric is `never_activated`.

Exited Early

People who exited a campaign before completing an exit action. This may happen if a person stops matching the trigger and filter conditions while in a delay, their profile is deleted, or you manually remove them from a campaign.

Converted

People who matched the conversion criteria for the campaign. People are “converted” when they enter or exit a designated segment in response to, or within a set time of, a delivery. If your campaign does not have conversion criteria, this metric is empty.

 Journey metrics are scrollable

Depending on the height of your screen, you may not see all of the metrics listed above. The list scrolls, so you can find and turn each metric on or off-without taking up your whole screen.

#### See recent journeys[](#journeys-tab)

On any campaign, you can go to the **Journeys** tab to see people who have started your campaign. Click an entry in the table to see the actions that the person has completed and what’s next.

This list is organized by how recently people started a campaign, and can provide you a general sense of what happens when people start your campaign.

[![Find individual people's journeys on the Journeys tab](https://docs.customer.io/images/journeys-tab-campaign.png)](#908f3d5c2a59d98d916abec3043647e6-lightbox)

If you want to find a specific person’s [journeyTypically, a person’s path through your campaign. If the campaign is triggered by a webhook, then a journey captures the webhook’s path, not a person’s.](/journeys/campaign-journeys/), you can find that person on the *People* page and go to their *Journeys* tab.

#### Charts with Dashed Lines[](#charts-with-dashed-lines)

Metrics graphs show dashed lines when you opt to view metrics on a weekly basis, but your date range includes an incomplete week. The dashed line shows that an increment on the graph doesn’t represent a full week of data.

For example, if you start your date range on a Friday and end on a Thursday, all of your metrics will show solid lines because your date range does not contain an incomplete week. But, if you start your metric range on that same Friday and end on a Wednesday, your graphs will show a dotted line for the final, incomplete week of metrics.

This is an example with an incomplete week of metrics. The start date is Friday, Oct. 8 and the end date is Monday, Oct. 25:

[![Chart showing campaign metrics with both solid and dashed lines because it is an incomplete week](https://docs.customer.io/images/screen-shot-2021-10-25-at-2.18.09-pm.png)](#fd8e63b85705716c477f84429b83bac8-lightbox)

Here is an example of metrics with complete weeks-it starts Friday, Oct. 8 and the end date is Thursday, Oct. 21.

[![Chart showing campaign metrics with solid lines because it is a complete week](https://docs.customer.io/images/screen-shot-2021-10-25-at-2.18.42-pm.png)](#ba65534bc715ee4c7c762d66baac0760-lightbox)

### Links[](#links)

The links chart shows the total clicks for each tracked link in your campaign. This list helps you determine how well links in your campaign perform.

### Tracked Responses[](#tracked-responses)

If your campaign or broadcast includes in-app messages and the *Track Clicks* option is enabled for actions in your message, you’ll see a **Tracked Responses** section in the metrics tab. This section shows the ways that people respond to your in-app messages and whether they engage with your calls to action, broken down by message and **Action Name**.

Learn more about [Tracked Responses](/journeys/tracked-responses/).

[![track responses in your campaign or broadcast](https://docs.customer.io/images/microsurvey-tracked-responses.png)](#d754ad09a32356936e97f79497a4476a-lightbox)

### Message Metrics[](#message-metrics)

The *Message Metrics* table shows stats for each message in your campaign for the time frame you set at the top of the page (defaulting to 30 days). Click to select up to five metrics that you want to see in the chart, and use the *Channel* drop down to determine the types of messages you want to see in the chart.

Click any of the metrics in the table header to sort messages by that metric in ascending or descending order.

[![message metrics chart](https://docs.customer.io/images/message-metrics.png)](#742a26f7de0100d97706c9f6c7a7e4b5-lightbox)

Hover over any metric to see how we calculated it. Where possible, we base metrics on the number of messages *Delivered*\-messages that actually reached a person-because it produces the most trustworthy metrics. If we don’t have a *Delivered* metric, we calculate metrics based on messages *Sent*.

You can toggle the following metrics in the chart, up to five at a time.

Sent (default)

Your message was successfully sent from Customer.io to the delivery provider. It is their responsibility to ensure the message is properly *delivered*, and we’re waiting for further information to determine if the user interacted with it.

Delivered (default)

Delivered means that we’ve received confirmation from the delivery provider that a message was delivered to the recipient’s email service provider (ESP).

Opened (default)

For **email**, we count an open when the recipient’s email client loads an invisible image (tracking pixel) or when the recipient clicks one of the links in the email. If a customer has images disabled in their email client and an open is tracked based on a click event, the “Opened Email” and the “Clicked Email” events will show as having occurred at the same time.

Email open metrics can be misleadingly high or low due to email client behavior. Use email opened metrics to track trends over time and investigate potential inbox placement issues.

For **in-app-messages**, the opened metric means the message has been delivered and displayed to a person.

For **push notifications**, our SDKs automatically track when they’re opened. If you don’t use our SDKs, you need to send us events to [track push notification opens](/journeys/push-developer-guide).

Human opened

This metric is available for *emails* opened since March 20, 2025. Compared to the `opened` metric, the `human opened` metric excludes emails opened by Apple’s Mail Privacy Protection, Gmail’s prefetching of images, user agents identified as bots, and known scanners—based on the MX hosts from the recipients’ email domains, within a few seconds of delivery.

Machine opened

This metric is available for *emails* opened since March 20, 2025. This metric includes opens by Apple’s Mail Privacy Protection, Gmail’s prefetching of images, and user agents identified as bots. It also captures opens identified as known scanners, based on the MX hosts from the recipients’ email domains, within a few seconds of delivery. In the UI, this metric is calculated as the difference between Opened and Human Opened to ensure Opened reflects the total.

Clicked (default)

The user clicked on any link in a message where link tracking was enabled. We also track [clicks on individual links](/link-tracking).

Human clicked

This metric is available for tracked links in *emails* since April 20, 2025. Compared to the `clicked` metric, the `human clicked` metric excludes clicks from automated security scanners, bot user agents, known proxy services, and repetitive click patterns identified by our proprietary algorithm as non-human interactions.

Machine clicked

This metric is available for tracked links in *emails* since April 20, 2025. This metric includes clicks from automated security scanners, bot user agents, known proxy services, and repetitive click patterns identified by our proprietary algorithm as non-human interactions. In the UI, this metric is calculated as the difference between Clicked and Human Clicked to ensure Clicked reflects the total.

Click-to-open

This measures the rate at which people click tracked links in messages that they open, and is calculated by dividing Clicked metrics by Opened metrics.

Converted

A delivered message is marked as converted when a person achieves your campaign’s goal within the conversion criteria window. The message must have been sent, opened, or had a tracked link clicked within a specified time period. [Learn more about goals and conversion timing](/journeys/campaign-conversions/#conversion-timing).

Unsubscribed (default)

A message is counted as unsubscribed when a user unsubscribes from all messages. You can [read more about how global unsubscribes work in Customer.io](/unsubscribes).

Unsubscribed from topics

*Unsubscribed from topics* counts each subscription topic that a user unsubscribed from through a delivered message. As such, you may see a percentage above 100; say you have 4 subscription topics and 5 messages are delivered to five users. Two users unsubscribe from 3 topics each (6 total). We would divide this by the number of delivered messages (5) to get 1.2 or 120% unsubscribed from topics. You can [read more about how our subscription center works in Customer.io](/journeys/subscription-center/#how-it-works).

Marked as spam

For emails, this means that the end-user marked the email as ‘Spam’ via their email service provider. All subsequent emails are then marked “suppressed.”

Failed

A failed message never made it to the delivery provider. We have [a separate article](/message-failed) to help you diagnose why your message never left Customer.io.

Bounced

For email, this means the user’s email address wasn’t valid. This could be a hard bounce (usually a permanent issue like a non-existent email address) or a soft bounce (a temporary issue like a full mail box). In the case of hard bounces for emails, subsequent messages to those addresses will be given the “suppressed” status.

Suppressed

A message is marked as suppressed if:

*   the email address we tried to send it to was previously a hard bounce (a permanent failure such as an invalid address), or
*   the end-user marked any previous email message as spam. In this case, all subsequent email messages after the “spam” mark will be marked as “suppressed”.

## Export campaign metrics[](#export)

On the *Metrics* tab, you can export metrics for your campaign to CSV files.

1.  Go to the **Metrics** tab in the campaign you want to export metrics for.
    
2.  Click **Create Export** and select the type of metrics you want to export.
    
    *   **All-time metric totals**: aggregated message metrics over the life of your campaign
    *   **Message metrics**: Message metrics per day over the date range
    *   **Journey metrics**: Journey metrics per day or hour over the date range
    *   **Tracked responses**: [Tracked responses](/journeys/tracked-responses/) per day or hour for each action that had *Track Click* enabled
3.  For message, journey and tracked responses metrics, select the date range of metrics you want to export and click **Export**. Metrics are organized daily by timestamp from oldest (row 2) to newest.
    
4.  Go to **Data & Integrations** > **Exports** to download your export.
    

## Metrics in the Workflow View[](#workflow-metrics)

On your campaign’s *Workflow* tab, you can click *Measure* to see deliverability stats within the context of your visual workflow.

[![workflow_metrics.png](https://docs.customer.io/images/workflow_metrics.png)](#668c21a3b5411e2ce72383737f002f37-lightbox)

In this view, each metric appears on the bottom of the workflow item. You can choose up to four metrics and the time period.

[![workflow_metrics__tray2](https://docs.customer.io/images/workflow_measure-panel.png)](#3a0ccc8e9211e03bba0f324e60a2b07b-lightbox)

For email metrics, hover over Opened or Clicked to compare human and machine metrics to human-only metrics.

*Unsubs* represents unsubscribing from all messages, not [unsubscribing from individual subscription topics](/journeys/analytics/#delivery-metrics).

**Total Path Metrics** The *Path Totals* workflow items at the beginning of each branch path show the cumulative metrics for every item from the beginning of the path through to the reconnection point or exit block. This allows you to compare the performance of each path.

Each metric total is calculated using only the workflow items that have a value for that metric. For example, if a workflow item does not track clicks, the total path Clicked metric will not include that item.

[![workflow_metrics__path_totals](https://docs.customer.io/images/workflow_metrics__path_totals.png)](#1278f9491ecebcc569dfa3113a899573-lightbox)