> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Metrics glossary

> Understand the nuances between metric labels for each message channel across the OneSignal ecosystem to accurately interpret messaging performance.

## Overview

OneSignal records metrics at each step of a message's lifecycle — from when OneSignal hands the message to a third-party provider (FCM, APNs, Twilio, or an email ESP) through delivery, engagement, and any follow-up events. In-app messages and Live Activities have different lifecycles, which are covered in their own sections below.

Use this page to reconcile numbers across the dashboard, API, CSV exports, and Event Streams, or when building internal reports.

Each channel section contains:

1. **Terms**: the glossary of metrics and their definitions.
2. **Delivery lifecycle**: a visual representation of where each metric is captured.
3. **Metrics mapping**: the name of each metric across every OneSignal surface (dashboard, API, CSV, Event Streams).

In the mapping tables, **columns are surfaces** (where the metric appears) and **rows are concepts** (what the metric represents).

### Channel metrics comparison

Different channels have different delivery states and engagement metrics. The table below lists which metrics apply to each channel.

|    Channel    | Sent | Delivered | Failed | Rejected | Remaining | Clicked | Opened | Bounced | Confirmed Receipt | Read | Impressions | Unsubscribed | Reported as Spam | Suppressed | Frequency Capped |
| :-----------: | :--: | :-------: | :----: | :------: | :-------: | :-----: | :----: | :-----: | :---------------: | :--: | :---------: | :----------: | :--------------: | :--------: | :--------------: |
|      Push     |   ✅  |     ✅     |    ✅   |     ❌    |     ✅     |    ✅    |    ❌   |    ❌    |         ✅         |   ❌  |      ❌      |       ✅      |         ❌        |      ❌     |         ✅        |
|     Email     |   ✅  |     ✅     |    ✅   |     ❌    |     ✅     |    ✅    |    ✅   |    ✅    |         ❌         |   ❌  |      ❌      |       ✅      |         ✅        |      ✅     |         ❌        |
|    SMS/RCS    |   ✅  |     ✅     |    ✅   |     ✅    |     ✅     |    ✅    |    ❌   |    ❌    |         ❌         |   ✅  |      ❌      |       ❌      |         ❌        |      ✅     |         ❌        |
|     In-app    |   ❌  |     ❌     |    ✅   |     ❌    |     ❌     |    ✅    |    ❌   |    ❌    |         ❌         |   ❌  |      ✅      |       ❌      |         ❌        |      ❌     |         ❌        |
| Live Activity |   ✅  |     ✅     |    ✅   |     ❌    |     ❌     |    ✅    |    ❌   |    ❌    |         ✅         |   ❌  |      ❌      |       ✅      |         ❌        |      ❌     |         ❌        |

* Some metrics have both **Total** and **Unique** variants in the per-channel tables. This applies to Opens (email) and Clicks (email, SMS/RCS, in-app).

## Push terms

| Metric                | Definition                                                                                                                                                                                                                                                                                             |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Sent**              | The number of push notifications sent from OneSignal, including both those successfully sent to the push provider and failures. This is a composite metric.                                                                                                                                            |
| **Audience**          | The number of Subscriptions in the targeted Segment(s).                                                                                                                                                                                                                                                |
| **Remaining**         | The number of Subscriptions in the target audience that haven't yet received the push notification (queued or in flight). Appears on the dashboard delivery report.                                                                                                                                    |
| **Delivered**         | The number of push notifications successfully sent to and accepted by the push provider (FCM, APNs, HMS).                                                                                                                                                                                              |
| **Confirmed Receipt** | The number of push notifications confirmed as received by the device, verified by the OneSignal SDK. See [Confirmed receipt](/docs/en/confirmed-delivery) for platform-specific details and requirements.                                                                                              |
| **Unsubscribed**      | The number of push Subscriptions that did not receive the push notification because they uninstalled the app, cleared browser data, or opted out of push and have not opened the app since. OneSignal will **not** attempt to send to these Subscriptions in future messages unless they re-subscribe. |
| **Failed**            | The number of push Subscriptions that did not receive the push notification because of an error. OneSignal will attempt to send to these Subscriptions in future messages.                                                                                                                             |
| **Clicked**           | The number of push Subscriptions that clicked the push notification. Push notifications can only be clicked once.                                                                                                                                                                                      |
| **Frequency Capped**  | The number of push Subscriptions that did not receive the push notification due to frequency cap settings.                                                                                                                                                                                             |

