Segmentation Format

Segmentation Format

Segmentation rules provide both boolean logic, as well as nesting up to 6 levels of depth. It is recommended to keep the rule as flat as possible.

Operators
and   All specified rules must match. First non-match aborts further processing.

or      If one (any) rule matches, it is considered a matching segment. First valid match aborts further processing.

not    No rules must match to be considered a matching segment (effectively ‘not any’). Stated differently, all rules must not match.

The form of a segmentation rule must be a list of two elements. The first element is the operator described above. The second element is a list of rules. Here is an example:

{
    "segmentation": ["and", [
        {
            "country": ["USA", "BRB"]
        },
        {
            "segmentation": ["not", [
                {
                    "connection": ["3g"]
                }
            ]
        }
    ]
}
The above rule would require both the country and nested segmentation rule to match (as they are both ‘covered’ by an and operator). The first rule would require that the country be either “USA” or “BRB”. The nested segmentation rule would require that the connection is not 3g.