Skip to content

LINE reporting

After launching your campaign or Canvas, you can view key metrics on the campaign details page or Canvas analytics. This article covers where you can find those metrics and what they represent.

Viewing analytics

Once you’ve launched your campaign, you can return to the details page for that campaign to view key metrics. Navigate to the Campaigns page and select your campaign to open the details page. For messages sent in Canvas, refer to Canvas analytics.

From the Campaign Analytics tab, you can view your reports in a series of panels. You may see more or less than those listed in the following sections, but each has its own useful purpose.

Time range

By default, the time range for Campaign Analytics will display the last 90 days from the current time. This means that if the campaign was launched more than 90 days ago, the analytics will display as “0” for the given time range. To view all analytics for older campaigns, adjust the reporting time range.

Campaign details

The Campaign Details panel shows a high-level overview of the entire performance for your message.

Review this panel to see overall metrics such as the number of messages sent to the number of recipients, the primary conversion rate, and the total revenue generated by this message. You can also review delivery, audience, and conversion settings from this page.

Estimated Audience and Current Audience

Depending on the total number of users in your workspace, the Campaign Details panel labels audience statistics Current Audience or Estimated Audience.

The following table summarizes what each label means.

Footer label When it is used
Current Audience The workspace has 50,000 users or fewer. Braze runs a full scan of workspace profiles for the default statistic, so the displayed audience size is a current, unsampled count (still subject to channel reachability, subscription rules, and other targeting options).
Estimated Audience The workspace has more than 50,000 users. Braze doesn’t run a full-database count by default. Audience size is estimated from a sample and extrapolated, similar to the Reachable users range in the segment builder. Margins of error are expected, especially for small segments as a share of the workspace.

For details on sampling behavior, Calculate exact statistics, and segmenting Reachable users, see Measure segment size.

Changes Since Last Viewed

The number of updates to the campaign from other members of your team is tracked by the Changes Since Last Viewed metric on the campaign overview page. Select Changes Since Last Viewed to view a changelog of updates to the campaign’s name, schedule, tags, message, audience, approval status, or team access configuration. For each update, you can see who performed the update and when. You can use this changelog to audit changes to your campaign.

Channel-specific reporting

The following tabs cover channel-specific panels, metrics, and troubleshooting. Select a channel to view its reporting details.

Campaign Details panel with an overview of metrics used to determine campaign performance.

The Banner Performance panel outlines how well your message has performed across various dimensions. These metrics vary depending on your messaging channel and whether or not you’re running a multivariate test.

SMS/MMS Performance panel that includes a table of metrics for a control group, Variant 1, and Variant 2.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

These are the key metrics to track while reviewing your Banner campaign performance. Clicks and impressions for Banners are tracked automatically with the SDK.

For the full definitions of all Banners metrics, refer to the Report Metrics Glossary and filter by Banners.

Banner performance metrics
Metric Definition
Total Impressions Total Impressions is the number of times a message is viewed. Braze logs an impression only when the message becomes visible to the user on their screen. For example, if a message is placed at the bottom of a page, the impression is not logged until the user scrolls down and the message comes into view. If a user is shown the same message twice, it will count as two impressions. For Banners, impressions are logged once per user session. If the same Banner is viewed multiple times within the same session, only one impression is logged.
Unique Impressions Unique Impressions is the total number of users who have viewed a message from a given campaign. An impression is logged only when the message becomes visible on a user's screen. Each user is only counted once.
Total Clicks Total Clicks is the total number (and percentage) of users who clicked within the delivered message, regardless of whether the same user clicks multiple times.
Total Dismissals Total Dismissals is the total number of times users dismissed the Banner. Available only for Banners with dismissal behavior enabled.
Unique Clicks Each user is only counted once.
Primary Conversions Primary Conversions (A) or Primary Conversion Event is the number of times a defined event occurred after interacting with or viewing a received message from a Braze campaign. This defined event is determined by you when building the campaign.
Unique Daily Impressions Unique Daily Impressions is the number of unique users who viewed the message on a given day. This count resets each calendar day, so a user who views the same message on two different days is counted twice. This metric aligns with the billing metric of the same name.

Because a viewer can have a unique daily impression every day, you should expect this to be higher than Unique Impressions.
Revenue Revenue is the total revenue in dollars from campaign recipients within the set primary conversion window.
Confidence Confidence is the percentage of confidence that a certain variant of a message is outperforming the control group.

There are a few metrics available that cover the visibility of your message. This includes Unique Daily Impressions and Unique Impressions. Let’s use a few example scenarios to understand these metrics better.

