function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
OJMOJM 

Campaign ROI Configuration or Workaround

Hi All,

 

Our Marketing team creates and manages several Campaigns per month. We would like to be able to analyze the ROI of these Campaigns. The problem is that we are a monthly subscription based company that uses a simple formula field to calculate the real values of opportunities. The formula field essentially takes the amount value (sum of products) and multiplies by number of months in the year. 

 

Has anyone calculated Campaign ROI against another field besides the standard Amount field? I know it utilizes a standard rollup summary field but am unsure if it is something that can be replicated with another value besides Amount. 

 

Any guidance would be appreciated. 

 

Thanks!!

Best Answer chosen by Admin (Salesforce Developers) 
sfdcfoxsfdcfox

You can't create a field that does this directly (i.e. without writing code).

 

From my humble perspective of the situation, your choices are as follows:

 

1) Create a report on Campaigns with Opportunities. Sum your formula field.

2) Change your process so that products are scheduled out over the number of months (this is a standard feature, see Setup > 

3) Create a field that holds the value. Use the two-trigger system to sum the opportunities with this formula field. The first trigger updates the campaigns when an opportunity is created or modified, the second sums all opportunity values into the custom field.

4) Create a field that holds the value. Use a batch apex code class that runs nightly and sums the values for you. You can also run this on-demand with a simple execute anonymous block or trivial visualforce page.

 

As a consultant, I would recommend the second option. Your products should be scheduled not just for campaign rollup data, but for accurate forecasting as well. You can't forecast on a custom field, so you're causing yourself more effort to be expended to gain the same insight as other companies that utilize as many standard feaures as possible.

 

See Setup > Customize > Products > Schedule Setup, which is designed to make it easy for you to forecast revenue over time. You can create products that have a default schedule, such as 12 monthly payments of 24.95. Each separate type of subscription can be a different product belonging to the same product family.

All Answers

sfdcfoxsfdcfox

You can't create a field that does this directly (i.e. without writing code).

 

From my humble perspective of the situation, your choices are as follows:

 

1) Create a report on Campaigns with Opportunities. Sum your formula field.

2) Change your process so that products are scheduled out over the number of months (this is a standard feature, see Setup > 

3) Create a field that holds the value. Use the two-trigger system to sum the opportunities with this formula field. The first trigger updates the campaigns when an opportunity is created or modified, the second sums all opportunity values into the custom field.

4) Create a field that holds the value. Use a batch apex code class that runs nightly and sums the values for you. You can also run this on-demand with a simple execute anonymous block or trivial visualforce page.

 

As a consultant, I would recommend the second option. Your products should be scheduled not just for campaign rollup data, but for accurate forecasting as well. You can't forecast on a custom field, so you're causing yourself more effort to be expended to gain the same insight as other companies that utilize as many standard feaures as possible.

 

See Setup > Customize > Products > Schedule Setup, which is designed to make it easy for you to forecast revenue over time. You can create products that have a default schedule, such as 12 monthly payments of 24.95. Each separate type of subscription can be a different product belonging to the same product family.

This was selected as the best answer
OJMOJM

Awesome information! Thanks!