Join Salesforce campaign decisions to opportunities with explicit attribution rules, finance definitions, permissions, reconciliation and a worked record.

Short answer: answer: Store the pre-launch decision on the Campaign, require campaign membership and Opportunity Contact Roles to create the join, then report revenue through a named Campaign Influence model. Reconcile closed-won amounts to finance before interpreting performance, and never present influenced revenue as incremental revenue. The connection is trustworthy only when the decision rule, CRM relationship and finance definition all agree.

The tempting answer is “enable Campaign Influence.” That produces records, not necessarily meaning. Missing contact roles, late campaign membership, inconsistent opportunity amounts and several active models can all yield precise-looking but incompatible totals.

Another error is adding rationale after results arrive. A decision record is valuable because it preserves what the team expected before revenue was known. Backfilled reasoning is storytelling, not evidence.

The Closed-Loop Evidence Join

CDM’s Closed-Loop Evidence Join connects four records: the decision, the person-level relationship, the opportunity and the finance result. Our disputable position is: marketing should not publish an influenced-revenue number until finance has approved the amount definition and the CRM team has reconciled the joins. Speed is less important than a number executives can reproduce.

Join 1: decision to campaign

Add a compact decision schema to Campaign, or use a related custom Decision object if one campaign contains several consequential choices.

FieldSuggested typeControl
Decision IDUnique textStable key
Decision statementTextOne action, not a theme
HypothesisLong textExpected mechanism
Target segmentPicklist/textPopulation in scope
Success metricPicklistGoverned definition
Threshold / windowNumber and datesSet before launch
Stop conditionLong textObservable rule
Evidence linksURL/long textSource records
Decision owner / approverLookup/userAccountability
Approved on / review dueDateTime boundary
Decision statusPicklistDraft, Approved, Superseded
Measurement modelPicklistExact active influence model

Do not store only “increase pipeline.” Record, for example, “create at least £300,000 in accepted opportunities within 90 days, using Finance Amount v3.” This permits later comparison without pretending the campaign alone caused the outcome.

Join 2: campaign member to opportunity contact role

Salesforce documents that Customizable Campaign Influence relies on Campaign, Opportunity and a CampaignInfluence junction object. Standard models scan active campaigns for members who are also assigned a contact role on an open opportunity. Campaign member status does not by itself determine consideration.

That makes Opportunity Contact Roles operational infrastructure, not sales housekeeping. Define required roles—decision maker, evaluator or champion—and a service level for adding them. Audit active opportunities with no contact role and campaign members whose contacts never reach an opportunity.

The join has a limit: a contact relationship can establish eligibility for influence, but it does not prove the campaign caused the deal. Preserve that distinction in labels and executive commentary.

Join 3: opportunity to influence model

Choose one model for each reporting question. The Primary Campaign Source model assigns 100% to the campaign in that Opportunity field. Custom models may permit manual percentages when unlocked, while locked custom models accept updates through the API. Salesforce says available custom-model counts vary by edition, and additional first-touch, last-touch and even-distribution models depend on Account Engagement eligibility.

Write a model specification containing eligible campaign types, lookback window, required relationship, percentage rule, locked/unlocked state, treatment of reopened opportunities and owner. Never blend model outputs into one unlabeled “marketing revenue” chart.

Permissions matter. Salesforce states that adding or updating influence manually needs Read and Edit on campaigns and opportunities plus the Marketing User setting. Administrators configure models; revenue analysts should read the results; ordinary campaign operators should not edit percentages merely to repair a target.

Join 4: opportunity amount to finance truth

Define whether revenue means opportunity Amount, annual contract value, bookings, invoiced revenue, recognized revenue or collected cash. Set the currency conversion date and treatment of credits, renewals, expansions and cancellations. Finance owns this definition.

Create a monthly reconciliation table by Opportunity ID: CRM stage and amount, finance status and amount, variance reason, owner and resolution. Separate timing differences from data defects. A dashboard can show influenced pipeline quickly, but a board-level revenue claim should use the reconciled measure.

Setup sequence and boundary

  1. Agree the finance measure and model question.
  2. Configure Campaign decision fields and validation rules.
  3. enable and configure Customizable Campaign Influence in a sandbox.
  4. Add influence related lists to Opportunity and Campaign layouts.
  5. define contact-role and campaign-member operating rules.
  6. Create a custom report type joining Opportunities to Campaign Influence where needed.
  7. Reconcile a fixed sample to finance, then release dashboards.

Automation may create influence records under a documented rule, flag missing roles and refresh reports. A human must approve the decision, model policy and reconciliation exception. Salesforce notes that Primary Campaign Source records can be recalculated after setting, close-date, membership, account or opportunity changes; downstream processes must tolerate that lifecycle.

Failure test: the broken join quartet

