Tags and custom fields
Tags are a shared workspace pool usable on both contacts and campaigns; custom fields are per-contact JSON populated by import or enrichment. Both are visible right on the contact grid.
On this page
Tags are a shared workspace pool
There is one Tag table per workspace — the same tag can be attached to contacts and to campaigns, each through its own join table. Every tag has a name (up to 40 characters, unique per workspace regardless of case or spacing) and a color from a fixed 8-color palette.
Tags created here are the same pool used by Campaign tags in Campaign Builder — creating a tag while tagging a contact makes it immediately available to tag a campaign too, and vice versa. Contacts and campaigns each keep their own set of tag attachments through separate join tables; tagging a contact doesn't tag any campaign it's enrolled in.
Tagging a contact
Every contact row on the list-detail grid has a tag control — showing its current tags, or + Add tag if it has none. Clicking it opens a picker.
Contact tags
Use tags to group and filter contacts in this list.
The picker lets you search existing workspace tags, create a brand-new one on the spot (it's applied immediately), or click an already-attached tag to remove it. Once applied, a tag is available as one of the Tags filter chips on the contact grid.
This contact-level tag picker is a different feature from the tag management inside Campaign Builder — that one applies tags to the campaign itself, not to individual contacts. Both draw from the same underlying tag pool, but they're separate UI flows for separate things. See Campaign tags for the campaign-level flow.
Custom fields
Custom fields are arbitrary key/value JSON stored per contact. They come from exactly two sources:
- Unmapped CSV columns — any column you don't map to Email/First Name/Last Name/Company during import is saved verbatim, keyed by its original header text.
- Lead Finder enrichment — writes a known set of keys, including
jobTitle,seniority,jobFunctions,companyDomain,companyIndustry,companyHeadcountRange,companyType,companyFoundedYear, and location fields (contact city/region, or company HQ city/region/country).
The contact grid specifically recognizes those Lead Finder keys and renders them as extra context under Title and Company (seniority, job functions, industry, headcount, founded year) and in a Location column. Arbitrary custom fields from a CSV import aren't displayed anywhere beyond being stored on the contact — there's no generic "view all custom fields" panel.
VP of Growth
VP · Marketing, Sales
Custom fields as merge variables
Custom fields feed directly into campaign sending: at send time, ForgeSend builds merge variables from each lead's custom-fields JSON — so a CSV column like industry or an enrichment key like companyIndustry can be referenced as a merge variable in your sequence copy, the same way built-in fields like first name are.
Related docs
Next: Verification
- Lists & Contacts overview
- Importing contacts
- Campaigns overview — campaign tags and sequence variables
- Lead Finder overview