Campaign Influence Database Rebuild
How Does the Campaign Influence Database Rebuild?
The Campaign Influence Database rebuild runs based on the schedule defined in the Update Frequency section on the main Full Circle Campaign Influence configuration page.
The influence system builds records on the Campaign Influence Detail Object based on the configured active models. A Campaign Influence Detail record represents a campaign member that influenced an opportunity. After the initial database build, each rebuild will update, delete, or create new records as follows:
- If there is a change in campaign influence point allocation or values, the rebuild will edit the record*.
- If the Campaign Member is no longer influential based on the particular model criteria - the rebuild will delete the Campaign Influence Detail record.
- If it's a new influential Campaign Member a new corresponding Campaign Influence Detail record will be inserted.
- Changing influence models may possibly have a larger impact on the rebuild than a normal scheduled rebuild of the same models.
* If the record is being updated during account model processing, data for any existing opportunity influence will be deleted at this time. That's because during account processing the system can't know if the opportunity model processing will even see the record - the model only knows what records to set, not previous ones to clear - so this is the only way to ensure that the opportunity influence data will be accurate when using both types of models
How Can the Database Rebuild be Optimized?
If you have a very large database with thousands of opportunities and responses to process, it is likely that your rebuild timeframe can last numerous hours, even extending past 24 hours. The following are ways to optimize your rebuild timeframe.
1. Limit the amount of opportunities being processed
You may have many years of opportunity data that in you Salesforce Database. However, it's likely that you're mostly interested in opportunities and attribution data that are more current. You can save valuable time in attribution processing by setting a date from when Opportunities should be processed for attribution. To do this:
- Go to the "Advanced Configuration" button at the top of the main Campaign Attribution Configuration page.
- Find the setting "Only Consider Opportunities Influential from this date on" and set a date. (i.e. 2 years from present day).
- By default, the date is based on the created date. If you want it based on closed date, check the option below "Consider above Opportunities based on Close Date."
- Click "Save and Return to Main."
2. Exclude Closed Opportunities in Rebuild
By default, the attribution rebuild will process all Opportunities from the date range specified in the first option, regardless of if they are closed or open. To optimize the rebuild timeframe, there is the option to "Exclude Closed Opportunities in Rebuild." To do this:
- Go to the "Advanced Configuration" button at the top of the main Campaign Influence Configuration page.
- Find the setting "Excluded Closed Opportunities in Rebuild" and check the box
- Click "Save and Return to Main"
There are a few additional considerations when using the "Exclude Closed Opportunities in Rebuild" feature:
- Enabling this option will exclude processing on any closed Opportunities that have previously been processed. Thus, any attribution reports will still include records for closed opportunities.
- This setting will be ignored anytime any of the models are modified. This includes when this option is enabled. The next time the rebuild runs, it will process ALL opportunities within the date range specified including previously processed closed opportunities. Then the next time the rebuild runs, it will skip over previously processed closed opportunities.
- If you have campaign updates that will affect the attribution for closed opportunities and you want that reflected in reports, you should disable this option and let the rebuild run on all opportunities.
- This option will not be reflected in the real time attribution for the Deal Explorer. If you're viewing a Closed Opportunity, the attribution will be processed and displayed in real time.
- This feature by default only applies to Full Circle standard model types (Account based, Opportunity Based). For customers with custom models, additional custom code will be need to be added to your instance for this feature to work. Please contact Full Circle Support if you require further assistance or guidance.
Apex Batch Jobs Used to Update the Campaign Influence Database
An influence rebuild makes use of a number of different batches that run in sequence to perform various tasks. Some of the batches will run multiple times. The following is a list of the batches that you may see running during a rebuild, what they do, and why they may run multiple times. Note that the namespace (FCRM or FCCI) is not included in the apex class name. The classes are shown in the order in which they will run.
Apex Class | Description | Multiple Executions |
FCI_CampaignInfluenceActBatchProcessor | Builds a list of accounts and opportunities that needs to be processed for account models. Makes a first attempt to split them up into combinations that will fit into individual executions. | No |
FCI_CampaignInfluenceActPhase2 or FCI_CampaignInfluenceActPhase2A | Performs account model influence calculations on a set of accounts or opportunities. | Yes. If during an execution, the system detects that limits are likely to be exceeded, or if limits are actually exceeded, the requested set of accounts or opportunities for that execution are split into two and queued up for the next batch run. |
FCI_CampaignInfluenceOpBatchProcessor | Builds a list of opportunities that needs to be processed for opportunity models. Makes a first attempt to split them up into groups that will fit into individual executions. | No |
FCI_CampaignInfluenceOpPhase2 | Performs account model influence calculations on a set of opportunities. | Yes. If during an execution, the system detects that limits are likely to be exceeded, or if limits are actually exceeded, the requested set of opportunities for that execution are split into two and queued up for the next batch run. |
FCR_ResponseSummaryBatchProcessor | (Optional - can be disabled) Rebuilds the response summary database and rolls up data to campaigns. This batch has been deprecated for newer deployments - if you see this running in your org reach out to your customer success representative for more information on the impacts and tradeoffs of disabling this batch. | No |
FCR_CampaignInfluenceDetailBatchProc | Deletes Campaign Influence Detail records that are no longer in use based on the latest rebuild. Runs after the account and opportunity model influence calculations complete | No |
FCR_UtilityBatchClass | Verifies that the cm.FCR_Campaign_Repeat_Parent__c field is set on every response. Normally this field is set during regular response management processing, however you may see this run when response management is first enabled or if something odd occurred during processing. Normally this batch will not run. | No |
FCR_CampaignInfluenceRollupProcessor | Rolls information from the influence system up to the associated campaigns. This includes the number of net new names, total responses, total responses with repeats, and qualified responses. If the response summary rebuild is enabled, this will also include influence revenue numbers. | No |