Two-Way Messaging (Custom Keyword Responses)

Two-way messaging uses short codes and keywords to deliver text messages to mobile users. It requires end users to send a keyword to Braze to which that user will receive an automatic reply. Applied correctly, two-way messaging can be an simple, immediate and dynamic solution to customer marketing, saving time and resources along the way.

Two Way Messaging Speeds

Two-way messaging leverages custom events to make this seemingly smooth customer client exchange possible. Due to the nature of two-way messaging, you may find a slight increase in response time. Below are the implications of including two-way messaging:

Type Speed Notes
Known Phone Numbers 3-5 Seconds A known number is a number that has already been assigned a phone attribute and is already subscribed to a subscription group within Braze.
Unknown Phone Numbers 10-15 Seconds An unknown number is one that has not yet been identifier. For more information on how Unknown phone numbers are dealt with, check out our documentation.

If you require a faster sending speeds for unknown phone numbers, reach out to your customer success manager to discuss your options.

Custom Keyword Messaging Handling

Custom Event Fired  
sms_response_subscriptionName_custom Response Examples => Status, Coupons, News
Included Event Properties  
- message_body: users SMS response
- to_number: usually short code the clients used to send SMS
- from_number: user’s phone number
- sms_message_id: messaging service ID
Message Body =>
Users response returned as all lower case
  • Anytime a user texts an SMS response that is not a default keyword to a phone number in a given Subscription Group, a custom event like sms_response_SubscriptionGroupName_custom with event properties message_body, to_number, from_number, and sms_message_id will be sent to Braze.
  • Use this custom event with the property message_body assigned as a custom keyword to trigger an SMS campaign from Braze.
  • The message_body custom keyword value must be lowercase.


Note: This feature relies on user aliases in order to properly assign custom events to user profiles in Braze. If no Braze profile exists with a user alias of the user’s phone number in E.164 format, the call to the users/track endpoint will fail silently. The alias should be set in the format below either through the SDK or the new user alias endpoint:

  1. alias_label: phone and alias_name: users_phone_number
  2. Phone numbers must be in the E.164 format (e.g +19173337578).

If using the new user alias endpoint, to ensure E.164 compliance, please add a “+” prefix as the default “phone” field does not automatically include this symbol.

New Stuff!