Let’s say you view a Banner today, then view the same Banner tomorrow, and again the day after tomorrow—you will be counted as a Unique Daily Impression three times. However, you will only be counted for one Unique Impression.

As another example, suppose you see five Unique Impressions on a Banner campaign. This means only five users’ devices performed all of the following steps:

  1. Started a session or the app explicitly requested a Banner sync (or both)
  2. Navigated to the Banners view
  3. SDK recorded an impression and logged it to the server

Unique Daily Impressions refers to the Banners that were actually seen.

Discrepancies between control groups and variants

When a Banner campaign uses a control group, control group impressions can be higher than variant impressions, even when the audience split between groups is even. This discrepancy is caused by a difference in how impressions are logged for control and variant Banners.

Both control and variant impressions require the Banner placement to enter the viewport. Variant impressions are logged only when the full Banner is visible on screen. Control impressions can be logged as soon as the placement enters the viewport, before the full Banner would be visible for a variant.

Content Card reporting

Campaign Details panel with an overview of metrics used to determine campaign performance.

When sends are logged

The timing of a Sent event for Content Cards depends on the delivery type and Card Creation setting.

Scheduled delivery

For scheduled Content Cards, the timing of a Sent event depends on the Card Creation setting:

  • At campaign launch: The send is logged at the scheduled send time, when the card is written to the user’s feed. This happens regardless of whether the user has opened the app or viewed the card.
  • At first impression: The send is logged the first time the app requests the card after the scheduled send time, when the card is created on demand.

If your campaign is configured to use At first impression (recommended), the Sent count in campaign analytics grows gradually as individual apps request the card. If the app never requests a card (such as, a user never opens the app) before the card expires, no send is recorded, and the card is never delivered. If your campaign is configured to use At campaign launch, the Sent count in campaign analytics spikes at the scheduled time.

Action-based delivery

For action-based Content Cards, the send is logged shortly after the user performs the triggering action, when the card is written to their feed. This happens regardless of whether the user has viewed the card.

Campaigns Received and retargeting filters

Regardless of the delivery type or Card Creation setting, a Content Card campaign appears in the user’s profile under Campaigns Received only after they have actually viewed the card in the app. The Last Received Any Message and Last Received Campaign retargeting filters update at view time for the same reason.

Control groups

To measure the impact of an individual Content Card, you can add a control group to an A/B test. The top-level Campaign Details panel doesn’t include metrics from the Control Group variant.

Content Card Performance

The Content Card Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

Content Card message performance analytics

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

Content Card metrics

Here is a breakdown of some key metrics you may see while reviewing your message performance. For the full definitions of all Content Cards metrics, refer to the Report Metrics Glossary and filter by Content Cards.

Content Card performance metrics
Metric Definition
Messages Sent Messages Sent is the total number of messages sent in a campaign. After launching a scheduled campaign, this metric will include all messages sent, regardless of whether they have been sent out yet due to rate limiting. This doesn’t mean the message was received or delivered to a device, only that the message was sent.

This is calculated differently depending on what you selected for Card creation:

  • At launch or step entry: The number of cards created and available to be seen. This doesn't count whether the users viewed the card.
  • At first impression: The number of cards displayed to users.
Total Impressions Total Impressions is the number of times a message is viewed. Braze logs an impression only when the message becomes visible to the user on their screen. For example, if a message is placed at the bottom of a page, the impression is not logged until the user scrolls down and the message comes into view. If a user is shown the same message twice, it will count as two impressions. This can increment multiple times for the same user.
Unique Impressions Unique Impressions is the total number of users who have viewed a message from a given campaign. An impression is logged only when the message becomes visible on a user's screen. This count doesn't increment the second time that a user views a Content Card.
Unique Daily Impressions Unique Daily Impressions is the number of unique users who viewed the message on a given day. This count resets each calendar day, so a user who views the same message on two different days is counted twice. This metric aligns with the billing metric of the same name.

Because a user can have a unique daily impression every day, you should expect this to be higher than Unique Impressions.
Unique Clicks Unique Clicks is the distinct number of recipients who have clicked a link within a message at least once and is measured by dispatch_id. This includes clicks on Braze-provided unsubscribe links.
Unique Dismissals Unique Dismissals is the number of unique recipients who dismissed a Content Card from a campaign. A user dismissing a Content Card from a campaign multiple times represents one unique dismissal.

Unique Daily Impressions versus Unique Impressions

There are a few metrics available that cover the visibility of your message. This includes Unique Daily Impressions and Unique Impressions. Let’s use a few example scenarios to understand these metrics better.

