Hi @wangting
To do (A OR B) AND C in server side CDH, you can do (A AND C) OR (B AND C)
You actually have a couple of different ways of doing this - you can do it all in a single enrichment, or do it in two enrichments. This is because having two enrichments that assign a badge is equivalent to an OR - if the rule for either enrichment is true, then the badge is assigned. Both ways are shown below. My preference is two enrichments, as the rules are simpler. Simpler rules are (a) easier to name and (b) more likely to end up being reused.
As for using a visitor level badge vs a visit level, that depends on your use case. If you want the user to join the audience the first time they do this action only, then a badge is a good choice. If you want them to be able to join the audience again on the next visit where they repeat the action, then a visit level boolean would be a better choice. However, if you go with the visitor level badge and later want to change that, you could add a first enrichment to the badge that removes the badge on any new visit as a quick way to convert it from visitor based to visit based.
... View more