Wish List: Fix the Campaign Object
The Winter 07 release is amazing in it’s depth and breadth. It’s great for me in my role as consultant because I have fewer places in the applications I build where I have to explain some weird workaround to users. “I know it looks like you should click there, but NEVER click there.” Some of the biggest issues I had with Salesforce.com as a platform for building nonprofit databases went away overnight in mid January.
But if you look at Salesforce today, you’re eyes will be drawn to one major area of the application that has lagged so far behind it has become a blemish on an otherwise phenomenal platform. I am, of course, speaking of Campaigns.
Campaign is a standard object in Salesforce.com that is used to model outreach efforts. I use it to group people for a direct mail appeal, or list the people I invited to a conference, or flag folks who are on my current prospect list. In addition to grouping people together, you can also associate Opportunities with Campaigns, which means you can easily see ROI associated with outreach efforts. This last appeal to 2000 people netted $3500. Was it worth it?
The concept is really flexible. Because Campaigns can have people as Members, they can be any ad hoc listing you want. And they become more powerful in Winter 07 because you can feed them into the Console for the exact view of your constituents you want.
But there are some things about Campaigns that need to be updated to give it power and flexibility on par with the other Standard objects. Here are my suggestions to the Salesforce Campaign team:
Where is the Member Related list?
I mentioned earlier that Campaigns can have Members. But, there is no Member related list on the Campaign object. If you want to view the members of a Campaign you have to load up a report (which you can’t even pass a Campaign Id, by the way). It’s the only object that behaves this way. How about handling Campaign Members like all the other related lists? Show me 5 and let me add some more if I want. If I have 200,000 people on a Campaign, I’ll get bored before I crash your servers with requests.
What’s with the marketing User checkbox?
To turn on the Campaign functionality for a User, you don’t go to their profile page, where you control their access to all other objects in Salesforce. You check the Marketing User checkbox on their User object. It’s the only object access property that’s handled this way as far as I can tell. How about everyone being a Marketing User if they have permissions to it in their Profile?
Sharing is good behavior
Accounts, Contacts, Opportunities, and Leads all have ways to hide certain objects from certain groups of people. A great idea when your Salesforce.com system is used by the whole company with many different job functions. There are no sharing rules for Campaigns, so you either see everything, or nothing. It sure would be nice to have some control there.
Customization is your buzzword, how about showing Campaign Member some love?
When you associate a Contact/Lead with a Campaign, you do it via a table called Campaign Member. The only metadata I get to record about this relationship is a text field called Status, and a field called Responded (a true false that calculates the response rate). So someone has been “Invited” or “RSVP” or “Attended”. But there’s no good way to say, “Joe is attending and he wants to bring 5 people.” You can’t say, “Susan said yes and she’s willing to carpool to the event.” Crazy long-tail needs, I know. But that’s what Salesforce is good at. How about letting me add custom fields to the Campaign Member table? I’ve said before that this alone would turn Salesforce.com into a viable Event Registration platform.
Active checkbox
And now for a little one that is amazingly annoying. When a User creates a Campaign and saves it, they won’t be able to find it unless they remember to manually check the Active checkbox. It’s a great way to keep people from utilizing the Campaign functionality because the first time they try it out they have no idea where their Campaign went. How about letting an Org choose if it’s on or off by default?
So I’ll I’m asking is that Campaign becomes a first-class object, to use Salesforce internal lingo. User got the makeover it was needing in Winter 07. I’d love to see you roll away the bus in front of Summer 07 and see the current Campaign object with an added second floor, new sod, and a pool in the backyard with a pirate ship in it!
Update: Chris suggested in the comments that I link to these ideas on the idea exchange, so those links have been added. Vote ‘em up if you agree!

January 27th, 2007 at 2:16 pm
Amen - great post! Are those on the IdeaExchange?
January 28th, 2007 at 9:31 am
Some are posted there, but I wanted to present them as a package.
January 28th, 2007 at 9:59 am
I hear you. I just know that all of us have these great ideas, and now we have a channel to see them take off. I’d love to see the links for each suggestion in your post, so I could quickly and easily go vote on them. I know some folks are against pointing people to your IdeaExchange posts, but I think it’s completely appropriate.
February 1st, 2007 at 7:26 am
vote away!!
just what every non-profit is waiting for
February 1st, 2007 at 11:21 am
Yes indeed!
Here’s a workaround I thought of during the discussion today. My first workflow field update rule is called “Activate Campaign”–it sets active = true whenever a campaign is created!
February 1st, 2007 at 1:51 pm
Genius!
February 7th, 2007 at 10:31 pm
Brilliant, Evan!
However, it’s still after the fact - since Steve didn’t log this one (I don’t think, search is busted on IEx right now), here’s that request: http://ideas.salesforce.com/article/show/61134
March 13th, 2007 at 6:36 pm
[...] I have been talking a lot about the Campaign infrastructure in Salesforce.com lately. One of the things I really want (aside from Sharing Rules) is the ability to add fields to the CampaignMember table. This is the table that tracks the people attending the event, or being sent the direct mail piece. [...]
April 10th, 2007 at 9:45 am
[...] One of my regular blog reads, Gokubi, has a post about how difficult it is to use the Campaign object. Here are a couple tips that we compiled for making your experience with Salesforce.com Campaigns more bearable: [...]
September 13th, 2007 at 10:17 pm
[...] I’ve been griping about the Salesforce.com Campaign/Marketing functionality for a while now. But it’s been out of love. I know the potential Campaigns have for engagement, and the rest of the Platform was moving ahead and leaving Campaigns behind. [...]