GoHighLevel If/Else branch not matching

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
- Check AND and OR. Open the If/Else and read each segment's operator.
- 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.
- 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.
- Compare fields properly. For field-to-field or date comparisons, use dynamic values on the right-hand side. Dropdowns compare by option.
- Check the data exists here. Some fields only exist in the right workflow, like task details in task workflows.
- 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
GoHighLevel sending duplicate text messages
Usually two triggers firing on one event, re-entry left on, or the same person saved as two contacts.
GoHighLevel workflow not triggering: a checklist
Usually it's still in Draft, the trigger filters don't match, or re-entry is off. The execution logs tell you which.
GoHighLevel workflow Wait step not working, or contacts stuck
Usually the wait is waiting exactly as set: for a reply or event with no timeout, inside an advanced window, or on timing that was edited later.
GoHighLevel workflow Goal Event not firing
Only one goal per workflow, each contact is checked against it once, and the event or filter has to match exactly.
GoHighLevel trigger links not tracking clicks
Usually a pasted URL instead of the trigger link itself, no workflow listening for the click, or a filter pointing at a different link.
GoHighLevel custom values or fields showing blank in messages
The contact has no value saved, the workflow doesn't supply it (appointment fields need an appointment trigger), or it was typed instead of picked.
GoHighLevel birthday or date triggers firing at the wrong time
The birthday trigger runs at 8 AM in the account's time zone and skips badly formatted dates. Waits set the hour; workflow settings set the time zone.
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.