GoHighLevel custom fields store information about one contact or opportunity (a birthday, a service of interest), while custom values are reusable account-level placeholders (your business name, a booking link) that update every template and workflow that uses them when you change them once. Tags are labels you attach to contacts to group or trigger them. The rule that keeps an account tidy: use a field for data that differs per person, a custom value for something that is the same everywhere, and a tag for a state a workflow should react to. Neither custom fields nor custom values can be bulk-created or uploaded; HighLevel says they are added one at a time. Sources are HighLevel's help articles, read October 18, 2026.
What is the difference between custom fields, custom values and tags in GoHighLevel?
In GoHighLevel, a custom field holds data about one contact or opportunity, a custom value holds information reused across many messages, and a tag is a label on a contact that workflows can add or check.
| Thing | Holds | Where you set it | Example |
|---|---|---|---|
| Custom field | Data specific to one contact or opportunity | On the contact or opportunity, or by the Update Contact Field action | Preferred service, birthday, quote amount |
| Custom value | The same information used across many messages | Settings, Custom Values; change once, updates everywhere | Business hours, booking link, office address |
| Tag | A label on a contact | Added by hand or by a workflow action | "source-facebook", "no-show", "customer" |
| Opportunity value | Data on a deal that can differ per deal for the same contact | On the opportunity | Contract fields |
Sources: HighLevel's merge fields and custom variables overview and Update Contact Field and Update Custom Values action articles. Custom values can be organised into folders, and they can also feed Voice AI prompts and dashboards.
| Custom field | Custom value | Tag | |
|---|---|---|---|
| Differs per contact | ✓ | ✕ | ✓ |
| Change once, updates every message | ✕ | ✓ | ✕ |
| Can trigger a workflow | ◐ | ✕ | ✓ |
| Can be bulk uploaded | ✕ | ✕ | ◐ |
Source: HighLevel merge fields and custom variables overview, read October 18, 2026. Fields and values cannot be bulk-created; tags can be added in bulk actions
When should you use a field, a value or a tag?
Use a custom field to remember facts about a contact, a custom value for text you reuse in many messages, and a tag to make workflows react to an event such as a lead source.
| You want to | Use |
|---|---|
| Remember which service someone asked about | A custom field (dropdown) |
| Put your booking link in forty messages, and change it once | A custom value |
| Make a workflow react when a lead came from Facebook | A tag set at entry |
| Report on revenue by source | A source field or tag set on every lead, plus opportunity value |
| Stop a workflow from sending to people who already booked | A tag or a stage condition checked in an If/Else |
A naming scheme that keeps the account clean
- Fields: short, specific, one meaning each, for example "service_interest" not "notes2". Use dropdowns for anything you will filter on.
- Custom values: prefix by area, for example "company.booking_link" and "company.hours", and keep them in folders.
- Tags: prefix by type: "source-", "status-", "stage-". Avoid free-typed tags that differ by one letter.
- Delete what is unused. Every field is another thing a new team member has to understand.
- Write it down. A one-page list of every field, value and tag with its meaning. It is part of the handover document in our process.
Because nothing can be bulk-created, plan the list before you build, not while building. Our account structure guide shows how we organise a whole account; fields feed the pipeline and routing rules.
Common custom field and tag mistakes
| Mistake | Result | Fix |
|---|---|---|
| A custom field used for something that never changes | Hundreds of identical values to maintain | Use a custom value |
| Free-text field for a category | Typos break filters | Use a dropdown |
| Tags that mean the same thing | Workflows miss some contacts | Merge and standardise |
| A date field left empty | A date-based workflow stalls | Set a default or filter for empty |
| Tags used as a to-do list | Nobody removes them | Use tasks or stages |
Frequently asked questions about GoHighLevel custom fields
What is the difference between a custom field and a custom value in GoHighLevel?
A custom field holds data for one contact or opportunity. A custom value is a reusable account-level placeholder; changing it updates everywhere it is used.
Where do I create custom values?
Under Settings, Custom Values, per HighLevel's help center. They can be organised in folders.
Can I bulk upload custom fields?
HighLevel says bulk creation or upload is not supported for custom fields or values; they are added individually.
How do I change a custom field from a workflow?
Use the Update Contact Field action; to change a custom value from a workflow use Update Custom Values.
Should I use tags or custom fields to segment contacts?
Use a field for data you will filter or report on in detail, and a tag for a state a workflow should react to.
How many tags is too many?
You have too many tags when nobody can explain what they are for. Standardise names, delete unused tags, and keep a written list.
Can you clean up my account's fields and tags?
Yes; see our support plans and the free audit.