Dynamic Content Criteria Challenge - Case-insensitive
We have a unique process that loads in comma separated lists of event types into a custom contact field to appropriately flag specific connects for targeting/personalization. For example, we load "Men's Basketball" into a contact field for someone who has a "Men's Basketball" event in the next 7 days. However, we would also load something like "Men's Basketball, Women's Basketball and Baseball" for a contact who has all three events in the next 7 days, etc.
The contact field is being used as part of a weekly email that using dynamic content to identify those who have specific events listed in a contact field.
The problem we are running into is that when using logic of contains "Men's Basketball" it's also pulling in those who have "Women's Basketball" since "men's basketball" is part of "women's basketball". If case sensitivity mattered, we'd be fine to use "Men's Basketball" but since it doesn't we are stuck in identifying a workaround.
We cannot simply use contains "Men's Basketball" and does not contain "Women's Basketball", because if someone had "Men's Basketball, Women's Basketball" in their contact field, we'd still want them to receive the dynamic content relating to Men's Basketball.
Any creative solutions? Unfortunately, we can't change the actual values being saved as those same values are being field merged into the email as well and need to externally make sense to the email recipients.
Hopefully that all makes sense and something can point to an obvious solution that I am overlooking!
There are probably other easier ways to do this but what if you created one new picklist we will call "Women's Basketball" of all the text value combinations possible that contain "Women's Basketball" but not "Men's Basketball"
So for example:
Women's Basketball and Baseball
Women's Basketball and Soccer
Women's Basketball and Hockey
Then it would be:
Contacts who have fieldX value that contains "Men's Basketball"
Contacts who have fieldX value that is NOT in Picklist "Women's Basketball"
Not sure if that is feasible deepening on how many different combinations there could be in the picklist but might work.
Greatly appreciate the response and attempt at a solution.
Unfortunately, there are 8 different event types and while I do not think it's possible for someone to ever have all 8 (based on seasonality of the events) there would clearly be dozens of different potential combinations that would need to be considered, since someone could have Event 1 and Event 2, or Event 1 and Event 4, or Event 1, Event 2, and Event 5, etc.
To your point, it theoretically could be possible to identify and list out each of those combinations, but that would take a massive effort to manually list them all out.
Well I guess (to complicate things even more maybe) you can use the Contact Washing Machine and use that field as the source field and add the Condition for a RegEx check on it so would be something like:
^(?!.Women's Basketball).*Men's Basketball.*$
Which basically returns those that have Men's Basketball in that field but not Women's Basketball (unless it has Men's Basketball as well) and then you can write some value to another field just to indicate this and use that new field in the criteria.
I may not have the full picture, but from your description I understand that you have use cases where there are two or more event names stored as a long value in a specific contact field and you want to prioritize the first event name that appears in that string to drive the dynamic content rules. So, for example, if you have a value of "Men's Basketball, Women's Basketball and Baseball" you want to display basketball for men content; or if you have a value of "Women's Basketball, Men's Basketball and Baseball" you want to display basketball for women content, and so on. In this case using "contains" will result in problems like you are facing above, and using the operators like "starts with" or "matches wildcard pattern" would suit your needs better which, unfortunately, are not available in Dynamic Content Rules criteria. The workaround here is to use the "exactly" operator and the value would be the first event name in your string followed by the "*" character. This will act just like using "starts with" or "matches wildcard pattern".
So, for values like "Men's Basketball, Women's Basketball and Baseball" you can use the exactly operator and type in Men's Basketball* in the value. This will display basketball for men content for all contacts that have values either just "Men's Basketball", or "Men's Basketball, Women's Basketball and Baseball" or "Men's Basketball, Baseball" etc.
Of course, using the CWM app would work as well, but that is a bit more complex option. Dynamic Content Rules order matters as well and you could look into that for prioritizing the content display. Again, I may be missing some business requirements but it`s worth looking into these two options first (exactly operator with "*" character or Rules order).
I hope this helps solve your problem. Please let me know if you need further information on the above.
Marketing Automation Consultant
Hi @Constantin Gutic - LogDMS.com, I may be wrong but I believe that way would work in many situations but if "Men's Basketball" is listed last in the string (for example: "Women's Soccer, Women's Basketball, Men's Basketball") then that dynamic content with the exactly Men's Basketball* wildcard would not work.
Hi @Mark Meyer,
Thank you for your input here! Indeed, in your presented use case using Men's Basketball* as wildcard would not work. Again, I don`t know the full business requirements and I am just assuming that prioritizing the first event name in the string is needed to drive the Dynamic Content Rules. Using contains as the operator is too broad to be considered an option but by using exactly and the wildcard "*" should help narrow down the results.
@Kyle_Murphy might actually end up needing to create a data management program using the CWM app to standardize or split the values in other fields, but it depends on how simple or complex the approach should be.
Marketing Automation Consultant
Thanks @Mark Meyer and @Constantin Gutic - LogDMS.com for your attempts at a solution. Unfortunately, as Mark mentioned, the order isn't always predictable, so I'm not sure using wildcard patterns will work either.
The unfortunate realization is that I will likely need to use two separate fields. One for content personalization and one to use for dynamic content.