Contacts and segments
Keep customer profiles, consent, lists, and behavior connected.
View as Markdown ↗The contact model
Each profile starts with an email address and can include name, location, company, phone, and custom attributes. Email and behavioral activity are attached to the same contact timeline.
Import contacts
Upload a CSV from Contacts. Common headers such as first name, company, and country map to standard fields. Other columns become typed custom attributes.
Use one row per email address, remove addresses you cannot contact, and keep a record of how each person subscribed.
Before anything is imported you get a check of the list itself: syntax, whether each domain has mail servers, throwaway providers, role addresses, and anyone you have already hard-bounced or been marked as spam by. Choose whether to keep those out, and see the Contacts API for the same check over HTTP. It is not a mailbox-level verification — we never open an SMTP session — so for a cold or years-old list, run it through a verification service (MillionVerifier, ZeroBounce, Kickbox, NeverBounce, Mailgun Validate) and import the cleaned file.
Lists and segments
Lists are explicit groups you manage directly. Segments are dynamic audiences based on profile fields and behavior. Use lists for known membership and segments when the audience should update as customer data changes.
Consent and email status
Subscription consent and deliverability status are separate. A sendable contact must be subscribed and active. Hard bounces and complaints suppress the address; repeated soft bounces temporarily suppress it until a successful delivery.