### Push lifecycle

```mermaid theme={null}
sequenceDiagram
    participant OneSignal
    participant Provider
    participant Platform
    participant User

    %% -----------------------------
    %% Metrics when sending to provider
    %% -----------------------------
    Note over OneSignal,User: Metrics when sending to provider

    OneSignal--xProvider: Excluded from delivery [Frequency Capped]
    Note left of OneSignal: Messages excluded before delivery

    OneSignal-->>Provider: Send notification
    Provider-->>OneSignal: Error response [Failed / Unsubscribed]
    Note left of OneSignal: Failed to send to provider

    %% -----------------------------
    %% Metrics reported by push provider
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by push provider

    OneSignal->>Provider: Send notification
    Provider->>OneSignal: Provider accepted [Delivered]
    Note left of OneSignal: Successfully sent to provider

    Provider->>Platform: Deliver notification
    Provider->>OneSignal: Delivery reported [Delivered]
    Note left of OneSignal: Provider reported delivery

    %% -----------------------------
    %% Metrics reported by SDK
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by SDK

    Platform->>User: Notification shown
    Platform->>OneSignal: SDK confirms receipt [Confirmed Receipt]
    Note left of OneSignal: Device-level confirmation
    User->>OneSignal: Engagement event [Clicked]
    Note left of OneSignal: User engagement
```

### Push metrics mapping

#### Dashboard

| Term              | Delivery Report Stat Cards | Delivery Report Timeseries Chart | Journey Node Report Stat Card | Journey Node Report Timeseries Chart | Audience Activity | Engagement Trends |
| ----------------- | -------------------------- | -------------------------------- | ----------------------------- | ------------------------------------ | ----------------- | ----------------- |
| Sent              | Sent                       | ❌                                | Sent                          | Sent                                 | ❌                 | ❌                 |
| Audience          | Audience                   | ❌                                | ❌                             | ❌                                    | ❌                 | ❌                 |
| Delivered         | Delivered                  | Delivered                        | Delivered                     | Delivered                            | Delivered         | Delivered         |
| Confirmed Receipt | Confirmed Receipt          | Confirmed Receipt                | Confirmed Receipt             | Confirmed Receipt                    | Confirmed receipt | ❌                 |
| Unsubscribed      | Unsubscribed               | ❌                                | Unsubscribed                  | Unsubscribed                         | Unsubscribed      | Unsubscribed      |
| Failed            | Failed                     | ❌                                | Failed                        | Failed                               | Failed            | ❌                 |
| Clicked           | Clicked                    | Clicks                           | ❌                             | Clicked                              | Clicked           | Clicked           |
| Influenced Opens  | ❌                          | ❌                                | ❌                             | ❌                                    | ❌                 | ❌                 |
| Frequency Capped  | Capped                     | ❌                                | Capped                        | Capped                               | ❌                 | ❌                 |

#### API, CSV, and Event Streams

| Term              | View Message(s) API<sup>1</sup> | Notifications CSV   | Event Streams             |
| ----------------- | ------------------------------- | ------------------- | ------------------------- |
| Sent              | ❌<sup>2</sup>                   | sent                | ❌                         |
| Audience          | ❌                               | ❌                   | ❌                         |
| Delivered         | successful                      | delivered           | message.push.sent         |
| Confirmed Receipt | received                        | confirmed\_receipt  | message.push.received     |
| Unsubscribed      | failed<sup>3</sup>              | failed<sup>3</sup>  | message.push.unsubscribed |
| Failed            | errored<sup>3</sup>             | errored<sup>3</sup> | message.push.failed       |
| Clicked           | converted                       | converted           | message.push.clicked      |
| Influenced Opens  | influenced\_opens               | ❌                   | ❌                         |
| Frequency Capped  | frequency\_capped               | frequency\_capped   | ❌                         |

