.png)
Read Time: 4 Minutes
Most UTM tracking dies the moment a lead hits Salesforce.
Short answer: Salesforce UTM tracking fails because UTMs land on the Lead but never carry to the Opportunity, naming is inconsistent across teams, and nobody owns the dashboard. Fix it in 4 moves: lock a 5-parameter UTM convention, capture UTMs on web-to-lead with hidden fields, copy them to Contact and Opportunity via Flow, then report first-touch and last-touch in one source-of-truth dashboard.
This breaks every campaign attribution conversation with your CMO. You spent $80K on a campaign... and Salesforce shows 3 leads with utm_source = "unknown". The fix takes a week and zero new tools.
Lock a 5-parameter UTM convention before anyone touches a form
If marketing and demand gen are building UTMs in 2 different Notion docs, you already lost. Pick the format once and write it down in the same place your team picks campaign names. No exceptions, no creative spellings.
The dated campaign prefix is the trick that pays off later. It lets you slice every dashboard by quarter without rebuilding reports.
Capture UTMs at the web-to-lead handoff with hidden fields
Every form on your site needs 5 hidden Lead fields, one per UTM parameter. If you skip this step, the whole exercise dies before it starts
Carry UTMs from Lead to Contact to Opportunity with Flow
This is where 90% of orgs break the chain. UTMs sit on the Lead and die at conversion.
Report first-touch versus last-touch in one dashboard
Pick a model, document it, build it once. Then stop arguing about it.
Bottom line
UTM hygiene is a 1-week project, not a 6-month consulting engagement. Lock the convention, build the 5 fields, ship the Flow, build 2 reports. Your next campaign retro will look completely different... and your CMO will stop asking for a "real attribution tool" that costs $40K a year.
Frequently asked questions
What UTM parameters should every Salesforce org capture?
Capture all 5: utm_source, utm_medium, utm_campaign, utm_content, utm_term. Source and medium are the bare minimum, but if you leave content and term off you cannot tell which ad variant or audience drove the lead. Store them as Text(255) custom fields on Lead, Contact, and Opportunity so the data carries through the full sales cycle.
Should I track first-touch or last-touch attribution in Salesforce?
Track both. First-touch tells you which channel introduced the lead, which marketing teams use to set budget. Last-touch tells you which campaign closed the gap, which sales teams use to credit revenue. A single dashboard with both views ends the marketing-vs-sales attribution fight in 1 meeting.
How do I get UTMs from a Lead to the Opportunity in Salesforce?
Use 2 record-triggered Flows. The first fires on Lead Convert and copies the 5 UTM fields to the new Contact. The second fires on Opportunity creation and copies UTM fields from the primary Contact to the Opportunity. Lock the Opportunity fields read-only so reps cannot overwrite attribution data after the deal is in flight.
Do I need Campaign Influence if I already track UTMs?
Yes if you run more than 4 touches per deal. UTM fields give you first-touch and last-touch only. Campaign Influence gives you every campaign a contact touched between first touch and close, with a weighted attribution model. Most $3M to $100M orgs start with UTMs and add Campaign Influence in year 2 once the volume justifies the setup work.
What happens if a lead visits multiple pages before converting?
The cookie-based capture keeps the original UTM values from the first visit, so you preserve first-touch even if the conversion happens 3 weeks later from a direct visit. If you also want to capture the last-touch UTM at the moment of conversion, write a second cookie that overwrites on every visit. Most teams pick one model and stop there.
Want more of this? The Simply Scale newsletter drops every week: https://www.gosimplyscale.com/newsletter
