Often there is the need to make sure that an AudienceStream string attribute is not empty. E.g., an action should only be triggered if the string is assigned and its value is not empty.
The rule condition definitions do not help to solve this problem. They only state that "is empty" and "is not empty" apply to attributes imported from iQ.
For strings that contain email addresses the answer is quite simple, one can use the rule "contains @". But what about strings that do not have a common character?
Thank you and kind regards!
@pafe For Visitor and Visit level Strings, they are either "Assigned" (meaning the String is present and has a value) or "Not Assigned" (meaning they don't exist in the Visitor Profile). Empty Strings are not persisted in the Visitor Profile.
For Event Level Strings in Server UDH, it's slightly different. You already know about Strings from iQ (where you have the "empty" rules as well as the "assigned" ones). But for Event level strings declared inside the Server UDH, they are "Assigned" if you pass in a value to that String, even "". Otherwise they are "Not Assigned".
09-19-2022 04:21 AM - edited 09-19-2022 04:21 AM
Strings : You cannot set an existing String value to the empty string "". You can, however, use the "Remove String" enrichment, and if you do that, the String disappears from the visitor profile altogether. Then, the String would match the "Is Not Assigned" rule immediately - there is no wait until the end of the session.
Sets of Strings : You can actually add an empty string "" to a Set of Strings. This counts as assigned. As with Strings, if you remove the entire Set of Strings via an enrichment, this counts as unassigned immediately.