Hello all,
I'm officially stepping beyond my comfort zone and starting to run some lists! I want to run a data request by you all and figure out the best solution. Here's the list I'm looking for:
Visitors between 6.1.23 and 9.15.23
Not currently Members
No lifetime Giving
"Show me a list of everyone who attended from 6.1.23 through 9.15.23, who isn't a member, and who hasn't given to us before."
Here's my criteria so far:
How do I add in "has not given" and "is not a member"? When I add in 'Membership Level' NOT IN '(all the levels)', it gives me an error message:
When I add in 'Contribution Amount' = $0, it still pulls in people with giving.
This seems like an extraction problem. Would it make more sense to run the list above, then extract out (members) and (people who've given)?
I usually find that by the time I'm having to suppress people it is better to use an extraction than a list.
Okay, your first problem is in the execrable Ticketing criteria set. I generally warn people that if they want their criteria to "work together", then they all have to come from the same criteria set, but Ticketing breaks this a number of times, and you have to kind of guess which parts will work with which other parts. In this case, because the Attendance X criteria and the Ticket History X criteria are not connected, your query for that will return anyone who was scanned for any performance where the performance date was between said dates, AND ALSO bought a ticket to any performance in the 2023 Timed Admission season. As an aquarium the delta between the two is probably not large, but I'm sure that's not your intent. Unfortunately, there simply isn't a criteria for season of scanned performances, and trying to use Attendance Performance is going to give you the same error as Membership Level if you try to select all the performances in your season.
A little behind-the-scenes on that, when you're presented by a multi-select list like that in Tessitura, inevitably what is happening is that the numeric ids for the items in question that you select get wrapped up into a single text value separated by commas, like "90233,90234,90235...", which is then passed into a procedure in the database. But the procedure will only be able to take a text value of a certain length, and so selecting extremely large numbers of items can overwhelm it. I'm a little surprised that you have that many membership levels, mind, but that is what is happening there.
I have a feeling that there is something wrong with our membership criteria sets, but I presume you have (under Membership, not, ironically, Membership Current) a criterion called "Membership Current". I think this should work if you use "Does Not Have" and "Yes".
Now, Contribution Amount is only looking at a single contribution, and it will pull anyone with a single contribution amount of $0, probably not a lot of people, but anyone who has ever had a contribution backed out for any reason. Generally you'd be looking at Total Giving or Total Household Giving. But the problem there is that when you add those criteria, you will only return constituents with contribution records. Here you could go two ways, you could do something like Contribution Channel "Does Not Have" [Select all], or you could create a separate list of people who you do consider as having given a contribution (maybe using Total Household Giving > 0), then use that list in this one with "not in".
The ticketing List functionality has disappointed us in the past, unfortunately. This is the nearest I've got so far:
Like you said, this isn't technically what I want, but I think it's as close as I'm gonna get.
Here's what I ended up with:
Any errors that jump out at you?
Do you mark people as inactive or deceased? We always include those as suppressions.
I don't think so, but I added in 'First Name Status' and 'Second Name Status' IN deceased as a suppression as well.