Overview
This document highlights new features and functionality that are part of the 1.15 release of the Full Circle Response Management Application. This release is primarily related to Campaign Influence enhancements and infrastructure updates.
Capturing Opportunity Stage related to influential responses
Campaign influence is calculated and output to Campaign Influence Detail records. During calculations the information about the related opportunity stage relative to the influential response will be calculated.
You can use these fields to report on campaign influence relative to opportunity stage. If you are looking at the Campaign influence Detail records, you may want to add these new fields to the page layout.
Below is a listing of the new fields and description.
|
Field Name |
API Name |
Type |
Description |
|---|---|---|---|
|
Opportunity Stage |
FCRM__Opportunity_Stage__c |
Text(40) |
Value of the Opportunity Stage at the date the Campaign Member Date is calculated. If there is no value, the field will be populated with the value ‘Pre-Opportunity’. |
|
Opportunity Stage Date |
FCRM__Opportunity_Stage_Date__c |
Date/Time |
Date the value in the ‘Opportunity Stage’ field (above) was set. |
|
Next Opportunity Stage |
FCRM__Next_Opportunity_Stage__c |
Text(40) |
Value of the next Opportunity Stage, if there was an opportunity stage progression after the related Campaign Member Date. |
|
Opportunity Stage Progression Date |
FCRM__Opportunity_Stage_Progression_Date__c |
Date/Time |
Date the value in the ‘Next Opportunity Stage’ field (above) was set. |
First Touch Campaign Date Filter
A new setting is available to restrict the search dates for finding the First Touch Campaign. This setting is accessed from Setup > Installed Packages > Configure (Next to Full Circle CRM Response Management) > Campaign Attribution Button > Advanced Campaign Attribution Settings section.
We introduced this setting to support organizations with a long history using Salesforce. These organizations may not want to credit, for example, a response that is five years old. In this case they can set a global timeframe for the application to find the first response used to determine the first campaign touch. The timeframe is relative to the opportunity create date.
The default setting for this field is blank, which disables the filter.
How the First Touch Campaign is identified
The First Touch Campaign is identified based the oldest campaign response of the originating contact. If there is a configured timeframe it will be the oldest campaign response within the timeframe.
If the opportunity is created with an active response, this contact will be added to the Admin Originating Contact field. If the opportunity is created without an active response, the code will reference the primary contact.
Behavior Change
Previous to version 1.15, setting both the first and last touch fields on an opportunity to null would cause an automatic recalculation of these fields. With the addition of First touch date filtering, this approach was no longer viable as null values on these fields are possible even for opportunities associated with a response. Recalculation is now performed for specific opportunities through the Async subsystem after association.
Manually Recalculating First & Last Touch
Administrators that want to reset First and Last Touch Campaigns may do so by using anonymous Apex to update opportunities referencing the SetFirstLastTouchOpportunties function.
Be sure to consider any functionality that may be impacted when updating opportunities, or validation rules, which may prevent updates.
Single Opportunity Syntax
FCRM.FCR_SupportAPI.SetFirstLastTouchOpportunities(new Set<ID>{‘opid’})
Where opid is the Opportunity ID you are updating.
Multiple Opportunity Syntax
FCRM.FCR_SupportAPI.SetFirstLastTouchOpportunities(new Set<ID>{‘id1’,’id2’,id3’})
Where id1 – 3 are opportunity ids you are referencing in the call. Do not have spaces between the opportunity IDs.
Up to 50 Opportunities Syntax
FCRM.FCR_SupportAPI.SetFirstLastTouchOpportunities(null)
This operation will query up to 50 opportunities where both first and last touch are null, and attempt to set them. If an opportunity specified by the opportunityIDs set is not associated with a response, that opportunity will be ignored. Returns a Set of IDs of opportunities where the update failed.
How we assign influence weighting to the First Touch Campaign
Even though we set the First Touch Campaign based on searching a specific Contact’s history, campaign influence point weighting of the First Touch Campaign response is based on finding the oldest response associated to that campaign.
Minor Campaign Influence Detail Object Enhancements
A few other changes were made to the Campaign Influence Detail Object.
- Added two new system fields that calculate the Unix times.
- Unix Op Close Time (FCRM__Unix_Op_Close_Time__c)
- Unix Op Create Time (FCRM__Unix_Op_Create_Time__c)
Campaign Influence Default Opportunity Influence Model Updates
This release adjusted the influence logic so that Campaign Type exclusions are respected when calculating first touch influence weighting.
In the example below, the first touch campaign weighting is 5 points and the campaign ‘Type’ exclusion is ‘Partners’. In this model configuration any First Touch Campaigns with the Type ‘Partners’ will not be given 5 points in influence calculations.
Deal Explorer Visualization Enhancements
The visualization tab on the Deal Explorer has been enhanced.
- The legend item display can be toggled on and off by clicking the legend listing.
- Enhanced hover over displayed items.
New CreateAssociation Command Parameters
Effective 1.15.3, two additional keyword parameters can be included in the CreateAssociation command:
Synctoactivestatus
This parameter is useful for organizations running in passive or partial passive mode to create an active response.
When the campaign is inserted with this parameter and the following is true:
- Member status is undefined (will default to a response) or explicitly defined in the [respondedstatus] parameter as a response
- The lead or contact has an active status and no active response
- The response is at qualification/score threshold
The new response will have its status updated based on the lead or contact status and it will become the active response.
Without this parameter the response status will be Resolved – Already Engaged.
This parameter will apply on active or passive orgs. The effective timeout value is ten years from lead or contact create.
Treatasrp
If present, indicates that this response should be treated as a response prompt campaign (See extensibility guide for a description of the TreatNextCampaignAssociationAsResponsePrompts API). The response will automatically be qualified when this option is chosen.
Use this parameter to ensure a response is qualified irrespective of score fields that may be configured for evaluation. Unless the 'treatasrp' option is specified, these responses will NOT be treated as response prompt campaigns and thus will not be automatically qualified - they will score normally.
CreateAssociation Syntax
The CreateAssociation command has the following syntax (single line):
CreateAssociation [respondedstatus] [synctoactivestatus] [treatasrp] campaignid1,campaignid2,campaignid3….
Example Syntax using these two parameters
CreateAssociation 'some response status' synctoactivestatus treatasrp campaignid1,campaignid2
- There should be a SINGLE space between parameters
- Syntax does NOT allow spaces between campaign IDs. Campaign IDS are always last.
These responses will be processed as if performed by the marketing automation user and will trigger cascades if allowed at the global and campaign level and respect nurture timeouts.
Extensibility Model Enhancements
SetFirstLastTouchOnAssociatedOpportunities API function
Set<ID> SetFirstLastTouchOnAssociatedOpportunities(Set<ID> opportunityIDs) Calculates the first and last campaign touches on the specified opportunities that are associated to a response. This function updates first/last touch values even if they are currently set. If opportunityIDs is null, the operation will query up to 50 opportunities where both first and last touch are null, and attempt to set them. If an opportunity specified by the opportunityIDs set is not associated with a response, that opportunity will be ignored. Returns a Set of IDs of opportunities where the update failed.
Caution:
Do not call this function during an opportunity trigger or hook – it is best called during a future call
NotificationRequest hook
Called before sending Email notifications. This function is called once for each Email message (both to a user and their delegate), and again after all notifications have been processed but before emails are sent. This function can block individual Emails from being sent.
Full information on this hook can be found in the extensibility documentation
Minor Updates
- Improve selectivity on FCR_Response_Summary_Item__c filter in FCR_DeleteCampaignMemberSequence.
- Modified FCR_LockRecoveryBatch to use double addition instead of decimal addition to prevent out of valid range errors.
- Allows test bypass on major release updates as well as patches.
- Fixed campaign influence profile to include tasks related to opportunities when there are multiple leads/contacts allowed on a task.
- Improved EventRelation handling to support shared activities with events (leads/contacts related to opportunity through EventRelation).
- Fixed response prompt failure when cascade parent response is deleted.
- Changed lower limit of account and opportunity batch sizes from 5 to 2.
- Added detection/recovery for "Attempted to schedule too many concurrent batch jobs in this org (limit is 5)." in influence batch processing.
- Detect invalid ID crash in opportunity model (corrupt FCR_Response_ID__c on opportunity).
Support
If you need assistance from Support, please file a Case in the Full Circle Community Portal. You can login at https://support.fullcircleinsights.com/hc/en-us/requests/new using your Salesforce credentials.
Comments
0 comments
Please sign in to leave a comment.