Campaign Reports

Posted on April 10, 2007

This post is technical in nature and may be unreadable by non-Salesforce.com-admin people.

Salesforce.com campaigns get a bad reputation regarding their functionality. I think it’s partly to blame on how the reports don’t allow enough joins (campaign-lead-opportunity) reporting and partly to blame on how the CampaignMember record is not available for inclusion in customization and workflow.

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:

1. Look at campaign member details from within the campaign using a report:

Create this report:
Type: Campaigns > Campaigns with Leads (or contacts)
Filter: All Campaigns, and CampaignId equals “abcd”

Save the report in a folder that everyone can see (or at least marketing). You can override the report filters via the query-string. Here is my report URL:
https://na1.salesforce.com/00O60000001BzAf

Now, if you want to override a value in the filters, append this to the URL:

https://na1.salesforce.com/00O60000001BzAf?pv0={Campaign.Id}

The value to the right of “?pv0=” will be inserted into the first filter. If you take the URL you just made and use it as a custom link on a Campaign, you automatically have a campaign-specific report where you can drill into some information directly from the campaign detail screen.

» Filed Under Salesforce.com | 2 Comments

Marketing Dashboard

Posted on February 28, 2007

Measuring marketing is a popular topic right now. The tenure of CMO and marketing VPs is much shorter than your typical VP. Why is that? In my experience, it comes down to how they communicate with the other VPs and their board. Board members are ready with tough questions, trying to stump the marketing staff even before they enter the room. Most marketing organizations are viewed as wishy-washy, creative, and not connected to the bottom-line of the company. It’s really unfortunate when this organization is actually responsible for filling your sales pipeline and doing enough advertising and PR that people know what you do and how you’re better at doing it than your competitors.

If engineering delivers a really crappy product, someone will most likely get fired. If a sales staff misses their sales budget, someone will very likely get fired. If a finance department can’t keep a budget, someone will very likely get fired. If a support staff leaves customers consistently angry with service, someone will very likely get fired. If a marketing staff delivers really bad leads to sales so sales must do their own prospecting to fill their pipeline, nothing will happen to the marketing person.

If this organization is so critical in an organization than why is it so difficult to get reliable measurements? My personal experience is where the key players in marketing come from. They have a degree in English, or if you’re lucky, Communications. The marketing executives who have been around long enough to have solid experience come from a time where marketing wasn’t measurable. Now, with CRM and the electronic advertising mediums, a marketing organization is more measurable than ever. Even with that being the case there is still little being measured.

To quote Einstein: Everything that can be counted does not necessarily count; everything that counts cannot necessarily be counted.

The typical marketing staff probably talks to the board about lead counts. “We collected 12,345 this quarter. It was an increase by 12% over the previous quarter.” Now, the board of directors thinks: “… and?”.

Not only is the board waiting for more detail, looking for diagnostic feedback from the marketing organization, but the VP of sales is looking around the room with a funny face trying to convey to the board that “the lead counts are inflated! Don’t listen to the lead counts! My guys aren’t getting any real leads!”

How to avoid this problem?

  1. Define a common terminology: Have your marketing and sales people spend time together, not skipping from one topic to another, briefly touching on topics and not delving deeply enough into any to actually fix anything. Have an agenda (maybe this one) about what needs to be defined.
  2. Build a process: If you have leads that sit assigned to a salesperson as “Open” just because the salesperson thinks that eventually everyone will buy - get rid of that shit! If a sales department would actually close leads (even if only “Closed, Junk”) than the marketing department will be able understand the sales guy when he says that nobody wants to buy. You’re much better-off letting the data speak for itself than wasting your breath trying to convince someone they’re not doing a good job.
  3. Define what sales wants. Sales is not allowed to say “people ready to buy” because last time I checked, nobody actually asked someone registering for a whitepaper “would you like to buy our product now?”. By sales struggling to define what a good lead actually is, you’ve given the sales staff some understanding of how difficult the marketing role actually is.
  4. Have marketing and sales come up with a measure on how marketing can successfully meet the needs of sales: Just created a metric, a graph, or a table that represented the core deliverable of a marketing department (from the sales perspective).

» Filed Under Uncategorized | Leave a Comment

Salesforce.com S-Control Dashboard Example

Posted on February 28, 2007

I created my first S-Control for a Dashboard. Since I looked everywhere for an example before I got started and found nothing, I wanted to post it here for anyone else searching to find. It takes a list of the asset records and gives a percentage of each grouped by name. I created it because I couldn’t get my report total formulas to do the same for me. It was a fun way to try it out as well: Read more

» Filed Under Salesforce.com | 2 Comments

Helpdesk

Posted on January 10, 2007

We’re implementing an internal helpdesk tool at a small business.  We reviewed a lot of the Open Source systems out there and found one that was just like an enterprise-level system but also customizable, runs on LAMP (easy setup/easy maintain), and is pretty popular.

Eventum

