Entries in Salesforce Data Quality (62)


Simplify the Data-Structure to Increase User Adoption

Salesforce Tip of the Day!

Having to look through a long list of Fields to find what you’re looking for is not only frustrating for users but also counter-productive. If your data in Salesforce is unorganized and formless, then your usage of Salesforce defeats the purpose of having CRM system, which is to help you accelerate and maximize your productivity; for example, what if you need to find the phone number of this Contact record:



A proper structuring of CRM not only allows users to find what they need quickly but also increases user adoption. Here’s an example of a proper CRM data structuring: you can see below that the rather less important fields are sectioned below and are collapsible. The most important/used fields (like Phone and Email) in the record; however, are placed at the top section.


By using this layout, segmenting your records in this fashion and putting the most important fields at the top and using collapsible sections, you know exactly where to look for the information you need.

Now, carry this layout across all your objects like Leads, Contacts, and Accounts.


Data Quality: Case in Point

The motivation for this blog post is a case in point example, so I'm going to go ahead and give you the story first and I think you will understand immediately why I'm so frustrated. For the purpose of this exercise, I'm leaving out all names and identifying traits of the people involved. I'm sure that most of you have experienced a similar situation, so feel free to chip in with comments.

I received an email two days ago from the sales director at my company. He went into detail about a conflict that came to his attention early in the week with two sales representatives, who I'm going to call Tom and Jerry. Tom made a phone call to a customer that he had made initial contact with two months ago and had entered into our Salesforce database. He was confused when the customer told him that he had just talked to a rep at our company named Jerry, and had actually decided to go ahead and buy one of our products.

At this point, Tom was both frustrated and irritated. He had embarrassed himself in front of a customer and lost out on his commission. He immediately went to the sales director with his complaint, who immediately emailed me. So I was left with a problem: how had Tom and Jerry both been assigned the same customer by the Salesforce system?

I found my answer fairly quickly. Every weekend, our Salesforce account does a mass import from our internal database containing all of our customer information. At some point, the customer in question had his phone number changed. When the system did it's weekly import, instead of recognizing that the number had changed, it went ahead and created a completely new account under the duplicate information with a different phone number. Tom was assigned 'Original Customer' and Jerry was assigned 'New Customer' and I ended up with a two-salesperson pileup.

I know that I've shared a lot of my thoughts on data quality with you before, but I don't think it can be emphasized enough. Without maintaining strict protocols for data import as well as entry, conflicts like this can arise fairly easily.


Steps Toward Cleaner Databases

One of the most consistent problems I face in my work is getting members of our sales team to fully and accurately fill out the required fields on This lack of attention to detail has left entries into our database in a patchy condition at best. Some accounts are fully filled out, but nothing is a bigger bane on the efficiency of our sales team than a partially completely lead form.

However, by taking a two simple steps as a Salesforce Admin, you can start to really cut down on the amount of incomplete data that is entered into the system.

1. Be sure that you have set up all fields appropriately for the lead form. If you plan on transferring the information from the lead form over to the account page, be sure that the fields on both pages match up.

2. Next, set up validation rules. By creating efficient validation rules, you can make sure that the user enters in the required data before they are allowed to save the record or change the status of the lead.

Important things to consider: When you are creating the validation rules for the lead forms, think carefully about which fields you want to be required. For example, if the salesperson makes initial contact over the phone, it makes sense to require that the telephone number field is filled in. You have to be careful though, because validation rules prevent the user from saving the information without all of the required fields filled in. What information is it likely that the sales rep can acquire over the phone? What is unlikely?

Hope this helps! If you aren't already, Follow Me On Twitter!


#DF11 So close, yet so far

We are exactly 20 days away from Dreamforce 2011- or as it's being referred to all over Twitter, Salesforce Christmas. All anyone needs to do to stir up some personal excitement for the conference is visit The lineup is incredible; Marc Benioff, Eric Schmidt, and many other CEO's and higher ups from notable companies. Metallica and Will.I.Am are also going to perform. Tons of folks are going to get certified for Salesforce, developers and admins will network, and unmeasurable amounts of learning will take place. All of this excitement is geared toward celebrating Salesforce and Cloud Computing.

I wish I could do it all. I look at the agenda, the speakers, the workshops, and the random activities and I literally wish I could be in a million places at once. Unfortunately, with around 40,000 people attending the conference, it's impossible to hit all of the events. However, I'm doing my best to be as organized as possible so I can maximize my Dreamforce '11 experience.

Here are four of the sessions I'm planning to attend:

  • Building Your Brand with Jenna Baze, Mike Gerholdt, and Nick Westergaard - 8/30 from 10:00 a.m. - 10:45 a.m.


  • 7 Habits of Highly Successful Admins with Mike Gerholdt, Thomas Martin, and Jeff Grosse - 8/30 from 3:30 p.m. - 4:30 p.m.


  • Best Practices for Clean Data - 8/31 from 2:00 p.m. - 3:00 p.m.


  • Data Does Not Have to Be a Dirty Word - 8/31 from 3:30 p.m. - 4:30 p.m.

I'm also really excited to have the opportunity to walk the Cloud Expo floor and check out all the new products that I'm sure will be debuting at the conference. My favorite part of the conference every year is seeing all of the new features, apps, and innovations all come together at once. I can't wait!


Solving Sales Problems 

I like to think that I'm a big picture kind of guy. I enjoy figuring out the patterns in everything- whether it be sports, politics, business, or social relationships. Finding the common ground in different areas of life makes things simpler for me in a way. This morning (like many mornings), I was reflecting on how cloud computing has completely changed the process of managing a sale and the relationship between the customer and company. In almost every way, CRM tools like have made the art of selling simpler, more organized, and more efficient. However, if Salesforce admins like myself aren't using these tools correctly or managing our companies accounts effectively, a ton of the benefits from these tools are lost in the clouds (forgive me).

I wanted to go over my top 3 sales problems that show up in any CRM system and can really be fixed by one umbrella solution. These problems are really just the tip of the iceberg when it comes to effectively managing CRM tools. The majority of learning comes with experience.

Problem: The people in sales can't trust the information they glean from the database about active sales opportunities.
Why: When the salesperson is working on an account, they neglect to update the information.

Problem: Some accounts linger in the system even after they have been closed.
Why: When a salesperson has finished a sale, they don't update the account information.

Problem: Information isn't entered into the system uniformly.
Why: The salespeople have been educated on how to use the system; some apply it, some don't - most meet somewhere in the middle.

Umbrella Solution: Talk with your superiors about putting a plan in place for CRM protocols. Explain to them clearly how big an effect these issues have on the productivity of the company and the sales team specifically. Make sure that you come away from that meeting with a clear understanding of the procedures they are willing to enforce. The key is being able to hold negligent employees accountable for the information they enter into the system.


Certified Developers Exam

In my work, I often have to find the right people for the job.  Whether I’m hiring someone to work with me, or assisting a client in filling a position, vetting candidates is challenging.  Salesforce does help in this regard because of their extensive certifications.  Whether as an admin, or a developer, earning a credential from does say something about you to prospective employers.

Earning these credentials is no small matter, and it shouldn’t be.  As stated above, such credentials need to say something meaningful to the world—that those who hold the credential are highly qualified, skilled, and dedicated.

When asked about the Salesforce Certified Developers exam, I listed the following suggestions for a colleague who was preparing:

This exam is not about writing a program.  It’s about your ability to understand the platform and when and how to use its various pieces.  By analogy, knowing how to use the Microsoft Office suite of programs says nothing about your understanding of how those programs are built and interact.

Transforming data into information is one the core competencies of Salesforce.  Understanding how the platform’s reporting engine runs is key to understanding how and when to use certain types of reports and dashboards.

Study up on the details.  A large portion of the exam questions you on permissions—how to enable or restrict who and how objects and data are accessed.  Know when and under what circumstance these settings should be used.

Be sure to have a comprehensive understanding of the platform, even the beginners stuff.  You might be the best programmer of one aspect of the platform, but the certification covers the entire thing, and earning the certification says you’re qualified in all of it.

Know about available options that Salesforce can enable within individual orgs.  Not all features and functions come standard in a new Salesforce org.  Some need to be enabled based on request, and programmers need to know what these are.

This list is really just an overview to help focus your study planning.   There are great resources freely available for each of these areas.  Make sure you don’t neglect any one of them.

Jul292011 Streaming API

I. Love. The folks at DeveloperForce are constantly working to improve and add new features, and I just can't thank you enough for making my job so much more efficient and fun. Half of you are probably wondering where this is coming from, the other half are probably writing this off as me being myself - but the real reason I'm in such a good mood today is all thanks to Streaming API. Out of enthusiasm, I wanted to take a minute to highlight the features of the new streaming API that my colleagues and I are most excited about. Streaming API allows administrators to create topics, which are affiliated with SOQL queries. Applications can then subscribe to one or more of the topics - when the data is updated the query is reevaluated and if something changes the results of the query, the application is notified.

I haven't talked to many other Salesforce developers about it yet, but all the feedback I've heard so far has been overwhelmingly positive and I'm really excited to get some more opinions. For the longest time, I've been struggling with the complexity of data synchronization and I know that most of my colleagues have been as well. However, thanks to the secure, scalable, and near-real time stream of data from the platform, I have a feeling that streaming API is going to make data synchronization a lot simpler.


Matsumoto Joining's Heroku

Programming legend Yukihiro "Matz" Matsumoto, creator of the Ruby programming language, has decided to join's Heroku PaaS company. This move is exciting in many respects, not least of which is the huge boost in geek-swag Heroku will feel after adding Matz to the staff.

Matz was enthusiastic about the move because Heroku is "committed to openness and developing Ruby further. I want to make the Ruby development experience even richer, more natural and more productive than ever for all Ruby developers.”

Over the past 12 months, has expanded it's development project of Heroku and and has attracted over 380,000 developers worldwide. Having so many different languages on so many different platforms - Ruby on Heroku, Java on VMforce, or Apex on - allows to be competitively diversified. The opportunity to churn out a huge amount of code, culturing an innovative spirit, and employing an open-minded company strategy are just a few of the many reasons that the development community has flocked to And it's working! According to CEO Marc Benioff, the Salesforce community is now managing over 1 billion lines of code.

There are exciting times ahead, I can't wait to see what the future holds!


A More Efficient Debug

Ask any writer what they love most about their job, the answer will always be the writing. Ask them what it is they hate most about their job, the answer will always be editing. The same applies to coders. Code writing is the joy, debugging is the bane. On that note, I just wanted to share with you all some information about the new features of the Async Test Console. I've started using it a little more frequently as of late to help debug my code, and I've found it to be exponentially more efficient.

New to Salesforce's Async Test Console as of Summer '11, you can add and cancel tests all while staying within the same test-run. You can also look at a historical view of the test execution, which has been wonderfully helpful for me. You also have the ability to run single or multiple tests all at the same time, freeing up time for you to monitor tests or work on something else while they chip away in the background.

As difficult as I typically find it to refocus on fine tuning my code after spending so much time with my nose to the grindstone, I really find that I can appreciate tools like the Async Test Console that make my life incrementally easier.