We set up GoHighLevel for you · Book a free 15-minute callWe set up GoHighLevel for you
Book a call

GoHighLevel If/Else branch not matching

A planning session at a whiteboard of sticky notes

Short answer

GoHighLevel's If/Else checks the contact's data at the moment the step runs, using segments joined by AND or OR. A contact who matches no branch goes down None. Wrong branches usually come from AND and OR grouped the wrong way, a tag or field set in the same second as the check (a race condition), comparing dropdown fields, or data that this workflow doesn't have.

How to fix it

  1. Check AND and OR. Open the If/Else and read each segment's operator.
  2. Use the None branch. None runs when no condition matches, and can't be removed. Give it a fallback step instead of leaving it empty.
  3. Add a wait before it. If a tag or field is set just before the If/Else, add a wait of about a minute between them. HighLevel calls same-second updates race conditions.
  4. Compare fields properly. For field-to-field or date comparisons, use dynamic values on the right-hand side. Dropdowns compare by option.
  5. Check the data exists here. Some fields only exist in the right workflow, like task details in task workflows.
  6. Read the logs. Compare the contact's actual field values with the execution log's timestamps.

Common questions

Are text comparisons case-sensitive?
HighLevel's If/Else article doesn't say. Match the exact value to be safe.
Why did everyone go down None?
The condition never matched at that moment, often because the data arrived a second later.

More workflow fixes

All Workflows fixes

Want GoHighLevel set up and running for you?

Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.

Rather we set it up? GoHighLevel rescue, done for you.

See the packageBook a call