The internet is full of people who’ve run into the same issue I run into all the time. I have some complex report that uses Contacts and other things that I want to contact or communicate with. But I want to make sure they aren’t in some particular status on a campaign or group of campaigns. I add my cross filter Contacts without Campaign History with a certain name and expect to be able to add a status condition. But you cannot. Who knows why but it’s not there. But there is a hack to make it possible.
You have to add a formula field to your Campaign Member object that is a text version of the campaign member status (Send, Opened, Pledged, RSVP, Attended, etc.). Here’s a simple screenshot of my added filed:
As an example application that I just used, I want to re-invite people who ignored my original request to join our newsletter but have had a recent activity with us. However, it’s important that I don’t invite people who have outright declined the request or been on the newsletter and asked to be removed. Both of these are represented as a campaign status on our Master Email Newsletter campaign. So I cranked in my Account with Campaign report with the right conditions but then added the cross filter to eliminate anyone who has said no already. That leaves me with people we never asked or who ignored our request.