aibrevoBook a call

GoHighLevel CRM Setup: Contacts, Tags, Fields and Pipelines

GoHighLevel CRM setup means four things in this order: custom fields for data you need to store, tags and smart lists for segmenting, a pipeline whose stages match your real sales process, then a clean CSV import. Do the structure before the import, because imported data can only map to fields and stages that already exist.

Part of the guide: GoHighLevel setup guide

Key takeaways

  • Order matters: custom fields first, then tags, then the pipeline, then the CSV import. HighLevel's import mapping says custom fields must already exist in the account, and a pipeline has to exist before opportunities can be assigned to it.
  • A field's object cannot be switched after creation (Contact or Opportunity). If you create it under the wrong object, you recreate it.
  • CSV imports: .csv only, one sheet, header row first, each row needs a name, email or phone, and admin users only. HighLevel's pages disagree on the size cap (30 MB in the prerequisites, 50 MB in one FAQ), so split files above 30 MB.
  • Smart lists are filters, not containers. You cannot add a contact to one by hand; contacts join and leave as they match the filters, and a list cannot be moved between accounts or included in a snapshot.
  • Name stages after what actually happens in your sales process, not after generic CRM defaults. HighLevel's own examples are suggestions only.

What order should I set up the GoHighLevel CRM in?

Set up the GoHighLevel CRM in this order: custom fields, tags and smart lists, the pipeline, then the contact import. HighLevel’s import documentation says custom fields must already exist before you map to them, and a pipeline has to exist before opportunities can be assigned during import. Doing it in reverse means a second import.

This is the contacts-and-pipelines layer of our setup guide, and it sits at step 4 in the 30-day setup checklist. Menu paths below come from HighLevel’s help center, checked 2026-10-13. HighLevel changes labels often, so where its own pages show two paths, both are listed.

CRM setup order

  1. Custom fields: Settings > Custom Fields, per object (Contact or Opportunity).
  2. Tags: decide naming rules before anyone creates one.
  3. Pipeline and stages: Opportunities > Pipelines.
  4. Smart lists: Contacts > Smart Lists, built on tags, fields and stages.
  5. CSV import: Contacts > Smart Lists tab > Import Contacts, mapped to the above.

How do I create custom fields in GoHighLevel?

Go to Settings > Custom Fields, select the object, open the Fields tab, click Create field, pick a field type, configure it, check the live preview and click Create custom field (HighLevel article modified September 1, 2026). Groups of related fields go in folders from the Folders tab.

Decisions to make before you click:

  • Object. A field belongs to either Contact (information about a person) or Opportunity (information about one deal). HighLevel states a field’s object cannot be switched after creation, so a budget that changes per deal belongs on the Opportunity, and a birthday belongs on the Contact.
  • Type. Available types include single line, multi line, numbers, monetary values, dropdowns, radio selections, checkboxes, dates and file uploads. Use a dropdown instead of free text for anything you will filter on, because free text produces “Roof”, “roof” and “roofing” as three values.
  • Key. The key identifies the field for merge fields and automation. Name fields so the key is readable, since the key is what you will see in workflows. For the difference between per-contact fields and account-wide data, see custom values vs custom fields.
  • Duplicates. HighLevel advises searching existing fields before creating a new one.

How should I set up tags and smart lists?

Use tags for groups you will filter or automate on, and build smart lists on top of them. HighLevel’s smart list article lists tags as one of the filter types, and adding a tag that matches a list’s filter puts that contact in the list automatically.

Create smart lists from Contacts > Smart Lists: click the add smart list button, choose filters from the dropdown, enter the details, click Apply, use AND to stack filters, then click Create. Four behaviors to know (HighLevel article modified May 19, 2026):

Behavior What it means for you
Contacts cannot be added manually Membership is decided by the filters. To add someone, change the data the filter reads, such as a tag
Lists are created at the user level Global lists can be pushed to the whole account; check who created a list before relying on it
Lists cannot be transferred between accounts or added to a snapshot Rebuild them in every new sub-account
Email campaigns use membership at send time A contact who joins the list between scheduling and sending gets the email

Tag naming rules worth agreeing on before the first import: lowercase, one concept per tag, a prefix by purpose (for example source-, status-, interest-), and no spaces if workflows will reference them. Where the tag management screen sits has moved between versions, so look under Contacts and Settings for Tags rather than trusting an older tutorial. Renaming or deleting a tag that a workflow or smart list uses can break that workflow, so check usage before you change one.

How do I create a pipeline and stages?

In HighLevel’s current article the path is Opportunities > Pipelines > Create New Pipeline: enter a name, add stages, and save (modified August 24, 2026). HighLevel’s Labs notes describe an updated pipelines experience; older guides place pipelines under Settings > Pipelines. Pipeline names must be unique within a sub-account.

HighLevel’s example stage names (New Lead, Hot Lead, Booked Call, No Show, Delayed, Closed, Non-responsive) are labeled suggestions only. Write stages for your own process:

Business Example stages
Home services New request, Contacted, Estimate booked, Estimate sent, Follow-up, Job scheduled
Clinic or med spa New inquiry, Consult booked, Consult done, Treatment plan sent, Booked
B2B services New lead, Discovery booked, Proposal sent, Negotiation

