Seth
Building Salesforce Marketing Attribution
From Form Submission to Pipeline Revenue
Marketing attribution often works well until a lead enters the CRM.
A marketing team may know that a visitor arrived from Google Ads, clicked a specific campaign, submitted a form, and became a lead. But once that prospect moves through Salesforce, the original campaign data can easily disappear.
That creates a major measurement gap.
Marketing can report on leads. Sales can report on opportunities and revenue. But without consistent attribution data connecting those systems, it becomes difficult to answer a much more important question:
Which marketing campaigns are actually creating pipeline and revenue?
We recently solved this problem for a B2B organization by building a Salesforce marketing attribution framework that captures campaign data at the website form, passes it into Salesforce, preserves it across key CRM records, and makes that information available for opportunity and revenue reporting.
The result is a much clearer connection between digital marketing activity and business outcomes.
The Challenge:
Attribution Ended at the Form Submission
The organization could identify where website leads were coming from, but that attribution did not consistently follow prospects through Salesforce.
Campaign information such as:
- UTM Source
- UTM Medium
- UTM Campaign
- UTM Content
- UTM Term
- Google Click ID (GCLID)
could be captured during the digital experience, but that did not automatically mean the same information would be available later when a salesperson created or worked an Opportunity.
The customer journey looked roughly like this:
Website Visit → Form Submission → Marketing Automation → Salesforce Lead → Contact / Account → Opportunity → Revenue
Every transition represented another place where attribution could be lost.
The reporting problem was therefore not really a dashboard problem.
It was a data continuity problem.
The Goal:
Preserve Marketing Attribution Through the CRM
We started with the business question the organization ultimately wanted to answer:
Which marketing sources and campaigns are generating qualified pipeline and revenue?
Working backward from that question made the technical requirements much clearer.
To report on campaign performance at the Opportunity level, the original campaign information could not remain isolated on the website or initial Lead record.
It needed to:
- Be captured when the prospect submitted a form.
- Enter the marketing automation and CRM environment.
- Be stored in consistent Salesforce attribution fields.
- Persist as the prospect moved through key CRM records.
- Be available alongside Opportunity and revenue data for reporting.
That became the foundation of the attribution architecture.
Step 1:
Capture UTM and Campaign Data at the Form
The first requirement was making sure attribution entered the CRM correctly in the first place.
The website was configured to preserve campaign information associated with the visitor and pass those values through the form submission.
In addition to the information a prospect intentionally provides, such as name, email, and company, the submission can carry hidden marketing fields such as:
- UTM Source
Where the visitor came from, such as Google or LinkedIn. - UTM Medium
The marketing channel or medium, such as CPC or paid social. - UTM Campaign
The campaign associated with the visit. - UTM Content
Additional information about the ad, creative, or link. - UTM Term
Keyword or targeting information when applicable. - GCLID
The Google Ads click identifier associated with paid search traffic.
This allowed campaign attribution to enter the lead-management process alongside the prospect’s contact information.
That was the first major milestone:
Attribution was successfully being captured at the form level rather than disappearing after the website session ended.
Step 2:
Create a Consistent Attribution Structure in Salesforce
Capturing UTM parameters is only useful if Salesforce has somewhere meaningful to store them.
We created corresponding attribution fields within the Salesforce data model so marketing information could continue with the prospect as the sales process evolved.
Instead of treating campaign data as temporary website metadata, those fields became part of the CRM record structure.
Conceptually, the attribution path became:
Website Campaign Data
↓
Form Submission
↓
Salesforce Lead
↓
Contact / Account
↓
Opportunity
↓
Pipeline & Revenue Reporting
This was a critical architectural decision.
If UTM Campaign exists only on the Lead, for example, an Opportunity report cannot reliably use that information later unless the attribution is intentionally carried forward.
Step 3:
Preserve Attribution During Lead Conversion
Salesforce Lead conversion was one of the most important points in the process.
When a qualified Lead moves deeper into Salesforce, downstream records may be created or associated with that prospect.
Without appropriate field mapping or automation, the original marketing data can be lost during that transition.
We configured the attribution structure so values captured on the Lead could continue into the Salesforce records required for downstream reporting.
That transformed attribution from:
- Lead Source = Google
into a richer campaign record containing details such as:
- Source: Google
- Medium: CPC
- Campaign: specific campaign
- Content: specific ad or variation
- Term: keyword or targeting information
- GCLID: original Google Ads click identifier
Most importantly, those values no longer stopped at the initial Lead.
They could follow the prospect further into the CRM lifecycle.
Step 4:
Solve the Gaps Native Field Mapping Couldn't Handle
Real Salesforce environments are rarely as simple as:
Lead → New Contact → New Account → New Opportunity
Accounts may already exist. Opportunities may be created later. Multiple Contacts can belong to the same Account. A prospect may interact with multiple campaigns.
That means attribution architecture has to account for the organization’s actual sales process.
During implementation, we evaluated Salesforce automation to determine where additional logic was needed to preserve attribution beyond standard field mapping.
We also encountered an important design lesson:
The most complicated automation is not necessarily the best automation.
In one part of the implementation, a more complex Salesforce Flow approach introduced unnecessary complexity for a relatively straightforward data requirement.
Instead of continuing to expand the Flow, we moved toward a simpler automation approach that could reliably update the appropriate records while being easier to understand, test, and maintain.
That decision reflects an important principle in MarTech architecture:
Start with the business requirement, then use the simplest reliable technology that solves it.
Step 5:
Validate the Attribution Journey End to End
Fields appearing in Salesforce does not prove attribution works.
The full data path has to be tested.
We created controlled test submissions containing deliberately recognizable attribution values such as:
Source: google
Medium: cpc
Campaign: test-campaign
Content: test-ad
Term: test-keyword
GCLID: test identifier
Those values were then followed through the CRM process.
Testing confirmed that campaign information was being captured through the form, reaching Salesforce correctly, and successfully carrying forward into the key records required for attribution reporting.
This gave us something far more valuable than simply having a set of custom Salesforce fields.
We had a validated marketing attribution pipeline.
The Outcome:
Connecting Campaigns to Pipeline and Revenue
The most important outcome was not the UTM fields themselves.
It was what those fields made possible.
Previously, the organization could understand which campaigns generated website traffic and leads, while Salesforce independently showed Opportunities and revenue.
Those datasets were difficult to connect reliably.
After implementing the new attribution framework:
Campaign attribution is captured when the prospect submits the form.
↓
The attribution enters Salesforce with the Lead.
↓
Campaign data is preserved across the key CRM records used by the sales process.
↓
Opportunity reporting can use the same marketing attribution data.
↓
Pipeline and revenue can now be tied back to the campaigns that generated the original prospects.
This creates a much stronger measurement model.
Instead of stopping at:
- Google Ads generated 50 leads.
The organization can move toward questions such as:
- Which Google Ads campaigns generated qualified Opportunities?
- How much pipeline did a particular campaign influence?
- Which campaigns ultimately produced closed revenue?
- What is the difference between campaigns that generate form submissions and campaigns that generate valuable business opportunities?
That is a fundamentally different level of marketing measurement.
Why This Matters for Marketing Teams
Lead generation alone does not tell the full story.
Two campaigns might each generate 100 leads while producing very different business outcomes.
For example:
Campaign A
- 100 leads
- 10 Opportunities
- $250,000 pipeline
- $75,000 revenue
Campaign B
- 100 leads
- 2 Opportunities
- $30,000 pipeline
- $0 revenue
If reporting ends at the form submission, those campaigns may appear equally successful.
CRM attribution reveals the difference
By connecting acquisition data with Salesforce pipeline and revenue, marketing teams can evaluate campaigns based on their contribution to the business, not simply the number of conversions recorded by an advertising platform.
What We Learned
Attribution architecture starts before Salesforce.
Campaign data needs to be captured correctly at the website and form level before Salesforce can preserve or report on it.
Don’t stop at the Lead.
If the business wants to measure pipeline and revenue, attribution has to reach the Salesforce records where pipeline and revenue actually exist.
Design around the reporting question.
Start with the business question, such as “Which campaigns are producing revenue?”, and work backward to determine what data must be captured and where it needs to live.
Test the entire journey.
A field existing on a Salesforce object does not confirm that attribution works. Controlled test leads should be followed from form submission through CRM conversion and downstream reporting.
Keep the architecture maintainable.
Salesforce automation can become complex quickly. Use sophisticated automation when the business requirement demands it, but don’t build complexity simply because the platform makes it possible.
What Does Salesforce Marketing Attribution Require?
A reliable Salesforce attribution framework typically connects four layers.
Digital Measurement
Capture the source, campaign, and click information associated with the website visitor.
Form & Lead Capture
Pass that attribution through the form and into the marketing automation or CRM environment.
CRM Data Persistence
Preserve the attribution as the prospect moves through the Salesforce lifecycle.
Pipeline & Revenue Reporting
Combine campaign attribution with Opportunity value, stage, closed revenue, and other business outcomes.
The value comes from connecting all four.
Salesforce Marketing Attribution FAQs
Can Salesforce track UTM parameters?
Yes. UTM parameters can be captured through the website and form experience and stored in custom Salesforce fields. The implementation needs to define how those values enter Salesforce and how they persist as records move through the CRM.
Can UTM data be passed from a Salesforce Lead to an Opportunity?
Yes. Custom field mapping and Salesforce automation can be used to preserve attribution beyond the Lead record. The appropriate architecture depends on how Leads are converted and how Opportunities are created within the organization.
Why are UTM fields sometimes blank on Salesforce Opportunities?
Common causes include attribution not being captured by the original form, values not being passed into Salesforce, missing Lead conversion mappings, or Opportunities being created through a process that does not inherit the original attribution.
The best way to diagnose the problem is to trace a controlled test submission through the full customer journey.
Can Salesforce connect marketing campaigns to revenue?
Yes, when the underlying attribution architecture supports it.
Campaign information must be captured early, preserved throughout the CRM lifecycle, and made available on or alongside the records used for Opportunity and revenue reporting.
Once that foundation exists, organizations can evaluate marketing based on pipeline and revenue rather than stopping at leads.