Custom contact fields
Available on Professional and Unlimited plans
Define your own fields beyond the built-in ones (email, name, company, phone, etc.) and target them in segment rules and mailing personalization.
Field types
| Type | Editor control | Use for |
|---|---|---|
| Text | single-line input | one-off labels (job code, role) |
| Number | numeric input | revenue, score, account size |
| Date | date picker | renewal date, anniversary |
| Yes/No | dropdown (true/false/empty) | flags |
| URL | URL input with validation | LinkedIn, GitHub, blog |
| email input with validation | secondary email | |
| Select-from-list | dropdown with CSV options | tier (Gold/Silver/Bronze), event source |
Defining fields
Go to Contacts → Custom fields (/contacts/custom-fields).
- Click Add field.
- Fill in:
- Name — must be unique within your account / org
- Type — picks the editor control above
- Options (only for Select) — comma-separated list of dropdown values
- Required — when on, contact-edit blocks save until the field is filled
- Sort order — positions the field among others on the contact editor
- Save. The field appears immediately on every contact's edit page under a Custom fields card.
Editing values
Open any contact (/contacts/{id}/edit). The Custom fields card auto-renders the right control for each definition:
- Empty value = unset (the row in
ContactCustomFieldValueis deleted, not stored as empty string). - This matters for segments:
customField:Tier isSetmatches only contacts with a value;isNotSetmatches the rest.
Using in segments
In the segment rule builder, the Field dropdown lists every custom field under a Custom fields group. Operators per type:
- Text / URL / Email / Select / Number / Date —
equals,contains,isSet,isNotSet - Yes/No —
equals true,equals false
Worked example — track which trade show every lead came from
Goal: measure which event delivered the best leads.
/contacts/custom-fields→ Add field.- Type: Select-from-list. Name:
Source Event. Options:2026-Berlin, 2026-Paris, 2026-Lisbon. - After each show, CSV-import the badge scans (the field auto-renders as a dropdown on every contact).
- Six months later, build a segment:
Source Event equals 2026-Berlin→ Run preview → 87 contacts. - Send a follow-up to that segment, compare open / click rates with the Paris and Lisbon segments.
- Concrete data for next year's event budget.
Worked example — partial sync from a CRM
Goal: keep one custom field (Tier) in sync with an external CRM.
- Define the Tier select field with options
Gold / Silver / Bronze. - From the CRM, push updates via
POST /api/contacts/bulkwith the field set per contact. - Use
Tier equals Goldas a segment rule for VIP-only campaigns. - Null fields on update mean "leave existing alone", so partial syncs don't accidentally clear tiers.
Related
- Smart segments — filter on custom fields
- Bulk APIs — sync custom fields from another system