In a sandbox, create four opportunities: one with no contact role, one whose contact is not a campaign member, one outside the lookback window and one with a valid relationship but a finance amount difference. The system should exclude or flag the first three according to policy and surface the fourth as a reconciliation exception.

Then close an opportunity and change a campaign membership or close date to observe recalculation behavior. Test locked-model permissions and verify which report contains manually added custom-model records. Salesforce documents that some standard Campaigns with Influenced Opportunities behavior differs from a custom report type joining Opportunity directly to Campaign Influence.

Capture screenshots of field configuration, model settings, layouts, permissions, each failure record, the custom report and finance reconciliation. This article reports a test protocol, not executed sandbox results.

Worked record: illustrative specialist-creator pilot

  • Decision ID: SF-DEC-203
  • Campaign: FY27 Security Creator Pilot
  • Decision: fund four technical creators for one quarter
  • Hypothesis: practitioner demonstrations create accepted enterprise opportunities
  • Threshold: £400,000 accepted pipeline within 120 days
  • Stop condition: stop new briefs if qualified meeting-to-opportunity conversion remains below 8% after 50 meetings
  • Model: FY27 Qualified Influence, 120-day window
  • Opportunity: OPP-009184; £120,000 Finance Amount v3
  • Relationship: evaluator is campaign member and Opportunity Contact Role
  • Influence: 25% under the named custom model
  • Reconciliation: matched to finance on Opportunity ID; no variance

This fictional record supports £30,000 of model-attributed revenue, not a claim that the campaign generated £30,000 incrementally.

Related guides

Frequently asked questions

Is Campaign Influence the same as marketing attribution?

No. Campaign Influence is Salesforce’s record-and-model framework for connecting campaigns and opportunities; attribution is the analytical rule used to assign credit. Different active models can allocate the same opportunity differently, and none automatically establishes causation. Label every report with its model, window and revenue measure.

A controlled experiment or credible quasi-experimental design can support an incremental claim, but the CRM relationship alone should be described as influenced or attributed revenue, never “revenue created by marketing.” Keep causal language out of dashboard labels too.

Why are Opportunity Contact Roles so important?

They provide the person-level bridge used by standard influence logic: a campaign member must also be represented as a contact role on an open opportunity. Without that operational discipline, real campaign relationships disappear from the model. Require sales teams to add roles and audit omissions rather than silently accepting undercounting.

The caveat is that a complete role does not prove influence; it only makes the relationship eligible under the documented rule. Sales interviews or experiments may provide additional evidence. Track missing-role rates by sales team and opportunity stage.

Should we use Primary Campaign Source or a custom model?

Use Primary Campaign Source for a simple, explicitly single-source question; use a custom model when the business has a documented multi-touch rule that stakeholders can explain. The primary model assigns 100% to one campaign, while custom models allow other allocations and manual or API updates depending on configuration.

More models are not automatically better. If teams cannot state which decision each model supports, retire the extra dashboard rather than inviting convenient model shopping. Finance and marketing should sign the selected reporting definition together.

Can users manually edit influence percentages?

Yes, for an unlocked custom model when their access permits it; Salesforce says the default model must be custom and unlocked for edits from opportunity records. That flexibility creates governance risk. Require a reason, approver and change history for overrides, and restrict permissions.

A locked custom model accepts updates through automated means instead, but automation is not inherently objective—it merely applies encoded rules. Test both access and recalculation before making the model authoritative. Sample manual overrides during each reporting close.

Why might a standard campaign report disagree with our custom report?

Because report types can use different joins and include records created through different mechanisms. Salesforce’s support guidance notes that a custom report type based on Opportunities with Campaign Influence can expose associated campaigns that the standard Campaigns with Influenced Opportunities report does not show in the same way. Reconcile at record level before explaining a variance as performance.

The caveat is release and org configuration: document report type, filters, model and extraction timestamp with every comparison. Preserve one example opportunity that demonstrates each join path.

How often should marketing reconcile to finance?

Monthly is a practical minimum for executive reporting, with a pre-publication check for material announcements or board packs. Reconcile Opportunity IDs, status, amount, currency and effective date, then classify timing versus data errors. Fast-moving teams may need weekly pipeline checks while recognized revenue remains monthly or quarterly.

The caveat is that finance books can close later than campaign dashboards; display a provisional label rather than holding every operational decision until final accounting. Publish the final variance and its resolution date afterward.

Next decision: Measure creator marketing with an accountable framework

Related reading: Estimate creator incrementality · Build a creator dashboard executives will trust · Connect campaign sales to CRM and retention

Sources and research notes

Research checked 26 September 2026. CDM reviewed official documentation but did not access or test a Salesforce org; editions, permissions, layouts and model behavior must be validated in the reader’s sandbox. The worked record is illustrative. A Salesforce administrator and finance owner should review the implementation before production use.

CDM Editorial

This article is editorial guidance. Apply the principles in proportion to your market, evidence, and responsibilities.