Contacts and segments
Contacts are people who can receive your email. Lists group contacts for targeting. Tags are freeform labels on contacts. Segments (roadmap) filter contacts by attribute + event history.
Add contacts
Three ways:
- Dashboard → Contacts → New contact. Good for one-off additions.
- CSV import → Contacts → Import. Email, first name, last name, and freeform custom fields. Dupes are updated, not rejected.
- API →
POST /v1/workspaces/<id>/contacts. See the API reference.
Each contact has active | unsubscribed | bounced | complained status. Bounced and complained are set automatically from webhook events.
Lists
Lists are named groups. A contact can be in many lists. Each membership tracks subscribed_at / unsubscribed_at independently so list-specific unsubscribes don’t wipe out the rest of your audience.
Suppressions
Any email address you never want to send to, for any reason. Bounces and complaints flow in automatically; you can add addresses by hand too. Sends to a suppressed recipient return HTTP 403.
Custom fields
Contacts support an open JSON customFields blob. Anything you can fit there — plan tier, signup date, favorite color — is usable inside {{handlebar}} variables on templates.