<sup>1</sup> The API also includes per-platform metrics for all fields except `remaining` (for example, `ios_clicked`, `android_clicked`).

<sup>2</sup> The composite Sent metric does not have a direct field in the View Message(s) API. To derive it, sum `successful` + `failed` + `errored`. Audience activity exports also do not include a Sent field.

<sup>3</sup> In the View Message(s) API and Notifications CSV, the field name `failed` represents **unsubscribed** subscriptions and `errored` represents **delivery errors** (what the dashboard calls Failed). This naming is preserved for backward compatibility.

## Email terms

| Metric               | Definition                                                                                                                                                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sent**             | The number of emails sent from OneSignal, including both those successfully sent to the email service provider and failures. This is a composite metric.                                                                              |
| **Audience**         | The number of Subscriptions in the targeted Segment(s).                                                                                                                                                                               |
| **Remaining**        | The number of Subscriptions in the target audience that haven't yet received the email (queued or in flight). Appears on the dashboard delivery report.                                                                               |
| **Delivered**        | The number of emails successfully delivered to the recipient's inbox server.                                                                                                                                                          |
| **Failed**           | The number of emails unable to be delivered to the inbox, excluding bounces. May include failures reported by the ESP or OneSignal delivery failures.                                                                                 |
| **Suppressed**       | The number of emails blocked due to prior bounces or spam reports to protect sender reputation. Only recorded for apps configured to use OneSignal email.                                                                             |
| **Bounced**          | The number of emails rejected due to invalid addresses, full inboxes, sender reputation, or DMARC issues. These addresses are added to a [Suppression List](/docs/en/suppressions), either managed by OneSignal or a third party ESP. |
| **Reported as Spam** | The number of recipients who marked the email as spam. These addresses are added to a [Suppression List](/docs/en/suppressions), either managed by OneSignal or a third party ESP.                                                    |
| **Unsubscribed**     | The number of recipients who opted out of receiving emails.                                                                                                                                                                           |
| **Total Opens**      | The total number of times the email was opened, including repeats.                                                                                                                                                                    |
| **Total Clicks**     | The total number of times a link in the email was clicked, including repeats.                                                                                                                                                         |
| **Unique Opens**     | The number of individual Subscriptions who opened the email. Used with Delivered to calculate the open rate.                                                                                                                          |
| **Unique Clicks**    | The number of individual Subscriptions who clicked a link in the email. Used with Delivered to calculate the click rate.                                                                                                              |

**Total vs Unique clicks and opens**

Unique clicks and opens are counted once per Subscription, regardless of how many times that user opens or clicks the same email. Total clicks and opens count every interaction, including repeats from the same user.

### Email lifecycle

```mermaid theme={null}
sequenceDiagram
    participant OneSignal
    participant ESP
    participant Inbox
    participant User

    %% -----------------------------
    %% Metrics when sending to ESP
    %% -----------------------------
    Note over OneSignal,User: Metrics when sending to ESP

    OneSignal--xESP: Excluded from delivery [Suppressed]
    Note left of OneSignal: Messages excluded before delivery

    OneSignal-->>ESP: Send email
    ESP-->>OneSignal: Error response [Failed]
    Note left of OneSignal: Failed to send to ESP

    %% -----------------------------
    %% Metrics reported by ESP
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by ESP

    OneSignal->>ESP: Send email
    ESP->>OneSignal: ESP accepted
    Note left of OneSignal: Successfully delivered to ESP

    ESP-->>Inbox: Attempt delivery to inbox
    Inbox-->>OneSignal: Failed to deliver [Failed / Bounced]
    Note left of OneSignal: Failed to deliver to Inbox

    ESP->>Inbox: Deliver email
    Inbox->>OneSignal: confirmed receipt to inbox [Delivered]
    Note left of OneSignal: Successfully delivered to Inbox

    %% -----------------------------
    %% Metrics reported by User
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by User
    %% Metrics reported to ESP then OS

    Inbox->>User: Email shown
    User->>OneSignal: Engagement event [Opened / Clicked / Unsubscribed / Reported as Spam]
    Note left of OneSignal: User engagement
```

### Email metrics mapping

#### Dashboard

