Automation Conditions Not Working: How to Troubleshoot If/Else Logic
When automation conditions are not working, contacts enter the wrong branch or skip a branch they should take. The If/Else logic evaluated against the wrong data, the wrong data type or an unexpected value. Focus on why a contact enters the wrong branch, because the condition itself is usually fine and the data it checks is the problem.
Table of Contents
- 01.Why a contact takes the wrong branch
- 02.What to check first
- 03.Empty values and data types
- 04.Exact matching and formatting
- 05.AND and OR logic
- 06.Timing of the condition check
- 07.How to test it
Why a contact takes the wrong branch
A condition compares a field value against a rule and routes the contact down a branch. When the wrong branch runs, the condition evaluated against something other than what you expected. The field may be empty, the value may be a different data type, the comparison may be exact when it should be partial or the AND and OR logic may combine in a way you did not intend. The condition is rarely broken. The data and the comparison are usually the problem.
| Problem | What happens | How to confirm |
|---|---|---|
| Empty field | Condition does not match | Field is blank for that contact |
| Data type mismatch | Text compared as number | Field type vs comparison type |
| Exact vs partial match | Value does not match exactly | Trailing spaces, case differences |
| AND vs OR logic | Wrong combination | Review logic operator |
| Timing | Condition checked before field set | Field set later in workflow |
What to check first
- Identify the contact that took the wrong branch.
- Check the actual value of every field the condition evaluates.
- Confirm the comparison type matches the field data type.
- Review the AND and OR logic combination.
- Check whether the field was set before the condition ran.
Empty values and data types
Empty fields are the most common condition failure. A condition that checks whether a field equals a value will not match an empty field. A condition that checks whether a field is not empty may behave differently than expected if the field contains a default value or a space. Data types also matter. Comparing a text field to a number, or a date to a text string, can produce unexpected results depending on the platform. Confirm the field actually has the value you think it has, and confirm the comparison uses the right type.
Exact matching and formatting
Many conditions use exact matching. A tag name with a trailing space, a status with different capitalization or a value with hidden characters will not match an exact comparison. Check the raw field value, not the displayed value. A status that displays as Open may be stored as open or OPEN. Confirm the exact stored value and match the condition to it. Partial matching, where supported, can avoid this but changes the logic, so use it deliberately.
AND and OR logic
Conditions combine with AND and OR logic, and the combination changes the result. A condition that requires tag A AND tag B only matches contacts with both. A condition that requires tag A OR tag B matches contacts with either. Mixing AND and OR without grouping can produce logic you did not intend. Review the combination and confirm the grouping matches your intent. Some platforms group AND and OR explicitly, others evaluate left to right, so confirm how your platform combines them.
Timing of the condition check
A condition evaluates at the moment the contact reaches it. If the field the condition checks is set later in the workflow, the condition runs against an empty or old value. Check whether the field is populated before the condition step. A condition that checks a tag added by a previous step will fail if that step has not run yet or if it ran asynchronously and has not completed. Order matters, and a condition placed too early checks stale data.
How to test it
- 1.Find the contact that took the wrong branch.
- 2.Open the field values the condition evaluates for that contact.
- 3.Compare each value to the condition rule exactly, including type and formatting.
- 4.Review the AND and OR logic and grouping.
- 5.Confirm the field was set before the condition step ran.
- 6.Adjust the condition or fix the data and retest with a new contact.
Frequently Asked Questions
Why does my automation condition send contacts down the wrong branch?
The field the condition checks may be empty, the wrong data type or formatted differently than the comparison. Check the actual stored value for the contact and confirm the comparison type and logic match.
How do I fix an automation If/Else that is not working?
Check the field values for the affected contact, confirm the data type and formatting match the comparison, review the AND and OR logic and make sure the field is set before the condition step runs.
Need help applying this to your business?

PPC, Conversion Tracking, CRM and Automation Specialist. Helping businesses generate qualified leads with Google Ads, accurate tracking and automated follow-up.
Related Guides
Automation Trigger Filters Not Working: Why the Wrong Contacts Enter a Workflow
Trigger filters control who enters a workflow. If the wrong contacts enter, the filters are too broad, too strict or checking fields set after the trigger fires.
Automation Wait Steps Not Working: Timing, Time Zone and Scheduling Problems
Wait steps fail in the duration, the condition, the time zone or the scheduling logic. Time zone handling varies by platform, so confirm which one applies before debugging.
Automation Workflow Stops Halfway: How to Find Where It Breaks
A workflow that stalls ran successfully up to a point then failed or waited. Trace the workflow step by step through the history instead of rebuilding everything.