Decision diamond is not filtering contacts as it should?


I have a campaign where contacts enter, wait 12 days, and if they don’t have one of several tags, then I send them an email and tag them with a “no-record” tag.

Today, a group of people got sent the email – BUT THEY SHOULDN’T HAVE, because they had one of the several designated tags that should filter them.

Specifically how it works: the decision diamond says: If contact tags don’t contain “teamsnap-event-1” or “teamsnap-event-2” or “teamsnap-event-3” → then it should go to the sequence that sends them an email and tags them with “no-record” tag.

If contacts tag DOES contain “teamsnap-event-1” or “teamsnap-event-2” or “teamsnap-event-3” → then it should go to an empty sequence, where nothing happens.


The filtering appears on the surface to work – I see people going into each branch. But when I look at the people that went into the empty sequence (i.e. they DO HAVE a “teamsnap-event” tag that should prohibit them from receiving an follow up email), some of them HAVE been tagged with “no-record” and sent the email from the other branch!

I originally created this sequence as just a wait step with an email at the end of it, but then I changed it about 10 days ago to the decision diamond. There were people that were sitting in the wait step when I changed the sequence… could that be why they weren’t filtered correctly with the decision diamond? Any ideas of what I should change or investigate??

EDIT: I figured it out (with help from Mark in support). My decision diamonds that said “contact tags does not contain . XXX or YYY or ZZZ” , needed instead to be “contact tags does not contain . XXX AND YYY AND ZZZ” .

1 Like

Thank you! I had the same issue, my first one was set to AND, but the second one was all set to OR (which makes sense in my head) but i changed them to AND and now it works!