| Term                         | Delivery Report Stat Cards | Delivery Report Timeseries Chart | Journey Node Report Stat Card | Journey Node Report Timeseries Chart | Audience Activity | Engagement Trends |
| ---------------------------- | -------------------------- | -------------------------------- | ----------------------------- | ------------------------------------ | ----------------- | ----------------- |
| Sent                         | Sent                       | Sent                             | ❌                             | Sent                                 | ❌                 | ❌                 |
| Audience                     | Audience                   | ❌                                | ❌                             | ❌                                    | ❌                 | ❌                 |
| Delivered                    | Delivered                  | Delivered                        | Delivered                     | Delivered                            | Delivered         | Delivered         |
| Failed                       | Failed                     | Failed                           | Failed                        | Failed                               | Failed            | ❌                 |
| Suppressed                   | Suppressed                 | Suppressed                       | Suppressed                    | Suppressed                           | Suppressed        | ❌                 |
| Bounced                      | Bounced                    | Bounced                          | Bounced                       | Bounced                              | Bounced           | ❌                 |
| Reported as Spam<sup>1</sup> | Reported as Spam           | Spam                             | Reported as Spam              | Spam                                 | Complained        | ❌                 |
| Unsubscribed                 | Unsubscribed               | Unsubscribed                     | Unsubscribed                  | Unsubscribed                         | Unsubscribed      | Unsubscribed      |
| Total Opens                  | Total Opens                | Total Opens                      | Total Opens                   | Total Opens                          | ❌                 | ❌                 |
| Total Clicks                 | Total Clicks               | Total Clicks                     | Total Clicks                  | Total Clicks                         | ❌                 | ❌                 |
| Unique Opens                 | Unique Opens               | Unique Opens                     | Unique Opens                  | Unique Opens                         | Opened            | Opened            |
| Unique Clicks                | Unique Clicks              | Unique Clicks                    | Unique Clicks                 | Unique Clicks                        | Clicked           | Clicked           |

<sup>1</sup> The dashboard uses different labels for the same metric across surfaces: **Reported as Spam** (stat cards, Journey stat cards), **Spam** (timeseries charts), and **Complained** (Audience Activity). All refer to recipients who marked the message as spam or junk.

#### API, CSV, and Event Streams

| Term             | View Message(s) API                            | Notifications CSV     | Event Streams                    |
| ---------------- | ---------------------------------------------- | --------------------- | -------------------------------- |
| Sent             | platform\_delivery\_stats.email.successful     | ❌                     | message.email.sent               |
| Audience         | ❌                                              | ❌                     | ❌                                |
| Delivered        | platform\_delivery\_stats.email.received       | email\_delivered      | message.email.received           |
| Failed           | platform\_delivery\_stats.email.failed         | email\_failed         | message.email.failed             |
| Suppressed       | platform\_delivery\_stats.email.suppressed     | ❌                     | message.email.suppressed         |
| Bounced          | platform\_delivery\_stats.email.bounced        | email\_bounced        | message.email.bounced            |
| Reported as Spam | platform\_delivery\_stats.email.reported\_spam | email\_reported\_spam | message.email.reported\_as\_spam |
| Unsubscribed     | platform\_delivery\_stats.email.unsubscribed   | email\_unsubscribed   | message.email.unsubscribed       |
| Total Opens      | platform\_delivery\_stats.email.opened         | email\_opened         | message.email.opened             |
| Total Clicks     | platform\_delivery\_stats.email.clicked        | email\_clicked        | message.email.clicked            |
| Unique Opens     | platform\_delivery\_stats.email.unique\_opens  | email\_unique\_opens  | ❌                                |
| Unique Clicks    | platform\_delivery\_stats.email.unique\_clicks | email\_unique\_clicks | ❌                                |

## SMS/RCS terms

