Saturday, 30 March 2019

Salesforce Campaign Member Status – Does your marketing business need custom values?


Business Context
Campaign member status is a critical field from marketing standpoint since it depicts the progression of a Campaign member for a marketing event (i.e. Campaign). We all know when we add Lead/Contact as Campaign member to a Campaign, we see Campaign member status as either ‘Sent’ or ‘Responded’ but think about a scenario when Prospects (i.e. Leads/Contacts) are nurtured in various marketing events through Campaign, there could be need to set different Campaign member status value of that Campaign, for instance, “Click URL”, “Registered Event” – this could be few statuses of type ‘Responded’. Since this status is one type of drilled down value of Sent/Responded, definitely having configured a new picklist field at Campaign member level could be one way to address this ask, but how if from a Marketing platform (e.g. Pardot) it is required to set/change the Campaign member status while adding/nurturing the prospect to a marketing campaign?
In this article, I shall show how this business scenario could be handled using current Salesforce offerings.  

Creating new (customized) values for Campaign Member Status
The first step for this business case is to enable additional picklist values for Campaign member status.
In classic, for any Campaign record, go to ‘Advanced Setup’, and ‘Edit/Replace’ new values – that’s it.


For lightning, you need to include ‘Campaign Member Status’ into the Campaign page layout and then add/edit Campaign member status of your choice.


And after doing these changes, if you notice, there will be new values in status picklist field at Campaign member object. So, to make change in meta data level, you’re doing change in data through related record. Definitely different, but so Simple!
But wait. This will address for that Campaign record only for which you did all this hard work! How if for any new/existing active campaigns, business wants to enable this new Campaign member status values? Will the above-mentioned approach be able to address the need? Answer is NO. For this you need to run extra mile. Let’s follow…

Campaign Member Status for new/existing Campaign records

For this you have two options –
Option 1 – create a “template” type Campaign and for that record do all the manual work you did above, (thus that Campaign record having additional Campaign member status values) and then “clone” that Campaign while creating the new Campaign.

Option 2 - create Campaign member status record automatically when you create a Campaign. So, in general this option is all about establishing process automation at Campaign level so that Campaign member status is created. Towards a low maintenance approach, custom metadata type can be used to store the Campaign member status, and then a flow in conjunction with process builder can be configured which will read the values from custom meta data type, and create Campaign member status records when Campaign will be created. Similarly, apex trigger can also be developed to do this.


And for existing active campaign records, inserting Campaign member status records through any API client will be the approach for both the options mentioned above.

Few Considerations while enabling Campaign member status
  • While having a new Campaign member status value, ensure whether it will be marked as ‘Responded’ since it has significance impact towards campaign statistics.
  • Determine what will be the default value when you’re having multiple Campaign member status.
  • Replacing Campaign member status triggers all Campaign records update.


No comments:

Post a Comment