Contact records: When it's time to let go

Just by using PatronManager/Salesforce for a while, you're constantly accumulating data -- staff members are entering new records, patrons are buying or donating online, you probably imported records from your old system, etc. Cool! Data is good, right?

Well, not ALL data is good data. Maybe you're taking over from a predecessor at your organization but there was a while when there wasn't really anyone in the "gate keeper" role; maybe you had a lot of messy data in your old systems that didn't get addressed in the import process, and you need to do some cleanup now; maybe you're just noticing that your reports seems to include a lot of "cruft". There are some relatively simple steps you can take to clean things up and take out the trash.

First, decide what your "trash" is. This is probably going to be different for different organizations, but for us, there's at least one clear line to draw: do you have Contacts without actual contact information?

If you have no way of getting in touch with someone (by phone, by email, by postal mail… nothing), do they even really count as a Contact? First Name and Last Name are nice, but unless the person has the most obviously unique name in the world, you still have to be careful about "qualifying" that contact-less Contact to a possible dupe in the database (or the world), lest you end up creating a false history for them.

So here's what we'd do if we were feeling like "data hoarders" and needed to tidy things up a bit (spoiler alert: it's alllll about running reports):

1. Start by finding Contacts where Email and Phone and (any parts of) Mailing Address are all blank.

creating these took about 20 seconds

creating these took about 20 seconds

Then add a cross filter to see whether they've ever made donations or bought tickets (or any other interaction you track in your account). Maybe there's a piece of info on there to help you track them down? Or at least you'll know they're a real person in some way.

the most classic use case for cross filters

the most classic use case for cross filters

2. If they have no history? JUST DELETE THEM. They are un-contactable. You are never ever ever getting back together.

3. If they do have a history… well, you still can't contact them, right? We might consider re-parenting that history into an "anonymous" bucket account/contact because effectively, they are anonymous now.

4. From there, we might be done, but we might want to go a bit further, looking for people with an email address but no name, or that have a phone number but it's missing a digit (oops!), or that have parts of a mailing address but it's not complete... etc. Again, just figure out if there's any way to have a real relationship with those people if you try.

In the end, the whole point is to make sure that all of your Contacts are contact-able!

Who wouldn't we delete? We'll keep anyone that has real contact information, even if they're marked as opt-out or deceased or uninterested. That's good data! If you ever get data from another source, you don't want to accidentally re-import one of those "do not contact" folks without knowing you're not supposed to contact them.

Some of this clean-up will feel weird and bad because you're getting rid of people! But there is no benefit to keeping that data and there is no downside to getting rid of them. Be free!

Last-Minute #DF15 Tips and Suggestions

2015 will be Michelle's 7th and Allison's 6th Dreamforce! And like the circle of life, we get to see the Foo Fighters again this year, just as we did our first time back in 2008.

 

alli not pictured because she's taking the picture

We have some tips for first-timers, including the 5 PatronTech employees who are attending their first Dreamforce this year (out of a total of 16 of us this year!).

1. Wear comfortable shoes.

whew

Yes, this is the #1 thing on everyone's Dreamforce tips list -- but that's because omg it's really really true. You are going to walk a LOT.  (At DF14, MP averaged 14,239 steps per day, according to her Fitbit data.)


2. Don't carry your laptop.

This is related to #1! You're walking a lot. Do you really need your laptop? Especially if you have anything that weighs more than, like, an iPad, the answer is probably no. Take notes on your phone, your tablet, even (gasp) on paper, but spare yourself the extra weight.

3. But definitely do take notes!

And share them! We usually use Google Docs for the sharing part, but we all have different note-taking methods and apps.

4. Divide and conquer

If you're there with coworkers, you don't have to go to every session that looks interesting. Split up, take notes, and reconnect later! We'd even go so far as to say that you should never be in the same session as anyone you work with closely -- with xx000 sessions this year, there's just too much to take in.

5. But don't miss the real don't-miss sessions

Okay, fine, we're lying. There are at least a few times next week we'll both be in the same room as each other: True to the Core and the Admin Keynote, plus the three sessions presented by... well, us! (And other PatronTech people):

6. Have an exit strategy

If you're attending a session but you're not totally sure how useful/appropriate it will be… just find a seat on an aisle near the back. There's nothing wrong with ducking out early if it's not a good fit -- just make it easy/unobtrusive, and choose an appropriate moment.

7. Prioritize and bookmark

Unless you can teleport, you absolutely will not be able to have a completely full schedule every day. That is more than okay. Just prioritize as best you can -- and carry around some notes about your second and third choices so you can change your mind on the fly as needed (like when you realize just how far the Palace Hotel is from the third floor of Moscone West).

8. Know when to quit

clouds!

At some point during the week, the right choice will be to totally skip the next thing on your schedule and flop down in a beanbag instead (or get a coffee, or have an interesting conversation with a stranger). Find that point! Seize that moment! Most of the slide decks from sessions get posted online anyway.


9. Talk to strangers!

Everyone's at DF for basically the same reason, at the core -- we're all nerding out about Salesforce in SOME way. Don't think of it as networking, if networking feels weird and high-pressure -- just think of it as making friends. Nerdy, nerdy friends.

10. Talk to vendors!

Yes, you'll end up getting a bunch of emails you might not want (because what every vendor wants, above all, is to scan your badge and be able to follow up with you later). But there are tons of cool things going on in the expo hall, and lots of great people working for great companies that have great apps... so check it out, wander around, you might discover something really useful for yourself or your company.

11. Collect fun swag...

 

stuff we brought home for our coworkers to snag

12. But not ALL the swag.

we thought we'd have to buy another plane ticket

We don't quite want to say "take it easy with the swag" exactly, because we've certainly been there, but do keep in mind that every object you collect becomes a thing you have to carry around for the rest of the day/night, and then take home somehow. (Related: there's a Fedex in the lobby of the Hilton hotel. We've shipped home backpacks and shirts and hoodies and stress balls and one time a giant Saasy doll that Alli won in a trivia contest.)

 

13. Carry your phone/device charger at all times

And seriously consider investing in a rechargeable battery. MP bought this one at DF13 and it's been a lifesaver ever since.

14. If you see food, take food.

Even if you're not hungry. There will be something like 100,000 people at this conference -- by the time you decide you're hungry, the food will be gone.

15. Spend some time in one of the "zones" that has nothing obvious to do with your job.

If you're more of an Admin, check out the DevZone (because being a Developer on Salesforce is really just a tiny step away from Admin-ing anyway!). If you're a developer, go meet all the amazing people in the Admin Zone. If you're not either of those things... really, try to spend a little bit of time in ALL the zones. They're full of good ideas.

16. Choose your Keynotes wisely

keynote al fresco

First of all, there are like 10 different "keynotes" at Dreamforce -- you don't have to go to all of them. Figure out which products most closely align with your job, and go to those. Also -- consider watching the main "Benioff and Friends" keynote hoopla from one of alternate viewing stations (especially ones outside), rather than losing several hours standing in a line to get in...


17. Stick it out

It's usually not worth it to go back to your hotel during the day, no matter how far or near it is -- but there are plenty of good spots to take breaks "on campus" (we mentioned beanbags before -- there are lots!).

18. Register early

Go check in and get your badge as soon as you possibly can. Registration will be open in various locations on Monday this year. Registration CAN move quickly, but the lines get longer the more you wait. (Also, try going to one of the "satellite" locations instead of Moscone -- we're big fans of the Hilton…)

19. Have a plan, an agenda, a goal!

Before you go, spend some time -- on your own or with your team -- defining some goals, things you're looking to get out of the conference. Do you want to learn more about a new feature? Are you looking for a solution to a particular problem? The better you can figure out that stuff in advance, the less overwhelming the whole admittedly-overwhelming experience will feel. (Also , we're sure you'll be hearing a lot about Trailhead during the conference -- if you haven't checked out Trailhead yet, the Dreamforce module is a great place to start.)

20. Stay flexible!

But also -- part of the fun is that you'll end up discovering something completely new that you had no idea even existed. Don't overengineer your experience in advance -- leave a little room for serendipity and/or riding on a mechanical surfboard and/or winning an ACTUAL surfboard.

riding the Wave

 

this actually happened

21. Have fun!

And we'll see you there!

Why you seriously shouldn't ever just rename a user instead of creating a new one

We've both been working with arts organizations for more than a decade now, and one thing we've learned all too well is that an enormous amount of staff turnover happens at these organizations, as people move on to different roles at other companies. One of the greatest benefits of using a system like PatronManager or Salesforce is the fact that you're building a repository for institutional memory, a way to maintain continuity even as people with particular areas of expertise depart.

(we like to think of salesforce as your organization's own personal pensieve)

(we like to think of salesforce as your organization's own personal pensieve)

With different employees coming and going all the time, it can be tempting to just "hand over" a departing person's Salesforce user account to their replacement, just changing the name and resetting the password.

Don't do that!

  • Renaming a user destroys history. (Let's say Matilda was your development associate from 2010 till 2013, at which point she took another job and you had a series of temps doing data entry until Francine was hired as her replacement in 2014. Instead of deactivating Matilda's user and creating a new one for the temps, and for Francine, you just repurpose the account and give each of these people the previous one's old username.
  • But if "Francine" didn't start working at your company till last month, how come it looks like she had a whole email exchange with a patron in 2010?? Who actually DID have that email exchange? You'll never know.

francine totally wasn't here in 2010

Instead of creating a mess like this, you should ALWAYS deactivate the old user, freeing up her license and allowing you to create a new one!

We came up with a handy checklist that makes it easy to do this the right way:

Change the running user of scheduled reports and dashboards

  • Scheduled reports & dashboards will yell at you if the running user is deactivated, or if they're trying to send only to a user that's been deactivated -- so you might as well be proactive and fix it up right away before you start getting these errors!

the running user is inactive!

  • The best way to do this, we've found, is to go to Setup | Monitor | Jobs | Scheduled Jobs, and create a new view like this:

we miss you, lily!

Reassign ownership of records

If your organization's sharing model is open, sometimes you can get away with leaving your deactivated User as the owner of some records (particularly if those records are old and unlikely to be changed/touched ever again) -- but if there's any chance that you'll be performing actions on those records (via workflow or Process Builder for example), it's better to change the Owner.

Freeze the User!

This is a relatively new option (Winter '14) that allows you to turn off someone's Salesforce/PatronManager access before actually deactivating their User. For example, as mentioned above, if the user is the default workflow user, you'll need to change that before deactivating them -- but you probably want the User to stop being able to log in right now. By freezing them, you can run around and make all the changes you want to make without scrambling.

AND, even if something goes down while you're not physically in the office and there's a user that needs to be frozen, you can do that from your phone! Check out the SalesforceA app for admins on the go.


We know that organizations "share" users sometimes to save money on buying individual licenses, but reeeeeallly you should try not to, as much as possible, for all the reasons we outlined in the introduction to this post. It's so much better to have users that represent actual people doing actual traceable auditable things.

sell ALL the tickets!

 

What about seasonal/shared accounts, part-time use?

Here's a silly but not actually unrealistic scenario: Let's say the Laboratory Theatre has one Development Intern that works from September to May, and then leaves and it replaced by three Development Interns every summer (the busy season). Those interns work through August, and then leave and the theatre hires one new intern for the following year.

Lab Theatre SHOULD really be getting licenses for each person. But if they just can't justify it, what's the best alternative?

We'd probably deactivate and create a new user each "season" in this case -- give the school-year intern their own user with their own name, and maybe create a mutant hybrid for the summer to represent the three who are sharing the license -- but at least keep that separate from the user who left in May.

(More on this from the folks at Bigger Boat Consulting.)

Spring Cleaning: Contact record fields

We have a demo account that our sales team uses to show our prospects PatronManager. It's about five years old now and showing its age -- there's lots of weird historical data, and lots of accumulated one-off customizations that weren't ever really documented because it's not a "real" account. There have been lots of users over the years, all of whom have had System Admin privileges.

Our company and our sales team is growing, so it was time for a reset. Most of the accumulated mess hadn't been a day-to-day problem, because the old-timers on the team knew how to work around the things that were messy, but as we've hired new people, they've had to get started without the same benefit of experience.

So we decided it was time to create a brand-new account. We imported a bunch of more-realistic historical data in order to be able to do better demos of reports and dashboards, and then it was time to tackle the fields and page layouts.

And then we realized that the lessons we were learning and decisions we were making applied to other scenarios as well -- like, anyone who's inherited an older Salesforce or PatronManager account that hadn't been cleaned up in a while.

Here are the facts we were working with:

  • There were lots of custom fields that were sometimes nonsensical (like "Dog Person or Cat Person?"), often duplicative ("VIP" vs. "VIP?"), and frequently one-time use only (like "My New Field," created on the fly to show how easy it is to create a field! ...and then left there to rot on the page layout).
  • Page layouts varied wildly and without intention -- someone would occasionally pay a bit of attention to cleaning up or reorganizing the "Individual Account" layout, for example, without taking the same care with the "Household Account" layout.
  • There were custom badges of all different color schemes and styles because they'd been created at different times by different people using Da Button Factory or something similar (which is a site we love, but stylistic consistency would be nice).
  • Certain contact records looked okay because they were the ones that were used all the time -- they had all their fields populated with data that made some amount of logical sense for being a "real" person… but little attention had been paid to the vast majority of other records, so many were incomplete or obviously fake.

Peggy Olson's contact record, before.

In short, if this were a real client account, it would be impossible for people to get anything done, which made it a pretty terrible demo situation.

We needed to fix things.

Here's how we did it:

  • We designed a whole new set of badges and did a serious audit about what they all meant and how their formulas should be written. The old account had one badge field for Major Donor and a whole different badge field for Lapsed Donor -- we combined those together and added in a few more options to make a single coherent Donor Status field.
    • There were also separate badge fields for "VIP" and "Notable Patron"... we decided that was too weirdly similar so we cut the Notable Patron badge (because our users, the sales team, said they preferred to keep the VIP one).
  • We found and destroyed all the one-time use fields by running reports to see if the data was ever populated anywhere… mostly it totally wasn't, and if it was, the data was meaningless.
  • We reorganized all the active page layouts to help keep things organized and easier to understand at a glance, in a demo situation.
    • We made a new section specifically for fundraising data.
    • We're using a mini-Visualforce page to show donation history, so we moved that to its own section, without a header.
    • We added "blank spaces" to sections that needed more balance.
    • And we made sure to think through these changes, not just focusing on the fields that exist right now, but to make sure there will be logical places to put new fields that might get added in the future.
  • We checked our work both on the frequently-used records with complete data, and also on the records with less-complete data to make sure things didn't look super weird or confusing in either case.
  • All of this was done in the new, yet-unused account, so we had lots of chances to communicate with the team and show them things and get approvals.

Peggy's contact record, after


Everything looks so much cleaner and more usable now! The badges communicate the most important information about a contact, and it's easy to tell where to look to find the thing you're looking for.

We did the data evaluation work "by hand" in this case, by running reports and using our eyeballs, but we've also recommended the Field Trip app to clients who are interested in evaluating their use of fields in a more sophisticated way.

We would follow pretty much the exact process if we were working in a "real" account, with one exception: instead of doing all this work live in production, it would be done in a sandbox instead and then deployed after getting approval. (Though actually we've found that for MINOR changes to layouts, we can work directly in production -- we'll create a new Layout, and use Page Layout Assignments to assign it only to the person doing the work, and getting approvals from other stakeholders by posting screenshots to Chatter.)