Rules that keep a pipeline usable:

  1. One stage per decision point, not per task.
  2. Put “won”, “lost” and “abandoned” in the opportunity status, not in extra stages. HighLevel’s setup article does not list the status values, so confirm them on your screen.
  3. Build for the report you want. If you want to see where deals stall, every stage needs a clear entry rule.
  4. If workflows will create opportunities, the workflow must be published, the contact must meet the trigger, the Create/Update Opportunity action must be configured, and the right pipeline and stage selected. The “Allow Opportunity to Move” toggle controls whether an existing opportunity updates when a contact re-enters the workflow. The workflow troubleshooting page covers failures, and the automation pillar covers the build.

How do I import contacts from a CSV?

Go to Contacts > Smart Lists tab > Import Contacts, or use the Import button in Opportunities (HighLevel article modified September 16, 2026). A separate older article describes the same button on the Contacts tab. The steps:

  1. Choose Contacts, Opportunities or both.
  2. Upload the CSV.
  3. Choose whether to create, update, or both.
  4. Map each column to a system field.
  5. On review, optionally create a smart list, add the contacts to a workflow, or add a tag.
  6. Confirm and proceed, then monitor progress under Bulk Actions, where Show Stats displays results and the error log.

File rules from HighLevel:

Rule Detail
Format .csv only; Excel and Google Sheets files are not accepted
Size Under 30 MB in the prerequisites. Another HighLevel page says 50 MB, so treat 30 MB as the safe limit
Sheets One sheet only
Header row First row cannot be blank and must have at least one header matching a system field
Required per row At least one of name, email or phone (or Contact ID for updates)
Who can import Admin users only
Phone numbers Digits only per HighLevel; remove spaces, dashes, parentheses and letters
Custom fields Must already exist before you map to them
Empty cells The “Don’t update Empty Values” checkbox stops blanks from overwriting existing values
Duplicates Matched by email first, then phone, and a match updates the record. Remove duplicates within the file beforehand
Notes One note per contact, up to 5,000 characters

Tag every import. A tag such as import-2026-10-crm-migration lets you find, segment or roll back that batch, and it is the most dependable way to build a smart list around the imported group. If rows fail, download the error log from Bulk Actions and fix the source file; HighLevel also has a separate troubleshooting article for CSV import errors. Moving data out later is covered in how to export contacts.

What should I check after setup?

Create one test contact by form, one by import and one by hand. Confirm each lands with the right tags and fields, an opportunity appears where expected, and the smart list picks them up. Then check who can see what: user roles and permissions control whether staff see all records or only assigned ones.

If you are migrating from another CRM with deals, notes and history, the mapping work grows quickly; see the HubSpot to GoHighLevel migration guide. When the data work is the bottleneck, a scoped build is the shortcut: GoHighLevel setup agency.

Sources

More guides

Related reading

FAQs

How do I set up the CRM in GoHighLevel?

Create custom fields for data you must store, set up tags and smart lists for segmenting, build a pipeline with stages that mirror your real process, then import contacts from a CSV mapped to those fields. Doing the structure before the import avoids remapping and re-importing later.

How do I import contacts into GoHighLevel from a CSV?

Go to Contacts, open the Smart Lists tab and click Import Contacts. Choose contacts, opportunities or both, upload the CSV, choose create, update or both, map each column to a field, optionally add a tag or create a smart list, confirm, and watch progress under Bulk Actions.

What is the difference between a custom field and a tag?

A custom field stores a value that differs per record, such as a budget or a preferred service. A tag is a label you attach for segmenting and triggering, such as webinar-attendee. Use fields for data you will read back, and tags for groups you will filter or automate on.

How do I create a pipeline in GoHighLevel?

In HighLevel's current help article the path is Opportunities, then Pipelines, then Create New Pipeline. Name it, add stages, and save. Older guides show Settings, then Pipelines, so if the Opportunities path is not on your screen, check Settings.

How many pipeline stages should I have?

HighLevel does not state a limit in its setup article, so the practical limit is readability. Use one stage per real decision point a deal passes through, usually five to eight, and handle outcomes like won or lost with the opportunity status rather than extra stages.

What happens to duplicates when I import contacts?

HighLevel matches existing contacts by email first, then phone, per its CSV import article, and a match updates the existing record. A separate contact import article lists Contact ID, then email, then phone for updates. Dedupe your CSV beforehand and review Contact Deduplication Preferences in settings.

Can anyone import contacts in GoHighLevel?

No. HighLevel's import articles state that only users with Admin access can import contacts. If a team member cannot see the Import Contacts button, check their role under Settings, Users, and see our roles guide for what each role can reach.

Can I move smart lists to a new sub-account or snapshot?

No. HighLevel's smart list article says smart lists can not be transferred between accounts or added to a snapshot. Rebuild them in each new account from their filters, and write the filter definitions down so the rebuild is fast.

Do I need a separate pipeline for each service?

Only if the stages differ. A roofer with estimate, inspection and install work may want one pipeline per service line. If every service moves through the same steps, one pipeline plus a custom field or tag for service type is easier to report on.

Stuck on this? Ask an engineer

Not ready for a call? Send one question about your setup. An engineer replies by email within one business day.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.