Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Messaging Insights Dashboards

Messaging Insights real-time dashboards afford you the capability to:

  • Visualize and analyze your application's messaging activities.
  • Identify and debug issues.
  • Optimize delivery.
  • Find areas to boost engagement with your end users.

This guide walks you through the basic functionality of the dashboards along with common usage examples. You can find the dashboards in the Twilio Console by navigating to Monitor > Insights > Messaging(link takes you to an external page).

Drill down into your data with filters

drill-down-into-your-data-with-filters page anchor

You can use filters to narrow down your data across different dimensions throughout all of the Messaging Insights dashboards. These filters include:

  • Time range
  • Channel
  • Carrier
  • Country
  • Delivery Status
  • Messaging Service
  • Error Code
  • Subaccount
  • Twilio number
  • Used Scheduling

Use these filters to narrow down the range of messages to the one you care about for a given task.

Messaging Insights Filters.

When should I use it? Analyze delivery health in your messaging application with this view of incoming vs. outgoing messages. Use case, carrier filtering, and geography all affect message deliverability, so we recommend regularly monitoring the Overview dashboard to establish a baseline.

Messaging Insights Overview Report.

In this dashboard, the following tiles give you a high-level understanding of delivery rates:

Outgoing Messages

  • Status OK : Messages with Delivery Status of "Delivered", "Delivery Unknown", and "Sent" are counted as Status OK
  • Messages with Errors: Messages that are "Undelivered or "Failed" are counted as Messages with Errors

Incoming Messages

  • Received: Incoming Messages that are successfully received and passed to your incoming webhook URL
  • Failed: Incoming Messages that were not successfully received and passed to your incoming webhook URL

Delivery & Errors dashboard

delivery--errors-dashboard page anchor

When should I use it? Use the three views in this dashboard to identify patterns in delivery status, error code, and message rates of undelivered or failed messages. Once you've identified the patterns that affect message deliverability, you can find the most prevalent error codes, look at individual messages to see what is happening at a granular level, and go straight to the related API Error or Warning documentation.

Messaging Insights Delivery & Errors Report.

For example, you could visit the Delivery & Errors dashboard to identify the following patterns:

  • A carrier incident causing a rise in undelivered messages
  • A Twilio number being filtered
  • Country-specific issues
  • A misconfigured Messaging Service

The three views break down your deliverability data into different buckets, making it easy to find patterns in delivery status, error codes, and total messaging volume:

  • Delivery Status tab : Monitor delivery status over time and identify issues by carriers, countries, and subaccounts, Messaging Services, and phone numbers. Look for spikes to indicate changes.
  • Status Code: Drill into error codes to quickly understand which ones are commonly appearing. You can click on the legend to go straight to the relevant documentation.
  • Total Messages: See how many messages you sent, divided into different categories.

Selecting one of the three breakdown views changes the view of the data in the six charts below. Additionally, you can filter all of the charts by time range, carrier, and the to/from country.

Example: Triaging a spike in failed messages

example-triaging-a-spike-in-failed-messages page anchor
Under Delivery & Errors report, select failed messages, narrow the time window, filter by error code, follow the link to the relevant documentation for a given error code.

Say that you notice a rise in the number of failed outgoing messages. Let's use the Delivery & Errors dashboard to debug.

  1. Triage the spike by narrowing down to the time window that has the most instances of failed messages. Under the Delivery Status tab, select only the Failed delivery status.
  2. Drilldown to find the most common error codes on the Status Code tab.
  3. Fix : Use the linked documentation to learn possible solutions, and view the list of messages to get a comprehensive view of the messages that are failing with that specific error code. For example, if you identified Error 21614 as the most common error code within the pool of failed messages, the linked documentation explains possible solutions for handling invalid to phone numbers.

When should I use it? This dashboard gives you a picture of how your end users are engaging with your messages. Catch spikes in rates of opt-outs or "help" messages to find places where your users are disengaging or need more information.

Messaging Insights Responses Report displaying pie chart of data.

