Quick Answer: To delete a custom field in HighLevel, go to Sub-Account → Settings → Custom Fields → find the field → click the trash icon → confirm deletion. The risk: if that field is referenced in any active workflow, form, or funnel, deleting it causes those elements to display blank data or errors. The pre-deletion audit steps that prevent broken workflows are in Section 2.
You have 60 custom fields in your sub-account and you cannot figure out which ones are actually used. Deleting the wrong one will break a workflow you cannot immediately identify.
This guide covers the safe deletion sequence for HighLevel custom fields — how to audit usage before deleting, the deletion process itself, and the reorganization structure that prevents field sprawl from returning.
Before You Delete Anything: The Custom Field Audit
| Check This First | Where to Look | Risk If Skipped |
|---|---|---|
| Workflow references | Automation → Workflows → search for field name | Workflow sends blank merge field or crashes |
| Form/survey fields | Sites → Forms/Surveys → check each form element | Form submission data mapped incorrectly |
| Funnel page elements | Sites → Funnels → page builder → hidden fields | Data capture breaks without error |
| Smart List filters | Contacts → Smart Lists → filter criteria | Smart list returns wrong contacts |
| Pipeline automation triggers | CRM → Pipelines → stage automation | Stage-triggered automation breaks silently |
How to Safely Delete Custom Fields in HighLevel
- Audit Step 1 — Search Workflows: Go to Automation → Workflows. Use Ctrl+F to search each workflow for the field name. Check both the trigger filters and the action “Update Contact Field” steps.
- Audit Step 2 — Check All Forms: Go to Sites → Forms. Open each form and check for hidden field mappings. Click each form element and check the “Map To” field property.
- Audit Step 3 — Check Smart Lists: Go to Contacts → Smart Lists. Open each list and verify its filter criteria does not reference the field.
- Audit Step 4 — Document the field’s data: If the field contains data for existing contacts, export the contact list with that field before deleting it.
- Delete: Sub-Account → Settings → Custom Fields → trash icon → confirm deletion.
Expected Error — “Field cannot be deleted because it is in use”: GHL shows this error when the field is referenced in an active form, workflow, or pipeline. The error message does not tell you where. Run the full audit above — find the specific reference, remove it, then delete the field.
If you are cleaning up a legacy sub-account with 50+ custom fields…
Do not delete fields one by one. Export your full contact list with all custom fields first. This shows you which fields actually have data across contacts. Fields with zero data values across all contacts are candidates for deletion. Fields with data need manual review before deletion.
If you need to reorganize fields rather than delete them…
GHL supports custom field groups for organization. Create logical groups (Lead Info, Appointment Data, Service History) and move fields into groups without deleting anything. This is safer than deletion and improves workflow readability. Go to Settings → Custom Fields → Manage Groups to create and assign field groups.
/* Using Custom Values to reduce Custom Field dependency */
/* BEFORE: Hardcoded in workflow SMS action */
"Your appointment is at [manually typed address here]"
/* AFTER: Using Custom Values (update once, applies everywhere) */
"Your appointment is at {{custom_values.business_address}}"
/* This reduces the number of contact-level Custom Fields needed */
/* by moving static business data to Custom Values instead */
/* Result: fewer fields to manage, less cleanup needed over time */
Critical Failure Points: Field Deletion Mistakes
Failure Point 1 — Not Exporting Contact Data Before Deletion: Custom field data stored on contacts is permanently lost when the field is deleted. GHL does not archive this data. If you later realize you needed that field’s data for reporting or re-activation, it is gone. Always export before deleting any field that has data.
Failure Point 2 — Deleting System Fields: GHL has system-default fields that display in the custom fields list but cannot actually be deleted without breaking core CRM functionality. These include fields like “contact source,” “original source,” and lifecycle stage fields. If you attempt to delete a system field and succeed, it can cause CRM display issues. Verify that any field you plan to delete is a user-created custom field, not a GHL system field.
The Consensus Break: The Real Problem Is Field Creation Discipline, Not Deletion
Agencies that end up with 60+ custom fields did not have a deletion problem — they had a creation problem. Fields were created ad hoc by multiple team members with no naming convention and no removal process when experiments ended.
The fix is a custom field governance policy: a naming convention, an approval process for new fields, and a quarterly audit. “All new custom fields must be prefixed with the data category: lead_, appointment_, service_, billing_. Any field unused for 90 days is flagged for deletion.” This prevents the accumulation problem and makes future cleanup trivial.
See our snapshot templates which ship with a pre-organized custom field structure and a custom field governance guide included in the setup documentation.
Verified working as of April 15, 2026.
Frequently Asked Questions
Can I delete custom fields in GoHighLevel?
Yes. Custom fields can be deleted in HighLevel under Sub-Account → Settings → Custom Fields. Click the trash icon next to the field you want to remove and confirm the deletion. Warning: deleting a custom field permanently removes all data stored in that field for every contact in the sub-account. Complete an audit of workflow references and form mappings before deleting any field that has been in use.
What happens to workflow data if I delete a custom field?
Deleting a custom field that is referenced in a workflow causes the merge field to resolve as blank in any message that uses it. GHL does not automatically update or remove the broken merge field reference — it silently sends blank. Additionally, any workflow trigger condition that filters by the deleted field will stop filtering correctly. Audit all workflows for field references before deletion.
How do I reorganize custom fields in HighLevel without deleting them?
HighLevel supports custom field groups for organization. Go to Sub-Account → Settings → Custom Fields → Manage Groups. Create logical group names (Lead Information, Appointment Data, Service History, Marketing Attribution). Then assign each existing field to its appropriate group by editing the field and selecting the group. This reorganizes the field display without deleting any data.
