Opportunity Teams

Last Updated on Wednesday, 12 July 2006 04:20 Written by Steve Wednesday, 12 July 2006 04:20

When you’re working on a Grant or a Major Gift, it’s often a team effort. Board members can help solicit donations, multiple staff members can contribute to a Grant submission. Record these teams in Salesforce.com using the Contact Role functionality on Opportunities.

Create Contact Roles to cover all the parts people will play on your teams. If you make sure to have Contact records for all your staff and board members they can easily be added to the Opportunity team through the Contact Role related list. Then you’ll know who’s on the team for each effort, and can track and thank accordingly.

Learn More

Households and Campaigns in a Contact-centric Salesforce.com

Last Updated on Wednesday, 12 July 2006 03:41 Written by Steve Wednesday, 12 July 2006 02:32

Anyone who works in Salesforce.com notices quickly that there is a distinct bias for business to business (B2B) interaction over business to consumer (B2C) interactions. This is a drag when you try to do things like run an individual giving program, or lock down user access to Contact records.

One place in Salesforce.com where B2C functionality is actually pretty nice is Campaigns. Campaigns are the stock way of modeling an outreach event. They allow you to connect a ton of Contacts to the Campaign, change their status, export them to Excel, etc. You can easily use Campaigns to create lists for direct mail, emailing, etc.

There is a problem, though, when we try to model Households. Here’s an illustrative example.

You run a report of everyone who has given you a gift this year so you can send them all a mailed invitation to a thank you party. You add everyone in that report to a Campaign for the party. Then you export the Campaign members to Excel for mail merging.

Faye Fonebone gave you $100 and Fred Fonebone gave you $50, so they are both Campaign members, and both in your Excel export. Problem is, they live at the same address, and you’d like to send them one invitation. You’ve already created a Household for them, so it’s easy to bring in their Household information, but how do we deal with the duplicates?

You can take the Excel spreadsheet and dedupe it by hand–not really that hard to do. Or you can write an S-Control to dedupe the Campaign members based on their Household, which is what I’ve done.

From a link on the Campaign, I run an S-Control that looks for Contacts that have their Household represented more than once. For all Contacts other than the first one, the Campaign Member Status is changed to “Household Member”.

The link is a Formula field created on the Campaign object–here’s what the syntax looks like:

HYPERLINK("/servlet/servlet.Integration?lid=XXXX&eid=" & {!Id} , "Deduplicate Household members")

Where XXXX is the Id of the S-Control you've just installed.

Now when I export my Campaign members, I can drop out all those with Household Member status, and eliminate my duplicate address problem. I address my letters to the Households, using the Household recognition name, “Faye and Fred Fonebone”, and we save paper and look like we know what we’re doing.

It will work with no changes if you’re using my Householding setup, which is included in the new Salesforce.com Foundation nonprofit template.

Learn More

Ensuring CRM Data Quality with DemandTools

Last Updated on Thursday, 6 July 2006 12:29 Written by Steve Thursday, 6 July 2006 12:21

One of the biggest problems plaguing CRM systems and their use is data quality. Once users start entering data into the system, quality degrades with duplicates, and incomplete and innacurate data. Cleansing relational data can range from the easy (modifying simple fields on record) to the very difficult (deduplicating records while making sure all related data is maintained.) Doing it well takes some pretty high-level logical thinking and expertise in whatever programming language your CRM is written in.

No longer. Incredibly complex deduplication and data cleaning is now within the reach of nonprofits using Salesforce.com thanks to today’s announcement by CRMfusion that they are donating their Salesforce.com data manipulation software DemandTools to small nonprofits.

After spending some time with DemandTools, I am amazed at the combination of power and simplicity. I will now be training all my customers in data deduplication using DemandTools, and I’m really excited to see how the improvement in CRM data quality will positively affect them.

The DemandTools Toolkit

DemandTools is a .NET application that you install on your Windows desktop and point at your Salesforce.com instance. Much like the Salesforce.com Dataloader, DemandTools will interact with your Salesforce.com data, allowing you to select what data you want to query and modify.

But DemandTools is much more than an import/export/update utility (it does do that very well, though.) Consider the Dataloader a really fast way to get large quantities of data in, out, and modified in Salesfore.com. Consider DemandTools to be a powerful tool that helps you solve the specific problems of data cleanliness–one of the big challenges of successful CRM. Data cleanliness can be broken into a couple separate problems.

Promblem 1: Duplicate Records

Duplicate records are the bane of all CRM systems. People and organizations are in the database more than once, so you don’t have a clear picture of your relationship with them. Often it’s really hard to find duplicates. And when you can find them, it’s often even harder to get rid of them.

The main problem with getting rid of duplicates is how to deal with related records. If there are duplicate Contacts, you have to migrate all the other records in the database that are related to the Contact to be deleted to the Contact to be saved. All gifts, memberships, notes, tasks, and events have to be reconnected to the Contact we’re keeping. This is a daunting job. Salesforce.com has it’s Account and Contact merge functionality to do just this set of tasks.

DemandTools has blown the doors off of Account and Contact merge. The new version has a generic Single-Table Dedupe tool. It
allows you to dedupe any Salesforce.com objects. Accounts, Campaigns, OpportunityContactRole, Households–ones that are created by Salesforce.com and ones that you create. They’ve extended the
functionality to match the flexibility of Salesforce.com. Brilliant.

They basically work like this:

  1. You pick the object you want to dedupe
  2. Youset criteria for the set of objects you want to check for dupes (all, owned by you, or build your own criteria)
  3. You pick the fields you want to see on the duplication comparison
  4. You set the criteria for determining if the objects are duplicates (exact, fuzzy, partial match on name, and any other fields you want. Plus crazy matches that don’t care about word order, ignore phrases like “the”, “and” or “-”.)
  5. You are presented with a list of possible dupes
  6. You identify which of the possible dupes you want to deduplicate
  7. Merging is controled in a number of ways. You can specify which fields you want to keep on the merged record, just like the Salesforce.com Account and Contact merge. Or you can set up rules that pick the fields to keep for you. You can create really complex rule sets that can be saved to XML and shared with other DemandTools users. You can also schedule deduplication to run on a schedule.
  8. You merge, and the non-master record is either deleted or renamed with a prefix you determine for easy deletion later

But don’t take my word for it, watch the screencast of DemandTools single-table Deduplication in action.

The interface is intuitive, and the results look to be right on. I like that the object to be deleted can be renamed, rather than deleted straight away–letting a program modify your CRM data is a bit scary, so it’s nice to have an extra verification step in there. Once I come to trust DemandTools more, I’m sure I let it delete for me.

Problem 2: Inconsistent Data

We spend a lot of time at the begining of a CRM project firguring out what data we need in the system to allow the nonprofit to get its work done. We set up the right fields, with the right picklists and options, and it’s a thing of beauty. Then it starts to get used and the data in those fields ends up looking like junk.

With picklists and multiselect lists we can control what people put in fields. You can make fields required so that the user has to enter something. But in the end, data entry is imperfect and data will be left out, misspelled, or otherwise incorrect. The MassChange tool lets you build simple update queries for any object. Change all Account billing country fields that are “US” to “USA”, for example. And you can build much more complex queries than that. I’ve been doing this with the Salesforce.com Dataloader–it simplifies this greatly.

Problem 3: Bad Addresses

Another big problem of CRM data is that addresses are bad–they’re either incomlete or the zip and address don’t match.The Zip Fix tool will look at the zip code and suggest changes to the city and state where appropriate. I ran this against my Salesforce.com and found 1047 Contacts where changes were suggested. Most of these were fixes to annoying capitalization errors I introduced a while back. Now they are all fixed, making my Individual Giving Manager happy!

The address change suggestions are made to a CSV file, which you can then point the MassEffect tool towards, doing a big update call. Here’s a nice feature: an Undo file is created, so if you realize after the fact you didn’t want to change those addresses, you can back out the changes.

Things get really interesting with ther Address Verification tool that connects to a the web service vendor Strike Iron. It uses the pay service at Strike Iron to check addresses and recommend changes in spelling, corrected zip codes, etc. It also will supply latitude and longitude, US Congressional district, and County. DemandTools comes with 2000 free lookups to the paid service that retails at about $0.03/lookup or $300/year for 10,000 lookups. I used those free lookups to fix addresses and add US congressional district to 1300 Contacts in our database. Very nice, and definitely worth paying for in the future. If they add State Legislatve District lookups we’d be the happiest folks on the planet…

Pricing

DemandTools is free to any nonprofit who has 10 licenses with Salesforce.com. Nonprofits with more than 10 licenses can purchase DemandTools for $25 x the number of licenses. A 20 user nonprofit would pay $500/year, well worth it in my eyes.

Conclusion

DemandTools is a wonderful complement to Salesforce.com CRM. I am hooked. I’ll be using it in my consulting, and I’ll be recommending this to everyone I know. If you’re a nonprofit using Salesforce.com DemandTools could really change the quality of your data for the better, and allow you to spend less time worrying about your data and more time using it in service of your mission.

I’m always happy to see the Salesforce.com business partners infected
by the corporate philanthropy of Marc Benioff. My hat comes off to DemandTools for making their enterprise-grade tools available to nonprofitshanks for the donation
CRMfusion!

Learn More
Copyright © 2009 Afterburner - Free GPL Template. All Rights Reserved.
WordPress is Free Software released under the GNU/GPL License.