Key Concepts
Contact
A contact represents a phone number in the system. Each contact stores:- Phone Number: In E.164 format (+14155551234)
- Labels: Custom key-value pairs for targeting
- Engagement Data: Click history, conversion data, message counts
- Subscription Status: Active, opted-out, or suppressed
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
Creation
Contacts are created when you:
- Import a CSV file
- Add via API
- Receive an inbound message from a new number
Engagement
As you send messages, the contact accumulates engagement data: sends, clicks, conversions.
Contact Data Model
| Field | Type | Description |
|---|---|---|
phone_number | String | E.164 format phone number |
labels | Object | Custom key-value pairs |
created_at | DateTime | When first added |
total_sends | Integer | Messages sent to this contact |
total_clicks | Integer | Link clicks from this contact |
total_revenue | Float | Attributed revenue |
last_sent | DateTime | Most recent message sent |
last_clicked | DateTime | Most recent click |
Working with Contacts
View Contacts
- Go to Sending Lists
- Click on a list
- View the Contacts tab
Contact Details
Click on any contact to see:- Full engagement history
- All labels and values
- Subscription status per list
- Message history
- Click and conversion events
Contact Status
| Status | Description | Can Receive Messages |
|---|---|---|
| Active | Subscribed and eligible | Yes |
| Opted-Out | Replied STOP | No |
| Suppressed | Manually suppressed | No |
| Invalid | Number format issues | No |
Best Practices
Always use E.164 format
Always use E.164 format
Store numbers in E.164 format (+14155551234) for consistency. The platform normalizes imports automatically.
Use labels for segmentation
Use labels for segmentation
Add labels during import or via API to enable powerful audience targeting later.
Monitor opt-out rates
Monitor opt-out rates
High opt-out rates can indicate messaging frequency issues or content problems. Aim for under 2%.
Clean your lists regularly
Clean your lists regularly
Remove invalid numbers and long-term non-engagers to improve deliverability and reduce costs.