It’s used by MySQL as their external product helpdesk.  There were only a few points that we customized and made it a very slick offering for what we need:

1.  Project = Internal
2.  Priority = 1. Can’t Do Business / Mission-Critical to 5.  Project / Scheduled
3.  LDAP integration so people don’t need another password
4.  Email integration = Not perfect out of the box.

After having the system work for us in an all-internal aspect, we’ll look at offering it to our customers as our company helpdesk for our customers.  This could give us a central location to manage project work for both internal and external endeavors and a great point to integrate with our CRM system.  Plus, the per-seat license is $0 since we have LAMP expertise in-house.

» Filed Under Open Source | Leave a Comment

S-Control Example

Posted on December 14, 2006

When I started developing AJAX S-Controls I looked everywhere for a good, simple example. Something simple enough to illustrate the mechanics of the process while still being functional. A client came to me looking for the same thing but now all my S-Controls are hundreds of lines long, so they’re not a simple example.  Here is a simple example of an S-Control that prints out the open leads belonging to my user. For each lead, there is a button that allows you to update the status to “Closed Lost”. I based it off this very popular blog post from the SF-Blog. Here it is:  20061214-code.txt

» Filed Under Salesforce.com | Leave a Comment

Task-Based Workflow (before winter release 2007)

Posted on December 14, 2006

You don’t have to wait for the Winter 2007 release of Salesforce.com to take advantage of approval processes. That’s right - you can do it now using the existing functionality. All you need is a custom field on the activity object and you can make workflow rules to accomplish virtually any approval process. Here’s how:

Enter setup (you must be an admin) and navigate to “App Setup” > “Customize” > “Activities” > “Custom Fields”:
20061213nav.jpg

Now, create a custom field here titled “Workflow_ID” as a text field with length of 50. This field will record the be used to trigger your workflows. The system will ask if you want this field shown or editable by anyone. I suggest that it’s visible to admin but not editable by anyone else. Personally, I haven’t found reason to include it in a layout.
With this custom field, you can now create workflow chains. Where you once had three check-boxes that held the different levels of completion for approvals on a record, you can have the one task workflow handle this. Let’s take Opportunity close as an example.

At one client, an Opportunity must be approved by legal before going to finance. A task is created as a template for the legal review. On this task, since you’re admin, populate the Workflow_ID field with “OPPTY_APPROVAL_STEP_1″.

Now, create a workflow rule assigning this task to the finance guy when the Opportunity closes. Great, now you’ve got a legal approval - finance needs to know when it’s complete.

Next step, create a new workflow based off the “Task” object with criteria related to the Workflow_ID field. Use the following criteria:

Workflow_ID , equals , OPPTY_APPROVAL_STEP_1
Status , equals , Completed

Now, when that task is closed, this rule can be triggered. Follow the steps above with a different Workflow_ID key and you have task-based workflow.

» Filed Under Salesforce.com | 1 Comment

Time Sheets In Salesforce.com

Posted on December 12, 2006

The professional services department wants to track time sheets in a central location. We use Salesforce.com for everything else, why not time sheets?

The only way to do it out-of-the-box requires the users to open a new record and perform the data entry on a single page for each time allocation. This means a lot of clicking. A lot.

I got around this by creating an AJAX S-Control that retrieves the time-sheet records (a custom object) and populates them in a grid along with a few blank rows at the bottom for ample area to account for today’s new time records.

The projects list is a list of Opportunities that they can attribute their work to.

Take a look, what do you think?

my-time-sheets.jpg

» Filed Under Uncategorized | 1 Comment

Help the (other) department that helps everyone

Posted on November 20, 2006

If there’s another department that can be helped by systemizing data, it’s definitely HR. They track lots of things such as:

  • Recruiting
  • HR Policy Violations
  • Salary Data
  • Employee Performance Reviews
  • Employee Satisfaction

And since they’re HR, they help you get paid and make sure that you like your job. It makes sense that you’d want to help them as well, right? Well, it’s simple if you’re on Salesforce.com - check out these AppExchange applications: link to AppExchange HR category.

We’re starting with Recruiting first because it requires a lot of data to be managed, most of the data comes from the computer anyway (at least with tech recruiting), and there are a lot of needs for data sharing and possibly for approval processes or work-flow later. Unfortunately, there are two applications available for recruiting, both for free from Salesforce.com, and both read like the same application. They are Recruiting and Recruiting Manager. We went with the “Recruiting” one because it required one less tab and we just wanted a simple starting-point that we’ll end up customizing down the road anyway.

20061120_sfdc_recruiting.gif

The nice parts of this solution are that it’s integrated with SFDC, it only costs the price of an additional user license (which you may have laying around anyway), and your admin expertise alreay covers the application. Now that it’s installed in our instance and an overview has been performed with the HR person, we’ll aim for a trial with a few open reqs soon. I’ll keep an update here.

» Filed Under Salesforce.com | Leave a Comment

« go back