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.