By Sam Knox

When there’s more than one way to get something done, how do you make the best choice? Consistency is the key.

If you’ve used Salesforce for a while, you probably know that for any given problem there are multiple ways to solve it. For example, the requirement of being able to track whether or not someone wants to receive mailings from you. You could easily have a checkbox called “Send Mail,” or one called “Do Not Mail,” or even a pick-list with multiple values like Mail Only, Phone Only, or Email Only. All of these are possible and most likely correct to one degree or another depending on the details of your requirements.

The above example is a data design decision which in many ways has clear rules of engagement. Consider that it’s going to be easier to check a box called “Do Not Mail” when you need it instead of worrying about whether everyone in your organization has checked the “Send Mail” check box for everyone, except for those who should not receive mail. A pick-list would only be necessary if your organization has multiple communications preferences to record, and then only if you have a reliable way of gathering that information from your constituents. At the end of the day, none of these approaches are truly “wrong,” however, one may be more efficient than others.

Take another example though which is more open to interpretation. Many fields in Salesforce are open text fields like Title on the Contact object or Name on the Campaign and Opportunity objects. Since these are fields where any data can be entered, a user will enter whatever data makes the most sense to that particular user. This is the source of some data hygiene issues, especially in the case where names for Campaigns are not consistent year-over-year. In reality, it does not matter if you want to go the route of code based names like AF-YE-15 (meaning Annual Fund Year End giving for 2015) or something more intuitive like “Annual Fund Year End 2015 Appeal.” What does matter though, and is more important than you might realize, is to be consistent. A future manager may or may not be able to figure out that a campaign called “December 2015 Contributions” actually has the same goals as “Year End Appeal 2015.”

My advice in these cases is to always be consistent. Don’t worry so much about right versus wrong. Report filters in Salesforce do not care about aesthetics. What does matter is that all your records conform to the same format or pattern so that your report filters will work. This is important for every record. Suppose that you want to keep track of who is currently on your board and who has served in the past. Below, we explore a few ways of doing that:

  1. Use the Title field to record information like Current Board Chairperson, or Former Treasurer
  2. Use an Affiliation to create a relationship between the board member and your organization
  3. Create a custom field called Board Status to indicate Former/Current and the Title field to represent the board position
  4. Use Account Contact Roles to set the Role of the board member

We could probably list out several more of these, but the above example should give you a better understanding of why consistency is key. Now imagine that we had been using a mixture of three of those options for the past several years. Do you think that finding current board members would be easy or hard? In this scenario the data tracking has been inconsistent and therefore causes many problems for your organization down the road. The bottom line is don’t worry so much about right or wrong, just be consistent! If only one of those ways had been used, even if it did not prove to be the most efficient, it would at least be immediately useful. Transitioning to a different method would be much easier if only one of the above options had been selected.

You may also be interested in reading the following:

Best Practices: Salesforce Fields
Common Pitfalls When Implementing Salesforce for Nonprofits: Custom Record Types
Salesforce Analytics 101: Organizing Your Reports and Dashboards

Sam Knox

Sam Knox