Two-way messaging

Two-way messaging lets you collect your customers' replies to your text messages. This opens up powerful new ways to engage with your audience and collect valuable feedback.

📘

Note

Keyword auto-responses content moved to this standalone article: Keyword auto-responses.

Why two-way messaging matters

When customers can reply to your messages, you can:

  • Gather zero-party data: Learn what customers really want by letting them tell you directly.
  • Collect instant feedback: Send NPS surveys and get responses within minutes.
  • Build stronger relationships: Let customers ask questions and get help immediately.
  • Stay compliant: Meet US regulations (TCPA and CTIA) by giving customers easy ways to unsubscribe.

For example: Send "How was your shopping experience? Reply 1-10." Your customers reply with ratings. Follow up with personalized offers based on their scores.

Supported channels

How two-way messaging works

Here's what happens when a customer replies to your message:

  1. Customer replies: They send a message to your dedicated phone number.
  2. Message forwarding: Your messaging vendor (like Infobip or Sinch) forwards the reply to Bloomreach Engagement.
  3. Event tracking: Bloomreach Engagement tracks a campaign event with status incoming_message on the customer's profile including the text of the message.
  4. Automation triggers: You can use this event to trigger follow-up scenarios automatically.

This creates a continuous conversation loop that keeps customers engaged.

Setup requirements

Integration requirements

You need:

  • Channel integration: Set up integration for your chosen channels (SMS, MMS, RCS, or WhatsApp).
  • Dedicated phone number: Get a short code (4-6 digits) or long code (9-11 digits) from your provider. Customers can't reply to alphanumeric senders like "YourBrand."

🚧

Important

You can't use two-way messaging with AlphaSender ID. You need a dedicated phone number (short code or long code) to receive customer replies.

Phone customer attribute

To send messages and receive two-way messaging, you need to use the phone customer attribute to store the customer phone number. The attribute name must be phone in lowercase.

Phone number format

Phone numbers in the phonecustomer attribute must use international format (starting with "00" or with "+"):

  • Correct: +441234556789 or 0044123456789
  • Incorrect: 441234556789 or 123-456-7890

If your phone numbers use a different format, you can modify them using Jinja templates.

Phone as soft ID

We recommend using the phone number as a soft ID to:

  • Enable new customer subscriptions via text-to-join campaigns.
  • Help merge profiles later if customers create accounts through other channels.
  • Prevent duplicate messages when multiple profiles share the same phone number.

Enable the feature

  1. Contact your Customer Success Manager (CSM) to enable the "Two-Way Messaging" account module.
  2. Go to Project settings > Channels > SMS/MMS/RCS (or Mobile messaging for WhatsApp).
  3. Under Two-way mobile messaging, enable Track incoming messages.

Test your setup

Send a test message to your dedicated number:

  1. Text any message to your dedicated sender number.
  2. Check Data & Assets > Customers to verify the campaign event appears on the customer profile.
  3. Look for these event details:
    1. Status: incoming_message
    2. Message content: The text the customer sent
    3. Timestamp: When you received the message

Know what customers pay to reply

When your customers reply to your messages, their mobile carrier might charge them depending on their plan and your number type.

Standard phone numbers (9-11 digits)

  • Unlimited texting plans: Usually no extra charge.
  • Pay-per-text plans: Charged per message based on carrier rates.

Short codes (4-6 digits)

  • Standard rate: Billed like regular SMS, often free with unlimited plans.
  • Premium rate: May have extra fees (usually stated in the message).
  • Free-to-end-user: No charge if you cover the costs.

Your customers should check with their carrier for exact charges, as policies vary.

Incoming message event

When your customers reply, Bloomreach Engagement tracks a campaign event with these details:

PropertyValueDescription
statusincoming_messageIdentifies this as a customer reply
action_typesms, mms, rcs, whatsappWhich channel they used
timestampmessage.received_at or postback.timestampWhen the system got the message
messagemessage.body or postback.contentThe text the customer sent
sendermessage.fromWho sent the message
recipientmessage.toWhere they sent it

📘

For MMS

The system combines all message parts and includes media as URLs.

How customer profiles are matched

Bloomreach Engagement uses 2 methods to connect replies to customer profiles.

Real-time processing (preferred)

This happens when:

  • The reply comes from a phone number linked to an existing profile.
  • That profile previously received at least one mobile message from you.
  • The system can match callback data from your previous message.

Events are tracked immediately, giving you instant data for automation.

Periodic processing (backup)

If real-time processing isn't possible, the system checks every few minutes to find profiles with a matching phone attribute. It selects one profile based on:

  1. Latest recipient: The customer who most recently received a mobile message.
  2. Newest profile: If the first rule doesn't apply, it picks the most recently created profile.

If several profiles share a phone number:

  • The system finds up to 10 matching profiles.
  • It tracks the incoming message event to one profile based on the rules above.

If there’s no customer profile with a matching phoneattribute found, there is no event tracked. It isn't possible to create new customer profiles using 2-way messaging. To create new profiles and support “text-to-join” use cases, use the Keyword auto responses article.

Use incoming messages for automation

Once you're tracking incoming messages, you can create powerful automated workflows.

Your NPS follow-up scenario

  1. Trigger: Your customer replies with a number (1-10).
  2. Condition: Check if rating is 9-10 (promoters).
  3. Action: Send thank you message and ask for review.
  4. Alternative: For low scores, send apology and discount code.

Your customer support routing

  1. Trigger: Your customer replies with keywords like "help" or "support".
  2. Action: Create support ticket and send confirmation message.
  3. Follow-up: Send survey after ticket resolution.

Your feedback collection

  1. Trigger: Your customer replies to product feedback request.
  2. Action: Store response as custom attribute.
  3. Segmentation: Use responses to create targeted campaigns.

Important limitations

  • Dedicated number required: You must have a dedicated phone number. Your customers can't reply to alphanumeric senders.
  • International format: Phone numbers must use international format with "00" or "+" prefix.
  • Profile limit: The system processes up to 10 profiles per phone number.
  • Campaign events: If SMS campaign events are disabled, incoming messages won't be tracked.

Next steps

Once you have two-way messaging set up, consider adding keyword auto-responses to automate common replies like "STOP" for unsubscribing or "HELP" for customer support.

For details, review the Keyword auto-responses article.

Related Use Case Center articles