Let’s say you view a Content Card today, then receive a new card from the same campaign tomorrow, and again the day after tomorrow—you will be counted as a Unique Daily Impression three times. However, you will only be counted for one Unique Impression. You’ll also be included in the number of Messages Sent, as the card was available on your device.

As another example, suppose you see five Unique Impressions on a Content Card campaign showing 150,000 Messages Sent. This means the card was made available (on the backend) to an audience of 150,000 users, but only five users’ devices performed all of the following steps after that send occurred:

  1. Started a session or the app explicitly requested a Content Cards sync (or both)
  2. Navigated to the Content Cards view
  3. SDK recorded an impression and logged it to the server

Your Messages Sent refers to Content Cards available to be seen, while Unique Daily Impressions refers to Content Cards that were actually seen.

KakaoTalk reporting

The Campaign Details section.

KakaoTalk Performance

The KakaoTalk Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

KakaoTalk metrics

Here are some key KakaoTalk metrics you may see in your analytics. For more details, see the Report Metrics Glossary.

Term Definition
Audience Audience is the percentage of users who received a particular message.

(Number of recipients in variant) / (Unique Recipients)
Unique Recipients Unique Recipients is the number of unique daily recipients, or users who received a new message in a day. For this count to increment for a user more than once, the user must receive a new message on a different day. This number is based on the user_id. For more details, see Unique Recipients in the Report Metrics Glossary.
Sends The total number of messages sent in a campaign. This doesn’t mean the message was received or delivered to a device, only that the message was sent.
Total Clicks The total number of times that the KakaoTalk messages sent were clicked by users.
Errors Errors is the number of errors returned by the KakaoTalk provider (incremented during the sending process).
Revenue Revenue is the revenue in dollars from campaign recipients within the set primary conversion window.
Primary Conversions Primary Conversions is the number of times a defined event occurred after interacting with or viewing a received message from a Braze campaign. This defined event is determined by you when building the campaign.

Report Builder

You can also use Report Builder to build custom reports for your KakaoTalk campaigns. When creating a report, you can filter to include only KakaoTalk campaigns by selecting KakaoTalk under Channels, or by filtering by any tags you’ve applied to your KakaoTalk campaigns.

In-app message reporting

Campaign Details panel with an overview of metrics used to determine campaign performance.

In Canvas, you’ll see in-app message performance mapped onto the Canvas you’ve created. You can use the control panel at the top of the page to clear other messaging types (channels) and only view the in-app messages in your Canvas.

An option to select the channel, with the In-App Message checkbox selected.

In-App Message Performance

The In-App Message Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

In-app message performance analytics

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

In-app message metrics

Here are some key in-app message metrics you may see in your analytics. To see the full definitions of all in-app message metrics used in Braze, refer to our Report Metrics Glossary.

In-app message performance metrics
Metric Definition
Body Clicks Body Clicks occur when a user clicks on a message that doesn't have buttons (Button 1, Button 2) and was created with the traditional editor, and when a message created with the HTML editor or drag-and-drop editor uses brazeBridge.logClick() with no arguments.
Button 1 Clicks Button 1 Clicks is the total number of clicks on Button 1 of the message.
Button 2 Clicks Button 2 Clicks is the total number of clicks on Button 2 of the message.
Unique Impressions Unique Impressions is the total number of users who have viewed a message from a given campaign. An impression is logged only when the message becomes visible on a user's screen.
Total Impressions Total Impressions is the number of times a message is viewed. Braze logs an impression only when the message becomes visible to the user on their screen. For example, if a message is placed at the bottom of a page, the impression is not logged until the user scrolls down and the message comes into view. If a user is shown the same message twice, it will count as two impressions.
Conversions (B, C, D) Conversions (B, C, D) are additional conversion events added after the primary conversion event. This is the number of times a defined event occurred after interacting with or viewing a received message from a Braze campaign.
Total Conversions Total Conversions is the total number of times a user completes a specific conversion event after viewing an in-app message campaign.
Conversion Rate Conversion Rate is the percentage of times a defined event occurred compared to all recipients of a message. This defined event is determined when you build the campaign.
Close Message Close Message is the total number of clicks on the close button of the message. This only exists for in-app messages created in the drag-and-drop editor, not the traditional editor.

Discrepancies between control groups and variants

When an in-app message campaign has a 50-50 variant split, sometimes the control group has a slightly higher percentage than the variant (such as 51% for the control group and 49% for the variant). This discrepancy is caused by a difference in rendering time—for example, when variant messages use large images or templated Connected Content and users leave before rendering completes, while the control group logs impressions without displaying a message.

The distribution between control and variant groups is intended to be roughly even, but assignment to a variant occurs when the in-app message is actually sent to the device. Some users may never trigger the in-app message (for example, they never perform the action that triggers the required custom event), which can cause differences in group sizes.

Click tracking

Braze logs an impression when an in-app message becomes visible on screen. For in-app messages created with the traditional editor, the following table describes what counts as a click.

User action Click logged
User clicks the message body when the message has no buttons Yes (body click)
User clicks a button Yes (button click)
User clicks the close button (X) No
User taps or clicks outside the message to dismiss it (when enabled) No
User closes the app while the message is displayed No

Fullscreen message metrics by user action

For fullscreen in-app messages created with the traditional editor, the following table shows what Braze logs for common user actions. An impression is logged when the message becomes visible on screen.

User action Fullscreen with buttons Fullscreen with no buttons
User sees an in-app message, clicks nothing, and closes the app 1 impression 1 impression
User sees an in-app message and clicks the close button 1 impression 1 impression
User sees an in-app message and clicks a CTA button 1 button click and 1 impression N/A
User sees an in-app message and taps the screen but not on a button 1 impression

Tapping the in-app message does not close the message
1 body click and 1 impression

Tapping the in-app message closes the message or triggers the on-click behavior

For definitions of body clicks and button clicks, see the Report Metrics Glossary.

For control group versus variant impression imbalances in A/B tests, see Discrepancies between the control group and variant.

How do conversions increment with re-eligibility?

Braze assigns only one conversion to each in-app message delivery and attributes it to the most recently received message.

With re-eligibility turned on, each new delivery can generate its own conversion. For example, if a user sees the same in-app message five times and converts after each impression, five conversions count. If a user sees the message only once but converts multiple times afterward, only one conversion counts.

If a user views an in-app message on two separate days but converts on the third day, Braze logs the conversion against the second day’s impression. For Canvases, conversions are tracked per Canvas entry, not per step. If a user converts on multiple steps during the same entry, it still only counts as one conversion.

A user receives the same in-app message five times in a single day and converts five times that same day.

Sarah receives an in-app message from a shopping app about a limited-time sale on her favorite brand of shoes. She clicks on the message and purchases two pairs of shoes.

A few hours later, she receives the same in-app message again and decides to buy another pair of shoes. This happens a total of five times in a single day, and Sarah ends up making five separate purchases, each time after clicking on the in-app message.

Results: Total Conversions and Total Impressions for Sarah each increment by five for that single day. Because Unique Impressions can increment again only after a calendar day boundary in the workspace’s time zone, Unique Impressions remains the same. This causes the Conversion Rate to increase within that period.

A user receives one in-app message and converts in a single day.

Lena receives an in-app message about a new learning course. She clicks on the message and starts the course. While in the app, she also signs up for four more courses. This all happens on the same day after receiving only one message.

Results: Total Conversions and Total Impressions for Lena each increment by one.

A user receives an in-app message and converts one day later.

Tom is a regular customer of an eCommerce app. He receives an in-app message promoting a limited-time discount on a product he’s been interested in. Tom clicks on the message but decides not to buy right away. The next day, Tom remembers the discount and makes the purchase, which is attributed to the in-app message he received the day before.

Results: Total Conversions and Total Impressions for Tom each increment by one.

A user receives an in-app message and converts twice one day later.

Alex recently downloaded an arcade app. One day, Alex receives an in-app message encouraging them to complete a level in a new game. Alex clicks the message but gets distracted and doesn’t complete a level. The next day, Alex completes two levels in the same game.

Results: Because completing a level is the conversion event, Alex converted twice on the second day. However, because they received only one in-app message, Total Conversions and Total Impressions for Alex each increment by one.

A user receives the same in-app message twice in a single day and converts twice the following day.

John is a busy professional who relies on a delivery app to order food from his favorite restaurants. On his commute to work, he triggers a geofence and receives an in-app message promoting nearby restaurants. When he heads home later, he receives that same message again because re-eligibility is on. Although he likes the offers, he decides not to order anything that day.

The next day, John orders lunch and dinner through the app, performing the conversion event twice.

Results: Total Conversions for John increments by one, and Total Impressions increments by two. Because re-eligibility is on, the conversion is assigned to the latest in-app message John received (the second impression). A conversion can be logged only once for each in-app message delivery.

LINE reporting

Control groups

To measure the impact of an individual LINE message, you can add a control group to an A/B test. The top-level Campaign Details panel doesn’t include metrics from the Control Group variant.

LINE Performance

The LINE Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

The "LINE Performance" panel show metrics for two variants.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

LINE metrics

Here are some key LINE metrics you may see in your analytics. To see the definitions of all LINE metrics used in Braze, refer to Report metrics glossary.

Term Definition
Sends The total number of sends successfully communicated between Braze and LINE. This does not mean the message was received by the user.
Unique Opens The total number of LINE messages sent that were opened by users after a minimum threshold of 20 messages per day has been reached.
Total Opens The total number of times that the LINE messages sent were opened by users after a minimum threshold of 20 messages per day has been reached.
Unique Clicks The total number of LINE messages sent that were clicked by users, after a minimum threshold of 20 messages per day has been reached.
Total Clicks The total number of times that the LINE messages sent were clicked by users after a minimum threshold of 20 messages per day has been reached.

Push reporting

Campaign Details panel with an overview of metrics used to determine campaign performance.

Push Performance

The Push Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

Push message performance analytics

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

Push metrics

Here is a breakdown of some key metrics you may see while reviewing your message performance. For the full definitions of all push metrics, refer to the Report Metrics Glossary and filter by push.

Push performance metrics
Metric Description
Bounces Bounces is the total number of messages that were unsuccessfully delivered to the intended recipients. See Bounced push notifications.
Direct Opens Direct Opens is the total number (or percentage) of users who opened your app or website by directly pressing the notification.
Opens Opens are instances including both Direct Opens and Influenced Opens in which the Braze SDK has determined, using a proprietary algorithm, that a push notification has caused a user to open the app.

Delivery of notifications is a “best effort” by Apple Push Notification services (APNs). It is not intended to deliver data to your app, only to notify the user that there is new data available. The important distinction is that we will display how many messages we successfully delivered to APNs, not necessarily how many APNs successfully delivered to devices.

Tracking unsubscribes

Push unsubscribes aren’t included as a metric in campaign analytics, and depend on updates to a user’s push status from providers like Apple or Google. These updates can be infrequent and unpredictable. As a result, push unsubscribes are not included as a metric in push campaign analytics.

However, manually tracking push unsubscribes can still provide valuable insights into user responses to your notification frequency and content relevance. Here are two options for tracking push unsubscribes: Using segment filters or custom filters.

You can create a segment to identify users who aren’t push enabled, meaning they’re not subscribed or opted-in and don’t have a foreground push token. For example, to see the number of unsubscribes in your app, you would use an “OR” combination of the following segments:

  • Background or Foreground Push Enabled is false
  • Has Uninstalled

The Segment Builder section with the filter "Background or Foreground Push Enabled for App" for an app is false, and the filter "Has Uninstalled" are selected.

Note the segmentation filters are approximate and can’t be specifically tied to a date and campaign.

For a different workaround, we also recommend creating a custom event for push unsubscribes based on whether a user’s push enabled status is true or false in order to track this metric.

Understanding opens

Even though Direct Opens and Influenced Opens include the word “opens”, they’re actually different metrics. Direct Opens refers to the direct opening of a push notification. Influenced Opens refers to the opening of an app, without opening a push notification within a specific time frame after receiving it. So, Influenced Opens refers to the app opens, not push notification opens.

Push action buttons and reporting

When you add push action buttons, the Push Performance panel can include Body Clicks, Button 1 Clicks, and Button 2 Clicks alongside metrics such as Direct Opens. These columns measure different interactions, so compare them when you interpret engagement.

Direct Opens reflects dashboard metrics for interactions that count as a direct open of your message. Push Notification Open events in Currents or Snowflake describe push interactions more broadly and can include optional fields such as button_action_type (for example, close) and button_string. For field definitions, see Push Notification Open events.

For iOS, Braze default notification categories (such as Yes / No, Accept / Decline, or Confirm / Cancel) use a fixed pairing: the first action supports OPEN_APP, a URI, or a deep link (aligned with On-Click Behavior in the composer). The companion action uses CLOSE by default—it dismisses the notification and does not open the app. See the default mapping in Apple push action button object.

Because of that, taps on the dismissive preset button (for example, No or Decline) typically do not count toward Direct Opens. Those taps may still appear in Push Notification Open exports when logged, with button_action_type set to close and button_string identifying the tapped action. When you compare campaign analytics to warehouse data, use those payload fields so you don’t treat dismissive taps the same as taps on the notification body or the primary action.

For Android, you set On-Click Behavior per button (Open App, Redirect to Web URL, or Deep Link), so reporting follows the actions you configure rather than the iOS default OPEN_APP / CLOSE split.

Why push sends can exceed unique recipients

The number of Sends may exceed the number of Unique Recipients due to the following reasons:

  • Re-eligibility is on: When re-eligibility is enabled in your campaign or Canvas settings, users who meet the segment and delivery criteria can receive the same push notification multiple times. This results in a higher number of total sends.
  • Users have multiple devices: If re-eligibility is not enabled, the difference may be explained by users having multiple devices associated with their profile. For instance, a user could have both a smartphone and tablet, and the push notification is being sent to all registered devices. Each delivery counts as a send, but only one unique recipient is recorded.
  • Users are assigned to multiple apps: If users are associated with more than one app (such as when testing a new app), they may receive the same push notification on each app. This contributes to a higher number of sends.
Why bounces occur

Bounces occur in Apple Push Notification services (APNs) when a push notification attempts delivery to a device that does not have the intended app installed. APNs also has the right to change tokens for devices arbitrarily. If you attempt to send to a user’s device in which their push token has changed in between when we previously registered their token (such as at the beginning of each session when we register a user for a push token) and the time of send, this would cause a bounce.

If a user disables push within their device settings on subsequent app open the SDK will detect that push has been disabled and notify Braze. At this point we will update the push enabled state to be disabled. When a disabled user receives a push campaign before having a new session, the campaign would successfully send and appear as delivered. The push will not bounce for this user. Following a subsequent session, when you attempt to send a push to the user Braze is already aware of whether we have a foreground token as such no notification is sent.

Push notifications that expire before delivery are not considered as failed and will not be recorded as a bounce.

Firebase Cloud Messaging (FCM) bounces could occur in three cases:

Scenario Description
Uninstalled applications When a message attempts delivery to a device and the intended app is uninstalled on that device, the message will be discarded and the device’s registration ID will be invalidated. Any future attempts at messaging the device will return a NotRegistered error.
Backed up application When an application is backed up, its registration ID could become invalid before the application is restored. In this case, FCM will no longer store the application’s registration ID and the application will no longer receive messages. As such, registration IDs should not be saved when an application is backed up.
Updated application When an application is updated, the previous version’s registration ID may no longer work. As such, an updated application should replace its existing registration ID.

SMS, MMS, and RCS reporting

Campaign Details panel with an overview of metrics used to determine campaign performance.

Control groups

To measure the impact of an individual SMS, MMS, or RCS message, you can add a control group to an A/B test. The top-level Campaign Details panel doesn’t include metrics from the Control Group variant.

SMS/MMS/RCS Performance

The SMS/MMS/RCS Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

SMS/MMS/RCS Performance panel that includes a table of metrics for a control group, Variant 1, and Variant 2.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

SMS, MMS, and RCS metrics

Here is a breakdown of some key metrics you may see while reviewing your message performance. For the full definitions of all SMS, MMS, and RCS metrics, refer to the Report Metrics Glossary and filter by SMS/MMS and RCS.

SMS, MMS, and RCS performance metrics
Metric Definition
Sent Sent is every time a campaign or Canvas step has been launched or triggered, and an SMS or RCS has been sent from Braze. It's possible that the SMS or RCS didn't reach a user's device due to errors.
Delivery Failures Delivery Failures are when the SMS couldn't be sent because of queues overflowing (sending SMS at a rate higher than your long or short codes can handle).
Confirmed Delivery Confirmed Deliveries are when the carrier has confirmed the message was delivered to the target phone number.
Rejections Rejections are when the SMS or RCS has been rejected by the carrier. This can happen for several reasons, including carrier content filtering, availability of the destination device, the phone number is no longer in service, and similar.
Opt-Out Opt-Out is when a user replied to your message with an opt-out keyword and was unsubscribed from your SMS or RCS program.
Help Bounces is the total number of messages that were unsuccessfully delivered to the intended recipients.
Total Clicks Total Clicks is the number (or percentage) of unique recipients who clicked on a link in the delivered message.

Keyword responses

The Keyword Responses panel shows you a timeline of the inbound keywords users replied with after receiving your message.

Campaign Level SMS/MMS/RCS Keyword Responses panel that includes a line graph of keyword distribution over time, and a Keywords Categories section with selected checkboxes for Opt-In, Opt-Out, Help, Other, More, and Coaching.

Here, you can also view the response distribution of each keyword category to determine next steps for retargeting and to conveniently create a segment.

A table that has columns for Keyword Category, Response Distribution, and Retargeting, where you are given the option to create a segment with the keyword category.

SMS Currents events

Like email, Braze receives user-level events related to an SMS message as it makes its journey to a user. Any inbound SMS event will also be sent as a Currents event through the SMS InboundReceived event. This allows you to perform additional actions or reporting on the messages your users are texting in outside of the Braze platform.

Track SMS opt-ins and opt-outs

You can track SMS opt-ins and opt-outs with the following methods:

Method Description
Segmenter The segmenter displays the number of users in a specific Subscription Group. It does not deduplicate by phone number—if multiple users share the same phone number, each instance is counted separately.
Subscription group timeseries Provides a daily snapshot of subscriptions for email and phone numbers. The timeseries counts subscriptions, unsubscribes, and resubscribes. For example, if a user subscribes, unsubscribes, and then resubscribes, they are counted as one subscribed user.
Currents Use Currents to export subscription and engagement events for your own reporting.

Track SMS campaign opt-outs

Track SMS opt-outs at the campaign level by using the inbound receive table instead of the subscription group state change table. For example, in Query Builder or your data warehouse, you can run a query that references the USERS_MESSAGES_SMS_INBOUNDRECEIVE or USERS_MESSAGES_SMS_INBOUNDRECEIVE_SHARED table.

This example query references the USERS_MESSAGES_SMS_INBOUNDRECEIVE table:

SELECT *
FROM USERS_MESSAGES_SMS_INBOUNDRECEIVE
WHERE app_group_id = 'app-group-id'
AND subscription_group_api_id = 'subscription_group_api_id'
AND action = 'Unsubscribed'
AND (campaign_id IS NOT NULL OR canvas_id IS NOT NULL);

This returns users who opted out of SMS communications for the given workspace and subscription group, filtered to those associated with campaigns or Canvases.

Opt-out timing

Keyword and inbound-message events in Currents or your data warehouse, such as timestamps on users.messages.sms.InboundReceive or subscription group state change events, are the authoritative source for when Braze recorded the opt-out.

The user profile shows current subscription state but may not surface a single “SMS unsubscribed at” field unless you set a custom attribute or similar when processing opt-outs.

Charges applied to SMS sending outcomes

This table reflects Braze billing, not your provider’s billing. Outcomes that are not charged by Braze may be charged by your provider.

Outcome Definition Charged by Braze
Sent A campaign or Canvas step has launched or triggered, and an SMS payload has been sent to the SMS provider. No charge
Delivery Failed The SMS payload couldn’t be sent to the SMS provider. This can occur due to overflowing queues, suspended accounts, or media errors (in the case of MMS). No charge
Delivered The SMS provider received confirmation of message delivery from the upstream carrier (and, where available, from the destination device). Charge
Rejected The SMS provider received a rejected receipt indicating that the message wasn’t delivered. This can happen for several reasons, including carrier content filtering or availability of the destination device. Charge
Sends to Carrier    

Sends to Carrier is deprecated, but will continue to be supported for users that already have it. It’s the sum of Confirmed Deliveries, Rejections, and Sends where delivery or rejection wasn’t confirmed by the carrier. This includes instances where carriers don’t provide delivery or rejected confirmation, as some carriers don’t provide this confirmation or can’t do so at the time of send.

Deprecated for new dashboards. Some dashboards may still label this metric as Sent to Carrier. Charges may apply based on individual message sending outcomes

RCS Card message reporting

For Card RCS messages, Total Clicks in campaign and Canvas analytics includes card button taps (such as Message reply and Open URL) and suggestion interactions. The metric may increment more than once if a user taps the same control multiple times.

Card button and suggestion clicks aren’t tracked through link shortening or advanced tracking settings for shortened URLs. User retargeting filters that reference shortened SMS links don’t apply to card button interactions.

For user-level interaction data, export RCS Click events (users.messages.rcs.Click) through Currents. These events include fields such as interaction_type and element_type to distinguish button taps from suggestions.

RCS and SMS fallback reporting

For RCS SMS fallback event behavior (including IS_SMS_FALLBACK=TRUE), see How SMS fallback works with events and segmentation.

Reconcile Rejections with Snowflake or Currents

The Rejections metric in the dashboard is an aggregate workspace count. It isn’t a row-level export, so you can’t always match each rejection to a single row in Snowflake or a single users.messages.sms.Rejection event in Currents. For example, if the user profile was deleted before Braze finished processing the rejection for warehouse export, that rejection doesn’t appear in your USERS_MESSAGES_SMS_REJECTION_SHARED table or Currents payload, while aggregate SMS reporting can still reflect the outcome. For more information, see the SQL table reference and SMS Rejection events in the Currents event glossary.

Webhook reporting

Campaign Details panel with an overview of metrics used to determine campaign performance.

Control groups

To measure the impact of an individual webhook message, you can add a control group to an A/B test. The top-level Campaign Details panel doesn’t include metrics from the Control Group variant.

Webhook Performance

The Webhook Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

Webhook performance panel that includes a table of metrics for a control group and Variant 1.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

Webhook metrics

Here are some key webhook metrics you may see in your analytics. To see th full definitions of all webhook metrics used in Braze, refer to our Report Metrics Glossary.

Webhook performance metrics
Metric Definition
Unique Recipients Unique Recipients is the number of unique daily recipients, or users who received a new message in a day. For this count to increment for a user more than once, the user must receive a new message on a different day.
Sends Sends is the total number of messages sent in a campaign. After launching a scheduled campaign, this metric will include all messages sent, regardless of whether they have been sent out yet due to rate limiting. This doesn’t mean the message was received or delivered to a device, only that the message was sent.
Errors Errors is the number of errors returned by webhook events (incremented during the sending process).

WhatsApp reporting

Control groups

To measure the impact of an individual WhatsApp message, you can add a control group to an A/B test. The top-level Campaign Details panel doesn’t include metrics from the Control Group variant.

WhatsApp Performance

The WhatsApp Performance panel outlines how well your message has performed across various dimensions. The metrics in this panel vary depending on your chosen messaging channel, and whether or not you are running a multivariate test. You can click on the Preview icon to view your message for each variant or channel.

WhatsApp performance panel that includes a table of metrics for Variant 1.

Credits versus send counts

WhatsApp send counts in campaign analytics reflect delivery attempts. Credits consumed may differ when Meta bills by message category (marketing, utility, authentication, service).

  • Response messages composed in Braze don’t consume Braze WhatsApp credits.
  • Use Analytics > Daily Stats for directional send volume. Credit breakdowns per campaign or Canvas aren’t available.

If you want to simplify your view, click Add/Remove Columns and clear any metrics as desired. By default, all metrics are displayed.

WhatsApp metrics

Here are some key WhatsApp metrics you may see in your analytics. To see the full definitions of all WhatsApp metrics used in Braze, refer to our Report Metrics Glossary.

WhatsApp performance metrics
Metric Definition
Sends Sends is the total number of messages sent in a campaign. After launching a scheduled campaign, this metric will include all messages sent, regardless of whether they have been sent out yet due to rate limiting. This doesn’t mean the message was received or delivered to a device, only that the message was sent.
Deliveries Deliveries is the total number (or percentage) of message requests that are accepted by the receiving server. This doesn’t mean the message was delivered to a device, only that the message was accepted by the server.
Reads Reads is when the user reads the message. The user’s read receipts must be “On” for Braze to track reads.
Failures Failures are when the WhatsApp message couldn’t send because the internet service provider returned a hard bounce. A hard bounce signifies a permanent deliverability failure.

If failures are elevated, see Investigate WhatsApp send failures.

End-user blocking and reporting metrics

Additional metrics may be accessed via the WhatsApp Manager dashboard, though confirmation of your access is necessary to access all available insights.

Meta analytics

In addition to Braze analytics, template-level analytics can be accessed in the WhatsApp Business Manager. For information, check out Meta’s documentation.

Historical performance

The Historical Performance panel allows you to view the metrics from the Message Performance panel as a graph over time. Use the filters at the top of the panel to modify the stats and channels shown in the graph. The time range of this graph will always mirror the time range specified at the top of the page.

To get a day-by-day breakdown, click the hamburger menu and select Download CSV to receive a CSV export of the report.

A graph of the Historical Performance panel with example statistics for an email from February 2021 to May 2022.

Conversion event details

The Conversion Event Details panel shows you the performance of your conversion events for your campaign. For more information, refer to Conversion Events.

The Conversion Event Details panel.

Conversion correlation

The Conversion Correlation panel gives you insight into what user attributes and behaviors help or hurt the outcomes you set for campaigns. For more information, refer to Conversion correlation.

The Conversion Correlation panel with an analysis on user attributes and behavior from the Primary Conversion Event - A.

Retention report

Retention reports show you the rates at which your users have performed a selected retention event over time periods in a specific campaign or Canvas. For more information, refer to Retention reports.

Funnel report

Funnel reporting offers a visual report that allows you to analyze the journeys your customers take after receiving a campaign or Canvas. If your campaign or Canvas uses a control group or multiple variants, you will be able to understand how the different variants have impacted the conversion funnel at a more granular level and optimize based on this data.

For more information, refer to Funnel reports.

New Stuff!