How to Import CSV Contacts and Opportunities into GoHighLevel
When you migrate data from tools like ClickUp or spreadsheets, the right CSV structure is essential. This guide explains how to format a CSV file so GoHighLevel can correctly import contacts, opportunities, and custom fields without errors.
The steps below are based on the official CSV file format requirements and will help you prepare clean data, avoid common mistakes, and ensure every record is mapped to the correct field in your GoHighLevel account.
GoHighLevel CSV Import Overview
GoHighLevel can import contacts and opportunities from a CSV file as long as the header names and data formats match the platform’s expectations. You can import:
- Basic contact details such as name, email, and phone.
- Location and company information.
- Opportunity pipeline and stage data.
- Custom field values created in your sub-account.
Before uploading, confirm that your CSV file uses the correct column headers and that the data in each column matches GoHighLevel’s supported formats.
Required Contact Fields for GoHighLevel CSV Imports
While you can import many fields, some are strongly recommended to identify each contact uniquely and keep your GoHighLevel database clean.
Core Contact Columns
Use these column headers exactly as listed in your CSV file:
- first_name – Contact’s first name.
- last_name – Contact’s last name.
- email – Primary email address.
- phone – Primary phone number.
At least one unique identifier (email or phone) is recommended so GoHighLevel can correctly create or update existing contacts.
Additional Contact Information
To enrich each record, you can also include these standard columns:
- company_name – Business or organization name.
- address – Street address line.
- city – City of the contact.
- state – State or region.
- postal_code – ZIP or postal code.
- country – Country name or code (consistent formatting recommended).
Keeping this information consistent improves filtering, segmentation, and reporting inside GoHighLevel.
GoHighLevel Opportunity Fields in the CSV File
You can create opportunities during import when your CSV includes the proper pipeline data. Each opportunity is tied to a contact.
Key Opportunity Columns
Use the following headers for opportunity-related data:
- pipeline – Name of the pipeline where the opportunity will be created.
- pipeline_stage – Exact name of the stage inside that pipeline.
- opportunity_name – Descriptive name for the opportunity (optional but helpful).
- opportunity_status – Status such as open, won, or lost (use the status options supported in your GoHighLevel account).
- monetary_value – Deal value; use only numbers, and a decimal where required.
Make sure the pipeline and stage names in the CSV match the pipeline configuration you already have in GoHighLevel. If the names do not match, the import will not place opportunities correctly.
Opportunity Date and Time Fields
For time-based tracking, you can include these columns:
- created_at – Date and time when the opportunity was created.
- updated_at – Date and time of the latest update.
Use a clear and consistent date-time format such as YYYY-MM-DD HH:MM:SS. Consistency is more important than the exact style, as long as it is supported and uniform throughout the CSV file.
Using Custom Fields in a GoHighLevel CSV Import
GoHighLevel allows you to import data into your existing custom fields as long as the column names match the custom field keys.
Custom Field Naming Rules
Follow these rules to connect CSV columns to the correct custom fields:
- Create the custom fields in your account before importing.
- Use the custom field’s exact name (or key) as the header in the CSV column.
- Keep capitalization and spacing consistent with what you see in your GoHighLevel custom field settings.
Supported custom field types (such as text, number, or dropdown) should be respected. For dropdowns or multi-select fields, ensure the CSV values match the allowed options exactly.
Examples of Custom Field Columns
Some practical custom field columns might include:
- source_campaign – Campaign or source tag.
- lead_score – Numeric scoring value.
- last_interaction_date – Date of last meeting, call, or email.
Using consistent formats in these columns helps GoHighLevel store and display the information properly across all contact records.
Formatting Best Practices for GoHighLevel CSV Files
Correct formatting prevents failed imports and misaligned fields. Before you upload your CSV file, review it for these common issues.
General CSV Structure
- Use a single header row at the top of the file.
- Save the file with a .csv extension (comma-separated values).
- Avoid extra header lines, notes, or merged cells.
- Keep one contact or opportunity record per row.
Data Clean-Up Tips
- Remove duplicate header names to avoid confusion during mapping.
- Check for extra spaces before or after email addresses, phone numbers, or names.
- Ensure every row has at least one identifier (email or phone) so GoHighLevel can create or update the correct record.
- Standardize country and state codes if you plan to filter by location later.
Step-by-Step: Importing the CSV into GoHighLevel
Once your CSV file is ready, follow these steps inside your account. Exact menu names may vary slightly depending on updates, but the flow remains the same.
- Prepare your CSV file
Confirm headers, data formats, and values for contacts, opportunities, and custom fields. - Log in to your GoHighLevel sub-account
Use the sub-account where you want the contacts and opportunities to be stored. - Navigate to the Contacts section
Go to the area where you normally manage your contacts and look for an Import option. - Upload your CSV file
Select the CSV from your computer and proceed to the field mapping screen. - Map CSV columns to GoHighLevel fields
Match each CSV header to the correct field (contact, opportunity, or custom field). Skip any columns you do not need. - Review and confirm
Check the summary, verify sample records, and start the import. - Verify the imported data
After the process finishes, open a few contacts and opportunities to ensure everything appears in the correct fields.
Troubleshooting Common GoHighLevel CSV Import Issues
If something does not look right after the import, it is usually related to headers, mismatched values, or missing fields.
Missing or Incorrect Opportunities
- Verify that pipeline and pipeline_stage names exactly match what exists in your account.
- Check that the contact identifiers (email or phone) are present so opportunities can link to the correct contacts.
Custom Field Values Not Appearing
- Confirm the CSV header matches the custom field’s name or key.
- Check the custom field type and ensure the imported values follow the expected format.
- Make sure the custom field exists in the same sub-account where you are importing.
General Data Mismatches
- Look for unintended characters such as quotation marks, semicolons, or line breaks within cells.
- Ensure that date and time formats are consistent across all rows.
- Re-export the file from your spreadsheet tool as CSV (comma-separated) rather than other delimiters.
More Resources for GoHighLevel Users
For the original CSV field reference and any updates to required formats, review the official documentation here: GoHighLevel CSV file format for importing contacts and opportunities.
If you need help designing migration processes, automation, or CRM structures around GoHighLevel, you can explore consulting and implementation services at Consultevo.
By following these guidelines and aligning your CSV headers with the platform’s requirements, you can reliably import contacts, opportunities, and custom fields into GoHighLevel, keeping your CRM organized and ready for automation.
Need Help With ClickUp?
If you want expert help building, automating, or scaling your GHL , work with ConsultEvo — trusted GoHighLevel Partners.
“`
