You do not create the Campaign ROI field; it ships with the Campaign object and is read-only. What you configure is everything that makes its inputs accurate, namely cost tracking, opportunity attribution, and optionally a multi-touch influence model. Do this once per org and reinforce it as ongoing process.
- Capture cost on every campaign
On each campaign record, fill Budgeted Cost when you plan it and update Actual Cost as real invoices arrive. ROI uses Actual Cost, so a blank value here produces a zero or empty ROI no matter how much revenue the campaign drove.
- Wire up opportunity attribution
Make sure won opportunities carry the right campaign in Primary Campaign Source. Set it automatically on lead conversion or have reps populate it, so the revenue half of the ROI formula has something to roll up.
- Decide your influence model
Keep the default Primary Campaign Source model for simple single-touch credit, or enable Customizable Campaign Influence and build a custom default model when several campaigns should share credit for one deal.
- Report and review on a cadence
Run the standard Campaign ROI Analysis report, build a dashboard that breaks ROI down by campaign type and quarter, and review it monthly to catch blank costs and mis-attributed deals before anyone acts on the numbers.
The real spend on the campaign; the denominator of ROI. Keep it current as costs land, not at quarter end.
The single lookup on Opportunity that decides which campaign gets credit for the won amount under the default model.
The setting that lets multiple campaigns share weighted credit for one opportunity through Campaign Influence records.
The standard report that lists cost, won revenue, and calculated ROI per campaign for review and dashboards.
- A blank or zero Actual Cost makes ROI read as zero or empty because the formula loses its denominator.
- Only closed and won opportunities with this campaign as Primary Campaign Source count toward ROI; open and lost deals contribute nothing.
- Under the default single-source model, a deal touched by several campaigns still gives its entire won amount to just one of them.
- The default Primary Campaign Source model in Customizable Campaign Influence auto-assigns 100 percent and cannot take manually added influence records; you need a custom model to split credit.