Why does this OR condition evaluate to false in Flow?

Topic summary

Issue: An OR condition in Shopify Flow evaluating on customer tags returns false unexpectedly. The setup used “At least one of customer/tags …” with OR, but customers without tags caused the condition to fail.

Root cause: When the customer’s tag list is empty/null, item-level conditions aren’t evaluated. The list operator (“at least one of”) receives an empty list and evaluates to false.

Guidance provided:

  • Use “None of customer/tags” to check that a tag does not exist; it returns true when the list is empty and false if the tag is present.
  • Alternatively, invert logic: switch to “None of” with “includes,” change OR to AND, and add “not empty and exists” as needed to match intent.
  • Be careful to avoid double negatives. Shopify Flow documentation on “does not include” and “none” examples was referenced.

Artifacts: Screenshots illustrate the Flow condition configurations; links to official docs were shared.

Outcome: The original poster implemented a simpler “None of” style condition (per screenshot) that achieves the desired behavior. The issue appears resolved, with no open questions.

Summarized with AI on December 16. AI used: gpt-5.

Hi Amzia,

This happens when there are no tags on the customer. The list of customer tags is empty and so it is not true that “at least one of customer / tags” meets the conditions specified. Another approach would be to use “None of customer / tags” instead and update the conditions to be “includes”, change the “OR” to “AND”, and “not empty and exists”:

Make sure to update the “then” and “otherwise” branches based on the updated condition.

Thanks!

Ryan

1 Like