Skip to main content
Contacts are the foundation of your SMS marketing. Every phone number you message is stored as a contact, with subscription status, custom fields, and engagement history.

Key Concepts

Contact

A contact represents a phone number in the system. Each contact stores:
  • Phone Number: In E.164 format (+14155551234)
  • Custom Fields: Custom key-value pairs for targeting
  • Engagement Data: Click history, conversion data, message counts
  • Subscription Status: Active, opted-out, or invalid

Sending List

A sending list is a phone number you send messages from. Contacts subscribe to sending lists.

ListContact

The relationship between a contact and a sending list. This tracks:
  • When the contact subscribed
  • How they subscribed (API, import, journey)
  • Current subscription status
  • Opt-out timestamp (if applicable)

Contact Lifecycle

1

Creation

Contacts are created when you:
  • Import a CSV file
  • Add via API
  • Receive an inbound message from a new number
2

Subscription

Contacts subscribe to your sending list(s). They can be subscribed to multiple lists.
3

Engagement

As you send messages, the contact accumulates engagement data: sends, clicks, conversions.
4

Opt-Out (Optional)

If a contact replies STOP, they’re automatically unsubscribed and won’t receive future messages.

Contact Data Model

Working with Contacts

View Contacts

  1. Go to Sending Lists
  2. Click on a list
  3. View the Contacts tab
You’ll see all contacts subscribed to that list with their status and engagement metrics.

Contact Details

Click on any contact to see:
  • Full engagement history
  • All custom fields and values
  • Subscription status per list
  • Message history
  • Click and conversion events

Conversation History

The contact view shows the full two-way message history — every message you sent and every reply the contact sent back, in order. This is the same conversation you can open and reply to from the Inbox; the contact view is the read-oriented, per-contact angle on it. Inbound replies are also available for targeting — see reply-based segmentation to build audiences from what contacts replied, when, and how often.

Contact Status

Best Practices

Store numbers in E.164 format (+14155551234) for consistency. The platform normalizes imports automatically.
Add custom fields during import or via API to enable granular audience targeting later.
High opt-out rates can indicate messaging frequency issues or content problems. Aim for under 2%.
Remove invalid numbers and long-term non-engagers to improve deliverability and reduce costs.

Next Steps

Importing Contacts

Bulk import via CSV

Custom Fields

Organize with custom fields

Audiences

Target contact segments

API

Manage via API