Global billing types
Global RCS billing types apply to traffic outside the United States. Each type reflects how a message is classified based on its content, format, and whether it is part of a conversational session between a business and an end user.
| Type | Description |
|---|---|
| Basic message | An application-to-person (A2P) message that:
Conversational agents only: |
| Single message | An application-to-person (A2P) message that:
Conversational agents only: |
| A2P conversation | Conversational agents only: NOTE If a P2A message is delivered within 24 hours of multiple A2P messages, only the A2P message that immediately preceded the P2A message is used to create the conversation session. |
| P2A conversation | Conversational agents only:
|
Qualifying MO messages for conversation triggers
Not every end user reply counts toward starting an A2P or P2A conversation. The following person-to-application (P2A) actions qualify and count toward the conversation trigger:
- The end user sends a free-text or file reply.
- The end user taps a suggested reply.
- The end user shares their location.
The following actions do not qualify and do not trigger a conversation:
- The end user clicks an Open URL, Add to calendar, or similar suggested action button.
- The end user taps Request location but does not complete sharing the location.
- Typing notifications.
- Delivery receipts.
- Seen receipts.
- Read receipts.
Non-qualifying events can still occur within an active conversation window, but they do not start a new conversation on their own.
Mobile terminated (A2P) session/conversation scenarios
The brand sends a message (MT 1) to the end user, to which the end user responds with MO 1, triggering conversational billing. The A2P conversation lasts 24 hours, starting from the end user's response (MO 1). The first message from the brand (MT 1) is also included in conversational billing and receives a Conversation Started webhook update.

The brand sends a message and the end user never replies. The message stays non-conversational and is billed as Basic or Single.

The brand sends two messages within 24 hours, which are delivered. Each time a message is delivered, the time period resets and starts again for the next 24 hours. MT 1 is billed as non-conversational, while MT 2 receives a Conversation Started webhook update. The rest of the communication is within the scope of the conversation (which lasts 24 hours from the end user reply).

The brand sends a message (MT 1) to which the end user (MO 1) responds after 24 hours. This MT 1 message is billed as non-conversational. In this case, the end user's response (MO 1) has not triggered any conversation or is not a part of it. This is because MT 2 is also delivered more than 24 hours after MO 1. So, after the MT 2 message from the brand, the conversation procedure is the same as in scenario 1.

Mobile originated (P2A) session/conversation scenarios
The end user initiates the communication. The 24-hour window starts from the qualifying MO message before the brand reply, and the MT messages inside that window belong to the same conversational context.
Before MO1, there were no MTx messages or ongoing sessions in the previous 24 hours.

When multiple MO messages are sent, only the last MO message (in this case, MO3) prior to MT1 will start the 24-hour window session, and the same logic applies as in P2A scenario 1.
- MO1 - 9:00 - 24-hour window begins
- MO2 - 10:00 - 24-hour window begins
- MO3 - 11:00 - 24-hour window begins
- MT1 - 24:00 - first message
- MO4 - 9:00 next day
- MT2 - 10:59:59 - 24-hour session ends

This scenario covers a situation where there was no response to the brand message (MT 1) in a 24-hour period. The original message remains non-conversational. The later MO reply does not attach to the original conversational window and instead starts a new P2A conversation.

Tracking billing with webhooks
RCS webhooks include a trafficType field that reports the billing classification applied to each message. This field maps to the global billing types as follows:
| trafficType value | Billing type |
|---|---|
BASIC | Basic message (global) |
SINGLE | Single message (global) |
A2P_CONVERSATION | A2P conversation (global) |
P2A_CONVERSATION | P2A conversation (global) |
Conversation tracking:
When a conversational billing session starts, you receive a Conversation Started webhook event. This event includes a conversation.id field that identifies the session. Subsequent messages during the 24-hour session window include the same conversation.id in their webhooks.
For webhook configuration and field definitions, see Billing transparency in webhooks.
Conversational billing events are triggered on message delivery. To track conversation pricing, set up a subscription that includes the relevant event types, or review your existing subscription to check which event types are already enabled. For the webhook fields included in each billing event, see Billing transparency in webhooks.