RCS CloudWatch metrics and monitoring
AWS End User Messaging publishes RCS messaging metrics to CloudWatch in the
AWS/SMSVoice namespace. You can use these metrics to monitor your RCS
message delivery, track fallback behavior from RCS to SMS, and set alarms to alert you
when delivery patterns change. RCS metrics are published alongside existing SMS and MMS
metrics in the same namespace.
Topics
RCS messaging metrics
The AWS/SMSVoice namespace includes the following metrics specific
to RCS messaging. These metrics track RCS message sending, delivery,
and SMS fallback.
| Metric | Description | Unit | Meaningful statistics |
|---|---|---|---|
RCS.MessagesSent |
The number of RCS messages sent. This metric counts messages that AWS End User Messaging accepted and attempted to deliver via RCS. Messages blocked by Protect or service limits are excluded from this count. |
Count |
|
RCS.MessagesDelivered |
The number of RCS messages successfully delivered to the recipient's device. A message is counted as delivered when AWS End User Messaging receives a delivery confirmation from the RCS infrastructure. |
Count |
|
RCS.MessagesFallenBackToSMS |
The number of messages that were initially attempted via RCS but fell back to SMS delivery. This metric helps you understand how often RCS delivery is unavailable for your recipients and can be used to track fallback rates over time. |
Count |
|
Modified existing metrics with OriginationIdentityType dimension
With the addition of RCS, several existing metrics in the AWS/SMSVoice
namespace now support the OriginationIdentityType dimension. This
dimension allows you to filter metrics by the type of origination identity used to
send the message, including AWS RCS Agents.
The following existing metrics now include the
OriginationIdentityType dimension:
-
NumberOfTextMessagePartsSent— Filter by origination identity type to see how many text message parts were sent via each channel (phone number, sender ID, AWS RCS Agent, or pool). -
NumberOfTextMessagePartsDelivered— Filter by origination identity type to compare delivery rates across channels. -
NumberOfMediaMessagePartsSent— Filter by origination identity type to track media message sending by channel. -
NumberOfMediaMessagePartsDelivered— Filter by origination identity type to compare media message delivery across channels. -
TextMessagesBlockedByProtect— Filter by origination identity type to see which channels have messages blocked by Protect rules. -
MediaMessagesBlockedByProtect— Filter by origination identity type to track Protect blocking by channel.
Use the OriginationIdentityType dimension with a value of
RCS_AGENT to isolate metrics for messages sent through your AWS RCS
Agent. For more information about the available dimension values, see
RCS metric dimensions.
RCS metric dimensions
You can use the following dimensions to filter and group RCS metrics. These dimensions are available for both the new RCS-specific metrics and the modified existing metrics described in the previous sections.
OriginationIdentityType dimension
The OriginationIdentityType dimension filters metrics by the
type of origination identity used to send the message.
| Value | Description |
|---|---|
PHONE_NUMBER |
Messages sent using a phone number (long code, short code, or toll-free number). |
SENDER_ID |
Messages sent using a sender ID. |
RCS_AGENT |
Messages sent using an AWS RCS Agent. |
POOL |
Messages sent using a phone pool. When you send through a pool, AWS End User Messaging selects the appropriate origination identity (AWS RCS Agent or phone number) automatically. |
MessageType dimension
The MessageType dimension filters metrics by the type of
message.
| Value | Description |
|---|---|
TEXT |
Text messages sent via RCS or SMS. |
MEDIA |
Media messages (MMS). RCS in AWS End User Messaging currently supports text messages only. |
DELIVERY_REPORT |
Delivery report messages confirming message delivery status. |
Note
The READ_REPORT message type is not available because read
receipts are not supported in the current release of RCS in AWS End User Messaging.
Inbound RCS message metrics
The existing NumberOfMessagesReceived metric in the
AWS/SMSVoice namespace now includes inbound RCS messages. You can use
the OriginationIdentityType dimension with a value of
RCS_AGENT to filter for inbound messages received through your AWS RCS
Agent.
The following dimensions are available for inbound RCS message metrics:
-
OriginationIdentityType— UseRCS_AGENTto filter for inbound RCS messages. -
IsoCountryCode— Filter by the country code of the inbound message sender. -
MessageType— UseTEXTto filter for text messages received via RCS. In the current release, RCS in AWS End User Messaging supports inbound text messages only.
Monitoring best practices for RCS
Use the following best practices to monitor your RCS messaging operations and identify delivery issues early.
Track RCS versus SMS delivery rates
Compare RCS.MessagesDelivered against
RCS.MessagesFallenBackToSMS to understand what percentage of your
messages are delivered via RCS versus SMS. A high fallback rate may indicate that
many of your recipients are on carriers or devices that don't support RCS.
Use the following formulas to calculate key rates:
RCS delivery rate = 100 * SUM(RCS.MessagesDelivered) / SUM(RCS.MessagesSent) SMS fallback rate = 100 * SUM(RCS.MessagesFallenBackToSMS) / SUM(RCS.MessagesSent)
Track these rates over time to identify trends as carrier and device support for RCS expands. A decreasing fallback rate indicates that more of your recipients are receiving messages via RCS.
Set CloudWatch alarms for RCS metrics
Create CloudWatch alarms to alert you when RCS messaging patterns change unexpectedly. Consider setting alarms for the following conditions:
-
High fallback rate — Set an alarm when
RCS.MessagesFallenBackToSMSexceeds a threshold percentage ofRCS.MessagesSent. A sudden increase in fallback may indicate an issue with your AWS RCS Agent or a carrier outage. -
Delivery rate drop — Set an alarm when the ratio of
RCS.MessagesDeliveredtoRCS.MessagesSentdrops below your expected delivery rate. -
Inbound message volume — If you use two-way RCS messaging, set an alarm on
NumberOfMessagesReceived(filtered byOriginationIdentityType = RCS_AGENT) to detect unexpected changes in inbound message volume.