| Metric                   | Definition                                                                                                                                                                                                                |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sent**                 | The number of messages sent from OneSignal, including both those successfully sent to Twilio and failures. This is a composite metric.                                                                                    |
| **Audience**             | The number of Subscriptions in the targeted Segment(s).                                                                                                                                                                   |
| **Remaining**            | The number of Subscriptions in the target audience that haven't yet received the message (queued or in flight). Appears on the dashboard delivery report.                                                                 |
| **Delivered**            | The number of messages successfully delivered to the carrier as reported by Twilio. Metrics are categorized further to distinguish between SMS/MMS and RCS.                                                               |
| **Failed**               | The number of messages that failed to be sent to Twilio.                                                                                                                                                                  |
| **Suppressed**           | The number of messages not sent to the Subscriptions because they opted out of receiving messages from the sender.                                                                                                        |
| **Rejected**             | The number of messages not delivered by the carrier due to number blockage, velocity blockage, or the recipient is on a block list. This is a **derived** metric and is the sum of provider errors and provider failures. |
| **Provider Errored**     | The number of Subscriptions for which Twilio failed to send the message.                                                                                                                                                  |
| **Provider Undelivered** | The number of Subscriptions for which Twilio sent the message but failed to deliver it.                                                                                                                                   |
| **Read** *(RCS only)*    | The number of Subscriptions who read an RCS message.                                                                                                                                                                      |
| **Total Clicks**         | The total number of times a link in the message was clicked, including repeats.                                                                                                                                           |
| **Unique Clicks**        | The number of unique link clicks across all links in the message. Counted once per Subscription.                                                                                                                          |
| **Replied**              | The number of keywords received by OneSignal, excluding consent keywords.                                                                                                                                                 |
| **Unsubscribed**         | The number of opt-out keywords received by OneSignal.                                                                                                                                                                     |

### SMS/RCS lifecycle

```mermaid theme={null}
sequenceDiagram
    participant OneSignal
    participant Twilio
    participant Device
    participant User

    %% -----------------------------
    %% Metrics before message goes to provider
    %% -----------------------------
    Note over OneSignal,User: Metrics before message goes to provider

    OneSignal--xTwilio: Excluded from delivery [Suppressed]
    Note left of OneSignal: Messages excluded before delivery

    OneSignal-->>Twilio: Send SMS
    Twilio-->>OneSignal: Error response [Failed]
    Note left of OneSignal: Failed to send to provider

    %% -----------------------------
    %% Metrics reported by Twilio
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by Twilio

    OneSignal->>Twilio: Send SMS
    Twilio->>OneSignal: Twilio accepted
    Note left of OneSignal: Successfully delivered to provider

    Twilio-->>Device: Attempt delivery to device
    Device-->>OneSignal: Failed to deliver to device [Rejected]
    Note left of OneSignal: Failed to deliver to device

    Twilio->>Device: Deliver SMS
    Device->>OneSignal: Delivery confirmation [Delivered]
    Note left of OneSignal: Successfully delivered to device

    %% -----------------------------
    %% Metrics reported by user
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by user
    %% Metrics reported to Twilio then OS

    Device->>User: SMS displayed
    User->>OneSignal: Engagement event [Read (RCS) / Clicked]
    Note left of OneSignal: User engagement
```

### SMS/RCS metrics mapping

#### Dashboard

| Term                             | Delivery Report Stat Cards | Delivery Report Timeseries Chart | Journey Node Report Stat Card | Journey Node Report Timeseries Chart | Audience Activity | Engagement Trends  |
| -------------------------------- | -------------------------- | -------------------------------- | ----------------------------- | ------------------------------------ | ----------------- | ------------------ |
| Sent                             | Sent                       | Sent                             | Sent                          | Sent                                 | ❌                 | ❌                  |
| Audience                         | Audience                   | ❌                                | ❌                             | ❌                                    | ❌                 | ❌                  |
| Delivered                        | Delivered                  | Delivered                        | Delivered                     | Delivered                            | Delivered         | Delivered          |
| Failed<sup>1</sup>               | Failed                     | ❌                                | Failed                        | ❌                                    | Failed & Rejected | ❌                  |
| Suppressed                       | Suppressed                 | ❌                                | Suppressed                    | ❌                                    | Suppressed        | ❌                  |
| Rejected<sup>1</sup>             | Rejected                   | ❌                                | Rejected                      | ❌                                    | Failed & Rejected | ❌                  |
| Provider Errored<sup>2</sup>     | ❌                          | Failed (Errored)                 | ❌                             | Failed (Errored)                     | ❌                 | ❌                  |
| Provider Undelivered<sup>2</sup> | ❌                          | Failed (Undelivered)             | ❌                             | Failed (Undelivered)                 | ❌                 | ❌                  |
| Read                             | Read                       | Read                             | Read                          | Read                                 | Read              | Read               |
| Total Clicks                     | Total Clicks               | ❌                                | Total Clicks                  | ❌                                    | ❌                 | ❌                  |
| Unique Clicks                    | Unique Clicks              | ❌                                | Unique Clicks                 | ❌                                    | ❌                 | ❌                  |
| Replied                          | ❌                          | ❌                                | ❌                             | ❌                                    | ❌                 | Replied (keywords) |
| Unsubscribed                     | ❌                          | ❌                                | ❌                             | ❌                                    | ❌                 | Unsubscribed       |

