CTRLK

Shared components

Global billing types

|

View as Markdown

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.

TypeDescription
Basic message

An application-to-person (A2P) message that:

  • Contains only text (no media or suggested actions).
  • Does not exceed 160 bytes in UTF-8 encoding.

Conversational agents only:

If a person-to-application (P2A) message is delivered as a response to an A2P message within the next 24 hours, the basic message becomes part of an A2P conversation. Otherwise, the session terminates.
A basic message is always delivered from an agent to a user.

Single message

An application-to-person (A2P) message that:

  • Contains multimedia or text that exceeds 160 bytes in UTF-8 encoding.
  • And/or contains suggested reply or any of suggested actions.
  • Includes File Message, Rich Card, or Carousel message subtypes.

Conversational agents only:

If a P2A message is delivered as a response to an A2P message within the next 24 hours, the single message becomes part of an A2P conversation. Otherwise, the session terminates.
A single message is always delivered from an agent to a user.

A2P conversation

Conversational agents only:

An A2P conversation is initiated when a P2A message is delivered within 24 hours of an A2P single message or A2P basic message.

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.

This A2P message, along with any messages delivered within the next 24 hours, are part of the new A2P conversation.

P2A conversation

Conversational agents only:

A person-to-application (P2A) conversation is initiated when the following requirements are met:

  • There is no active session (A2P single message, A2P conversation, or P2A conversation)
  • A P2A message is delivered
  • The business responds within 24 hours

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.
NOTE

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.

RCS A2P Scenario 1: MT 1 triggers session when MO 1 responds within 24 hours


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.

NOTE

Before MO1, there were no MTx messages or ongoing sessions in the previous 24 hours.

RCS P2A Scenario 1: End user initiates, P2A session starts from MO 1


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 valueBilling type
BASICBasic message (global)
SINGLESingle message (global)
A2P_CONVERSATIONA2P conversation (global)
P2A_CONVERSATIONP2A 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.

IMPORTANT

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.


Was this page helpful?