Hi,
Basically the logic behind these conditions are:
is not empty - a variable returns some value and it is not empty (similar to “is set”)
is empty - a variable does not return some value and the value is empty, e.g. null, undefined, and an empty string (similar to “is not set”)
is set - any value for a variable has been set apart from null or undefined (similar to “is not empty”)
is not set - there was no value set for this variable excluding an empty string (similar to “is empty”)
There are some core differences in the logic:
If the variable returns undefined —> The variable is empty and is not set
If the variable returns null —> The variable is empty and is not set
If the variable returns an empty string (“”) —> The variable is empty and is set
If the variable returns a string or an integer —> The variable is not empty and is set
You can see these values by accessing your site in the debug mode and then going to Events log > stg.click (or any other event) > Variables. As soon as you access the section, you will be able to see the values of each built-in or custom variable.