<sup>1</sup> Audience Activity combines **Failed** and **Rejected** into a single **Failed & Rejected** bucket. Stat cards and Journey stat cards show them separately.

<sup>2</sup> Delivery Report timeseries charts break the provider-side failures into **Failed (Errored)** and **Failed (Undelivered)**, which map to Provider Errored and Provider Undelivered. Stat cards roll these up under **Failed**.

#### API, CSV, and Event Streams

| Term                 | View Message(s) API                                                                     | Notifications CSV           | Event Streams           |
| -------------------- | --------------------------------------------------------------------------------------- | --------------------------- | ----------------------- |
| Sent                 | platform\_delivery\_stats.sms.successful                                                | ❌                           | message.sms.sent        |
| Audience             | ❌                                                                                       | ❌                           | ❌                       |
| Delivered            | platform\_delivery\_stats.sms.provider\_successful                                      | ❌                           | message.sms.delivered   |
| Failed               | platform\_delivery\_stats.sms.failed, platform\_delivery\_stats.sms.errored<sup>3</sup> | failed, errored<sup>3</sup> | message.sms.failed      |
| Suppressed           | platform\_delivery\_stats.sms.suppressed                                                | ❌                           | ❌                       |
| Rejected             | ❌                                                                                       | ❌                           | ❌                       |
| Provider Errored     | platform\_delivery\_stats.sms.provider\_errored                                         | ❌                           | ❌                       |
| Provider Undelivered | platform\_delivery\_stats.sms.provider\_failed                                          | ❌                           | message.sms.undelivered |
| Read                 | ❌                                                                                       | ❌                           | ❌                       |
| Total Clicks         | ❌                                                                                       | ❌                           | ❌                       |
| Unique Clicks        | ❌                                                                                       | ❌                           | ❌                       |
| Replied              | ❌                                                                                       | ❌                           | ❌                       |
| Unsubscribed         | ❌                                                                                       | ❌                           | ❌                       |

<sup>3</sup> The sum of `failed` and `errored` — both recorded in OneSignal's internal system when attempting to send to Twilio — is surfaced as **Failed** in the dashboard.

## In-app terms

| Metric               | Definition                                                                                                                                                                                    |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Impression**       | The number of times an in-app message successfully displayed to a Subscription. Depending on your in-app settings, a single Subscription may register multiple impressions.                   |
| **Card Impressions** | The number of times a card within a carousel was displayed on a device. A carousel message will have multiple cards, but not all cards may be viewed by each user. Only applies to carousels. |
| **Total Clicks**     | The number of times a button block, image block, or background was clicked. It does not include the "Close Button" clicks.                                                                    |
| **Unique Clicks**    | The number of unique clicks across all buttons, images, and backgrounds in the message. Counted once per Subscription.                                                                        |

### In-app lifecycle

There is no delivery lifecycle to consider. All metrics captured for an in-app message are from the device through the OneSignal SDK.

### In-app metrics mapping

#### Dashboard

| Term             | Delivery Report Stat Cards | Journey Node Report Stat Card | Journey Node Report Timeseries Chart | Audience Activity | Engagement Trends |
| ---------------- | -------------------------- | ----------------------------- | ------------------------------------ | ----------------- | ----------------- |
| Impressions      | Impressions                | Impressions                   | Impressions                          | Impression        | Impressions       |
| Card Impressions | Card Impressions           | Card Impressions              | ❌                                    | ❌                 | ❌                 |
| Total Clicks     | Total Clicks<sup>1</sup>   | Total Clicks<sup>1</sup>      | ❌                                    | ❌                 | ❌                 |
| Unique Clicks    | ❌<sup>2</sup>              | ❌<sup>2</sup>                 | ❌                                    | Clicked           | Clicked           |

<sup>1</sup> We filter out "Close Button" clicks out of Total Clicks on the IAM Delivery
Report stat card.

<sup>2</sup> While we don't have a label on the dashboard for unique clicks, we show
unique clicks count alongside the CTR.

#### Event Streams

| Term             | Event Streams               |
| ---------------- | --------------------------- |
| Impressions      | message.iam.impression      |
| Card Impressions | message.iam.page\_displayed |
| Total Clicks     | message.iam.clicked         |
| Unique Clicks    | ❌                           |

## Live Activities terms

| Metric                | Definition                                                                                                                                                                                                                                                                       |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sent**              | The number of Live Activity updates sent from OneSignal, including both those successfully sent to the push provider (APNs) and failures. This is a composite metric.                                                                                                            |
| **Delivered**         | The number of Live Activity updates successfully sent to and accepted by the push provider (APNs).                                                                                                                                                                               |
| **Confirmed Receipt** | The number of Live Activity updates confirmed as received by the Subscriptions, verified by the OneSignal SDK. See [Confirmed receipt](/docs/en/confirmed-delivery) for platform-specific details and requirements.                                                              |
| **Unsubscribed**      | The number of push Subscriptions that did not receive the Live Activity update because they uninstalled the app, cleared browser data, or opted out of push and have not opened the app since. OneSignal will **not** attempt to send to these Subscriptions in future messages. |
| **Failed**            | The number of push Subscriptions that did not receive the Live Activity update because of an error. OneSignal will attempt to send to these Subscriptions in future messages.                                                                                                    |
| **Clicked**           | The number of clicks on a Live Activity update.                                                                                                                                                                                                                                  |

### Live Activities lifecycle

```mermaid theme={null}
sequenceDiagram
    participant OneSignal
    participant Provider
    participant Device
    participant User

    %% -----------------------------
    %% Metrics before message goes to provider
    %% -----------------------------
    Note over OneSignal,User: Metrics before message goes to provider

    Note left of OneSignal: Failed to send to provider
    OneSignal-->>Provider: Send live activity update
    Provider-->>OneSignal: Error response [Failed / Unsubscribed]

    %% -----------------------------
    %% Metrics reported by push provider
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by push provider

    Note left of OneSignal: Successfully delivered to provider
    OneSignal->>Provider: Send live activity update
    Provider->>OneSignal: Provider accepted [Delivered]

    Note left of OneSignal: Successfully delivered to device
    Provider->>Device: Deliver live activity update

    %% -----------------------------
    %% Metrics reported by SDK
    %% -----------------------------
    Note over OneSignal,User: Metrics reported by SDK

    Device->>User: Live activity shown
    Device->>OneSignal: SDK confirms receipt [Confirmed Receipt]
    Note left of OneSignal: Device-level confirmation
    User->>OneSignal: Engagement event [Clicked]
    Note left of OneSignal: User engagement
```

### Live Activities metrics mapping

#### Dashboard

| Term              | Delivery Report Stat Cards | Audience Activity | Engagement Trends |
| ----------------- | -------------------------- | ----------------- | ----------------- |
| Sent              | Sent                       | ❌                 | ❌                 |
| Delivered         | Delivered                  | Delivered         | Delivered         |
| Confirmed Receipt | ❌                          | ❌                 | Confirmed Receipt |
| Failed            | Failed                     | Failed            | Failed            |
| Unsubscribed      | Unsubscribed               | Unsubscribed      | Unsubscribed      |
| Clicked           | Total clicks               | Clicked           | Clicked           |

#### API, CSV, and Event Streams

