Salesforce Campaign Member to the Rescue

Salesforce Campaign Member smallWhen looking back at how effective a Marketing Campaign was, I’m sure you are faced with the question “How many MQL’s did this Tradeshow produce?” or “How many Leads did that Partner refer to our Webinar?”. Well, the key to these questions lies in a hugely underrated Salesforce Object, the Campaign Member. The Campaign Member is a junction Object between the Lead/Contact and the Campaign (aka the marketing initiative that person interacted with). A Lead or Contact can amass multiple Campaign Member records over the course of their lifetime interacting with your company.

Campaign Member Junction Object

Each of these Campaign Member records represents a key contact point at a specific time, and it’s highly possible that the data on the Lead’s record was different when they first interacted with you a year ago, compared against their most recent interaction today. If we only had the ability to stamp key data at each of these interaction points… Here’s how. In this example, I am going to stamp a Field called Lead Stage on the Campaign Member with every Campaign Interaction. In this scenario, Lead Stage is a picklist on both the Lead and Contact with the following values: Inquiry, MQL, SAL, SQL, Won.

First step is to a navigate to the Campaign Member Fields (Setup > Customize > Campaigns > Campaign Members > Fields) and create 2 new Fields. Add a Textfield called “Lead Stage” set to 255 Characters. Add a new Formula Field called “Current Lead Stage” and set the type to text. Since Campaign Member is Master-Detail to Lead & Contact, we can pull values from both Objects into the Campaign Member. Your formula will look like this:


That’s half the battle. Now, you can take a look at any Campaign Member in your system, and you will see what their current Lead Stage is; this Field is also now available for use in Campaigns with Campaign Members Reports.

Campaign Member Current Stage

The next step is to create a Workflow Rule to execute a Field Update on “Lead Stage” when the Campaign Member is created (this is the stamp part). Navigate to Setup > Create > Workflows & Approvals > Workflow Rules > Create a New Rule on the Campaign Member. You’ll want the workflow to fire when a new Campaign Member is created and Current Lead Stage is populated, but Lead Stage is not. Here’s what the WFR should look like:

Populate Lead Stage Workflow

Next, create a new Field Update to update the Lead Stage Field. Use a Formula to set the new value, pulling in the Current Lead Stage Field in the formula. It should look like this:


Then Save and Activate the workflow rule.

Pat yourself on the back, you just implemented a Lead Stage stamp on the Campaign Member. Now what? Now you are able to tell where a given Lead or Contact was in the funnel both at the point in time when they Interacted with one of your Campaigns, and where they are today.

Exposing the Lead Stage Field on the Campaigns Related list will give a visual representation of where a Lead or Contact was at the point in time they interacted with a Campaign.


I’d love to hear about how your organization is leveraging customizations to the Campaign Member. Drop a line in the comments, thanks!

[tagline_box backgroundcolor=”” shadow=”yes” shadowopacity=”0.1″ border=”1px” bordercolor=”” highlightposition=”left” link=”” linktarget=”_self” buttoncolor=”blue” button=”Contact Us” title=”Want more tips and tricks on Salesforce? OpFocus has a team of certified Salesforce consultants!” animation_type=”slide” animation_direction=”left” animation_speed=”0.7″][/tagline_box]

Picture credit: