Targeting Logic (All vs Any)
Learn when to use All or Any when creating targeting logic for your experiences.
Table of Contents
Once you've envisioned how to target your flows, it's worth double-checking that your targeting logic is correct.
It can sometimes be confusing as to when to use the conditions 'All' and 'Any' when setting up the logic but hopefully this article will give some clarity!
'All' Condition (AND Operator)
When setting your conditions up to target based on 'All' conditions qualifying, the rule of thumb will have to be that Appcues will look to qualify your users if they match every line of condition you set. For example:
Once you publish the flow with these conditions, then it is a requirement for your user to be in a Trial plan, be a Cook, and be Funky! If your user does not satisfy at least 1 of the conditions above, then Appcues will automatically disqualify your user from being eligible.
'Any' Condition (OR Operator)
If you'll choose to use the 'Any' condition, the rule of thumb is that your users will only have to pass at least one (1) condition to be eligible for the flow. For example:
When you publish the flow with these conditions, then it will only require your user to pass at least one condition so that they are eligible for the flow. If your user is on a Paid plan but is still a Cook, then that will still qualify your user!
Mixing It Up (Logic Groups)
Once you're confident with the basic conditions, then you can also make use of logic groups for granular control over your targeting. The rules of thumb remain the same!
From the targeting above, the flow is looking to qualify users that are in a Paid plan, or if their ID contains 'Appcues'. However, a logic group is also added to qualify users that have Moonwalk as their dance move and if they have 'Jackson' as their last name.
Ultimately, AND operators will look to satisfy all requirements, while OR operators will only look for at least one condition to be satisfied.
Note: When using negative conditions like "doesn't equal" or "doesn't contain", it's good to keep in mind that if this is combined with other conditions using the OR operator, then it will likely qualify most of your users since not having a certain value for at least one condition will automatically qualify them. For instance, the page targeting example below:
Let's say we're on a page that contains 'dashboard'; 'dashboard' doesn't contain 'login', right? Therefore, because we meet at least one of the conditions, the flow will show on that page. The correct way to make sure that the flow won't show on all of those pages is to use AND.