The Responses dashboard displays all of the different responses that you receive from your end users:

  • Other: Most Twilio users want to optimize for increased "other" responses. These are messages that contain actual responses from your end users, signaling engagement.
  • Opt-Out : These are responses from users who choose not to receive further messages from you. (See the documentation on Advanced Opt-Out .)
  • Help : These are responses from users which match your defined "help" keywords.
  • Opt-in : These are responses from end users matching your defined "opt-in" keywords.
Use the Responses report in Messaging Insights to see responses broken out by type and focus on opt-outs, help, and opt-in messages.

Example: A spike in opt-out responses

example-a-spike-in-opt-out-responses page anchor

If you notice a sharp increase in the number of opt-out responses in the Responses dashboard of Messaging Insights, hover over the chart to see the trend for a given day. From there, you can view the message list for these opt-out responses and determine if the spike is related to the content of messages that you sent during that time frame.

OTP Conversion dashboard

otp-conversion-dashboard page anchor

When should I use it? If you are using the Feedback API, use the OTP Conversion dashboard to see how effective the funnel is when someone uses Two Factor Authentication ("2FA"). This is a crucial business outcome for customers.

Many Twilio customers send verification code messages using Twilio. These messages are also called OTP, 2FA, MFA, Verification Code, Pin Code, etc. with a 4-6 digit passcode that a user uses to authenticate.

Messaging Insights OTP Conversion report.

In the OTP Conversion dashboard, you can get a high-level view of your OTP delivery with the following tiles:

  • OTP Messages Attempted : A message request to Twilio with the provide_feedback field set to True
  • OTP Messages with Status OK: A message request to Twilio with the provide_feedback field set to true that has a delivery status of "OK"
  • OTP Conversion: A "Confirmed" outcome that been provided for a Message is considered a conversion event.

How Twilio improves message deliverability

how-twilio-improves-message-deliverability page anchor

You can add the provideFeedback parameter on an API request to create a message. When your end user correctly inputs the OTP and authenticates, you send message feedback to Twilio. Your messages are delivered more consistently if you use the Feedback resource to send Twilio a confirmation when you know one of your end users has successfully received your message.

This feedback on message delivery provides more accurate and complete information than what is often provided by carriers. Twilio uses AI-based routing systems to monitor the conversion signal that we receive and improve our messaging traffic. If our systems detect a drop in OTP conversion rates, for example, Twilio quickly changes the routing accordingly.



You must be using Twilio's Feedback API to activate the OTP Conversion dashboard.

We recommend using the provideFeedback parameter on only OTP messages to ensure a clean set of OTP-related data in the OTP Conversion dashboard.

Example: Calculate cost-per-conversion

example-calculate-cost-per-conversion page anchor

Let's say that you have used the provideFeedback parameter and submitted feedback information via the Feedback Resource. In the OTP Conversion dashboard, Twilio aggregates all of the data streams to show you:

  • how many OTP messages you have attempted sending via Twilio ("OTP Messages Sent")
  • how many messages had no delivery issues ("OTP Messages with Status OK")
  • how many messages converted ("OTP Conversions")
  • the number of countries in which you are sending OTP messages

First, calculate the cost of total messages attempted ("OTP Messages Sent"). Dividing this number by the number of total successful conversions ("OTP Messages with Status OK") yields the average cost per conversion. Knowing this metric indicates whether your systems are using user authentication in a cost-effective way.

Additionally, you can visualize your per-country data in the OTP Message Volume chart. Clicking on any of the countries listed filters down to that specific country so that you can track delivery and conversion on a per-country basis.


Public Beta

The Scheduled dashboard is in Public Beta.

When should I use it? This dashboard shows metrics related to the volume of messages that are scheduled to be sent using Message Scheduling. You can use it to view the amount of upcoming scheduled messages by day or hour so you can make informed decisions about your future throughput.

Messaging Insights Scheduled dashboard.

The Total scheduled messages tile shows you how many messages are currently scheduled and the amount of schedulable messages remaining on your account.

The Scheduled Messages graph visually displays the volume and distribution of scheduled messages over the selected date and duration ranges.

Visit Messaging Insights in the Console(link takes you to an external page) to explore the different dashboards and learn more about the factors influencing your message delivery rates.

Rate this page: