Generalized solution design approach
Some companies would like to track how many rep activities or ‘touches’ took place when following up on a lead or contact record. Sales development team managers may wish measure:
- Have the correct number of taken place before a lead or contact was recycled back to marketing
- What are the optimal number of touches for better conversion
- How are my reps performing viewed through this additional data point
This document is a high level review of how you can go about creating functionality for, and how to configure Full Circle Response Management Sync functionality.
What Gets Counted
Typically organizations are using Tasks to track rep activities. Consider what counts as a ‘Touch’ in your org and then restrict the requirements as much as possible.
For example - if you are counting Task records - keep in mind that some may be generated from your marketing automation system, and you may not want to consider them sales touches.
You may also want to restrict the task to those either created by specific users (or their role or profile) or assigned to specific users (or their role or profile) or has a specific subject or type.
Also make sure the task is related to a lead or contact (this is tracked in the WhoId field on the task object) in order to ensure that the automation you create to track the tasks has a valid related record.
Timeframe for Counting
Most teams want to count the number of touches per engagement. Meaning the time from when a lead or contact is either handed off from marketing for follow-up, or the time when a rep does outreach to a person.
Usually the code might count eligible tasks from when the lead or contact status is updated to an ‘active’ status (ie Open) , until it is no longer active (ie Nurture). For this reason any counting functionality should consider the related lead/contact’s status.
Also consider when your system should clear the counter.
Does the counter get cleared when the status is updated to active (ie Open)? Or does it get cleared when the status is updated to no longer active (ie Nurture). You do want to have a mechanism to reset the counter.
Tracking and FCI RM Sync Fields
Tracking the task ‘count’ should be done in a number field on the related lead/contact record. Be sure to map this field on lead conversion to populate the corresponding contact field.
If there is a related Active Response (campaign member) associated to that’s leads active status, the application can be configured to sync the count field to the campaign member so that you will have a record of how many touches took place during that particular engagement.
Keep in mind that if your organization is not in active mode there may be cases where there is no campaign member tracking the funnel.
To sync the counter field to the active campaign member create a corresponding Number field on the campaign member object, and configure it to sync on Create and Sync on Update
Lead Sync Fields
Below you can see the field Touch Tracker synced on Create, sync on Update and Clear when Set to inactive
- Sync on Create - populated for any response generated
- Sync on Update - keeps track of changes to the lead field while tracking an active response
- Clear When Set to Inactive - When the lead status is updated to a non-active status, the related lead field will be cleared.
Clear When Set to Inactive only works if there is an active response - this is why you may not want to use this mechanism if you have passive users, the counter may not always clear when the status changes.
Contact Sync Fields
Contact sync fields have some additional options
- Sync on Convert - does another sync if a lead is converted into a contact
- Sync on Opp Create - does a sync when an opportunity is created from a contact
- Sync on Opp Active - continues syncing the Touch Tracker field as long as the related opportunity is open
You can choose to have additional Touch Tracker fields for specific sync events. In the example below, there are some additional fields for specific metrics.
Because the Process Builder is not efficient with CPU we recommend that you use Apex to update the related leads and contact touch counters, particularly if you have third party tools creating high volume or bulk tasks.
With Bulk Safe apex, the FCI RM sync events will become asynchronous in order to handle large data volumes. Making the updates in future or as asynchronous calls will also help minimize the risk of CPU exceptions.
Clearing the counter on leads and contacts may be safe to build as workflow rules as those are better with CPU usage. If using apex consider disabling the FCI application in the context of those updates. Call the functions DisableApplicationForContext and UndoDisableApplicationForContext.
Since you want the FCI Sync functionality DO NOT use the function to disable the application when updating the touch tracking fields you’ve built on leads and contacts.
Here is some background information for your developers: