Skip to the content
Menu

Custom value blank in a GoHighLevel email or text? How to fix it

By SHAJ Studio. Checked against HighLevel's help center and tested in a test account in October 2026.

The short answer

A custom value shows blank when nothing is stored in it for that sub-account. Open Settings, then Custom Values and fill in the empty ones. To show fallback text in an email when a value is empty, put an if/else around the tag (see How to add a fallback below).

What a blank custom value does

A custom value is a piece of text you store once in a sub-account, such as your opening hours, a booking link or an offer. You drop it into messages with a merge tag. If the value is empty when the message is sent, the tag is replaced with nothing. The message still goes out, with a gap where the value should be: "Book now at ." or "Open until ." HighLevel's help center describes the same for any merge field with no saved data. In our test, an email written in Conversations with "Hours: [{{ custom_values.hours_of_operation }}] end" and an empty value arrived as "Hours: [] end", with no warning before sending.

Why a custom value is empty

Find it by hand in HighLevel

  1. Open the sub-account, then Settings, then Custom Values.
  2. Go down the list and look for rows with nothing in the value column. Look for placeholder text at the same time.
  3. Fill in each value that your messages use. Open the three-dot menu next to it and choose Edit. If your account shows the newer layout, edit it in the table.
  4. Find out which values matter: open your email templates and workflows and look for merge tags that start with custom_values.
  5. To show fallback text when a value is empty, wrap the tag in an if/else (see How to add a fallback below). In our test, the custom value picker in a Conversations email had no fallback option.
  6. Send a test email to yourself and read it in your inbox before it goes to anyone else.

HighLevel's article on fallback text describes emails and does not mention texts. For texts, the safe fix is a filled-in value.

How to add a fallback in an email

In our test, in an email written in Conversations, this worked. Type it into the email body:

{{#if custom_values.hours_of_operation}}{{custom_values.hours_of_operation}}{{else}}our office hours{{/if}}

With the value empty, the email arrived as "Hours: [our office hours] end". Replace hours_of_operation with the name of your own custom value and our office hours with the text you want shown.

Do not write {{ custom_values.x | default: "..." }}. In our test the send failed with a template parser error and nothing was sent.

Not tested: texts, workflow emails, templates and campaign emails. Send yourself a test first.

Stop it happening again

Catch it across every sub-account

By hand, this works for one sub-account. For an agency with many, Watchtower checks every sub-account each day and shows empty or placeholder custom values on its dashboard, with a Fix link that opens the sub-account and the exact setting where one exists. A morning email lists what changed. It is read-only: it never changes anything in a client account. See what that email looks like in the sample digest. Or read how Watchtower works.

Questions

Why does my custom value show blank in an email?

Nothing is stored in it for that sub-account when the message is sent. Open Settings, then Custom Values and fill it in.

Can I set a fallback for a custom value in an email?

Yes, with an if/else around the tag. In our test, in a Conversations email, it showed the fallback text when the value was empty. The custom value picker had no fallback option, and a "| default:" fallback made the send fail. We did not test texts, workflow emails, templates or campaign emails. See How to add a fallback above for the exact line.

Does a snapshot copy what is typed into a custom value?

In our test, no. Loading a snapshot into an existing sub-account left an empty custom value empty, and HighLevel reported "No conflicts found". We did not test a new sub-account created from a snapshot, so check its custom values.

How do I find empty custom values across all my clients?

By hand, open each sub-account and go through its custom values. Watchtower does this for every sub-account each day and shows the empty ones on its dashboard, with a morning email of what changed.

HighLevel help center articles this page relies on

Watchtower checks every sub-account each day. Read about sub-account monitoring for HighLevel agencies.

Related guides