The way we store and process batch contact data for segmentation has changed, and this change was rolled out to all clients at the end of November 2023. You can find the most important updates in this article.
What can you expect?
- The performance of segmentation when running large segments has improved significantly. As a result, you will experience more balanced execution times.
- Contact data values that are of a format which do not correspond to their field type (e.g. non-numeric value in numeric field, incorrectly formatted date) are handled more consistently which may lead to different segment results:
- If the selected criterion or contact data in the segment contains a value that does not match the selected type (e.g. if the date field contains the value 0 instead of a valid date), then the criterion will be evaluated as FALSE and it will affect the results. For example, if you previously used 0 as the default date value for contacts and the results of the condition Was more than X days ago also included these contacts, then the results of the same segment won’t return such contacts anymore.
For more information on the expected data formatting guidelines, see CSV guidelines.
- Empty contact data values are handled more consistently: they will yield a false result for all operators except is empty regardless of how the value was imported. For example:
-
is empty:
- Previously, the criterion "" is empty was evaluated as FALSE.
- Previously, the criterion NULL is empty was evaluated as TRUE.
- Now both criteria will be evaluated as TRUE.
-
Negative operators, for example:
-
is not empty:
- Previously, the criterion "" is not empty was evaluated as TRUE.
- Previously, the criterion NULL is not empty was evaluated as FALSE.
- Now both criteria will be evaluated as FALSE.
-
does not contain:
- Previously, the criterion "" does not contain <specified_value> was evaluated as TRUE.
- Previously, the criterion NULL does not contain <specified_value> was evaluated as FALSE.
- Now both criteria will be evaluated as FALSE.
-
is not empty:
-
is empty:
- We’ve also resolved the following issues:
- Data fields are processed entirely without truncation.
- Contacts who are older than 120 years will receive your birthday campaigns.
- Extra and trailing spaces are removed automatically from the data before evaluating the selected criterion.
- Some operators worked imperfectly with dates which also contained timestamps.
- Leap days (February 29) are excluded from specific operators.
- The
%
symbol is not working as a wildcard character in criteria where you combine strings with the operators contains, starts with or ends with.