GoHighLevel Merge Fields: What They Are and How to Use Them

GHL Prime TeamOctober 16, 20263 min readGoHighLevel

Open any GoHighLevel email template and you'll see placeholders like {{contact.first_name}} sitting inside the copy, ready to pull a real name the moment the message sends.

GoHighLevel merge fields work the same way across the whole platform: they're case-sensitive placeholders written as double curly braces, and each one pulls from a specific record such as a contact, an appointment, an invoice or a user account.

Get the field key wrong by even one character and the field stays blank instead of throwing an error. That's exactly why the syntax deserves more care than it usually gets.

HighLevel splits the system into six types: standard fields, custom fields, custom values, custom objects, trigger links and payment links. Two of those cause almost all the confusion in practice.

Custom Fields vs. Custom Values: The Distinction That Actually Matters

Custom fields store information that's different for every contact: a membership tier, a renewal date, a product preference. You build the field once under Settings, then reference it per record as {{contact.custom.field_key}}.

Custom values work the opposite way. They're sub-account-level constants like a booking link or a business phone number, and they read the same for every contact.

Set one at Settings > Custom Values and call it anywhere as {{custom_values.key_name}}. Change the value once and every email, text and document that references it updates on its own.

TypeVaries per contactSet atSyntax
Custom fieldYesSettings > Custom Fields{{contact.custom.field_key}}
Custom valueNoSettings > Custom Values{{custom_values.key_name}}

The Full Range GoHighLevel Merge Fields Cover

Beyond contact details, GoHighLevel organizes its wider field set into categories pulled straight from HighLevel's own field reference:

  • Contact and user fields: names, emails, phone numbers, booking links
  • Appointment and calendar fields: start times, locations, reschedule links
  • Invoice and account fields: invoice numbers, due dates, payment links, business branding
  • Attribution fields: first and latest source data, including UTM parameters
  • Voice AI and Conversation AI fields: personalizing automated calls and chat replies

Each category only resolves inside a context that actually has that record. An appointment field dropped into a broadcast with no linked booking just sits empty.

Fixing the Blank-Field Problem with Fallback Values

An email that opens with "Hi ," because a contact record never had a first name saved looks broken. It happens more than you'd expect on an older list.

The fix is a fallback value, set by clicking the merge field's custom value tag inside the editor itself. A missing name then drops back to something like "there" instead of leaving a gap.

Phone fields carry a similar option: a raw format that strips the parentheses and dashes. That matters when the number feeds a click-to-call link, since formatting characters can break the link on some devices.

Putting Merge Fields to Work Across Workflows

Inside the workflow builder, each merge field shows up as a colored chip. Blue means the field is available in that exact workflow. Yellow means it exists somewhere in the account but this workflow can't supply it. Red means the key doesn't exist, usually a typo.

That color coding catches a broken field before it ships, rather than after a client notices a blank spot on an invoice.

The same fields that personalize a one-off email carry into the templates built inside GoHighLevel's email builder and into the nudges sent through appointment reminder workflows, where the payoff compounds across hundreds of sends instead of one.

Getting the field keys right during setup is cheaper than rebuilding automations after a sloppy import of custom values.

An account whose fields and values were never organized is exactly what a proper GHL setup and configuration pass sorts out, paired with the kind of workflow automation that depends on that data being there when a trigger fires.

Audit the fields and values before scaling a workflow, not after someone's name is missing from a contract.

Cover photo by Meriç Tuna on Pexels

Sources (3)

Need help implementing this in GoHighLevel?

Our team builds, automates, and scales GoHighLevel systems for agencies every day. Book a free call and we'll map out exactly what to ship next.

Book a free call