| Term              | View Message(s) API | Notifications CSV   | Event Streams                                |
| ----------------- | ------------------- | ------------------- | -------------------------------------------- |
| Sent              | ❌                   | ❌                   | ❌                                            |
| Delivered         | successful          | delivered           | message.live\_activity.sent<sup>1</sup>      |
| Confirmed Receipt | ❌                   | confirmed\_receipt  | message.live\_activity.delivered<sup>1</sup> |
| Failed            | errored<sup>2</sup> | errored<sup>2</sup> | message.live\_activity.failed                |
| Unsubscribed      | failed<sup>2</sup>  | failed<sup>2</sup>  | message.live\_activity.unsubscribed          |
| Clicked           | ❌                   | ❌                   | message.live\_activity.clicked               |

<sup>1</sup> The Event Streams names are shifted relative to the dashboard concepts: `message.live_activity.sent` maps to **Delivered** (accepted by APNs), and `message.live_activity.delivered` maps to **Confirmed Receipt** (acknowledged by the device). Wire report pipelines to the concept, not the literal event name.

<sup>2</sup> As with push, the View Message(s) API and CSV field `failed` represents **unsubscribed** subscriptions and `errored` represents **delivery errors** (Failed).

## FAQ

### Why don't my dashboard and API counts match for push?

The dashboard **Sent** metric is a composite — it equals Delivered + Unsubscribed + Failed. The View Message(s) API does not return a direct `sent` field; sum `successful + failed + errored` to get the equivalent value.

### Why does the Push API return `failed` for unsubscribes and `errored` for delivery errors?

The field names are preserved from an earlier version of the API. In the View Message(s) API and Notifications CSV, `failed` means the subscription is no longer reachable (uninstalled, cleared browser data, or opted out) and `errored` means a delivery error that OneSignal will retry. The dashboard labels these as Unsubscribed and Failed respectively.

### What's the difference between Total Opens and Unique Opens?

**Total Opens** counts every open event, including repeat opens from the same recipient. **Unique Opens** counts each recipient at most once. The same pattern applies to Total Clicks vs Unique Clicks for email, SMS/RCS, and in-app messages.

### Why does the Live Activities `message.live_activity.sent` event map to Delivered instead of Sent?

The event name is historical. `message.live_activity.sent` fires when APNs accepts the activity update (the **Delivered** concept), and `message.live_activity.delivered` fires when the device acknowledges receipt (the **Confirmed Receipt** concept). Use the mapping table above when configuring downstream analytics.

### Why does Twilio's delivery count sometimes differ from OneSignal's Delivered for SMS/RCS?

OneSignal's **Delivered** metric reflects carrier-confirmed receipt reported back by Twilio. Differences usually come from messages that are still in flight at the time you compare, late status callbacks from carriers, or messages that moved to **Provider Undelivered** after an initial acceptance. See the SMS/RCS lifecycle above for where each state is captured.

### How do I map dashboard labels for SMS Failed to the timeseries chart?

The stat cards show a single **Failed** bucket, while the timeseries chart splits provider-side failures into **Failed (Errored)** (Provider Errored) and **Failed (Undelivered)** (Provider Undelivered). Audience Activity combines Failed and Rejected into **Failed & Rejected**.

## Related

<Columns cols={2}>
  <Card title="Analytics overview" icon="chart-line" href="./analytics-overview">
    Tour the dashboards, APIs, and export tools OneSignal provides for measuring performance.
  </Card>

  <Card title="Confirmed Receipt" icon="circle-check" href="./confirmed-delivery">
    Platform requirements and SDK setup for the Confirmed Receipt metric on push and Live Activities.
  </Card>

  <Card title="Event Streams" icon="satellite-dish" href="./event-streams">
    Stream real-time message events to your warehouse using the event names in this glossary.
  </Card>

  <Card title="Engagement trends" icon="chart-mixed" href="./engagement-analytics">
    Review aggregate engagement over time using the metrics defined here.
  </Card>

  <Card title="Exporting data" icon="file-export" href="./exporting-data">
    Export the Notifications CSV and other data sets referenced in the mapping tables.
  </Card>

  <Card title="Journey analytics" icon="route" href="./journeys-analytics">
    Measure conversion and drop-off across multi-step Journeys using Journey node reports.
  </Card>
</Columns>
