.png)
#034
Read Time: 3 minutes
Most businesses can tell you exactly what they spent on marketing last quarter.
Almost none can tell you which of that spend produced revenue.
We closed that gap for a marketing agency client. 5 UTM values, 4 Salesforce objects, 1 dashboard.
Here's how to build it, and why it changes how you run the business.
Why this is worth your quarter
Right now you're making budget decisions on feel + emotions.
The channel that seems to be working gets more money.
The quiet one that actually works gets cut.
Attribution replaces the feeling with a number (aka logic).
Once every lead carries the campaign that created it, and that campaign survives all the way to closed-won, you stop guessing.
You see which sources produce deals, not just leads. Those are different things. The gap between them is where your money is hiding.
That's the whole point. You find the 1 screw to turn.
Step #1: Write the naming convention before you touch anything
Decide what goes in
- utm_source
- utm_medium
- utm_campaign
- utm_content
- utm_term
Put it in 1 document that everyone uses.
"linkedin" and "LinkedIn" and "linkedin.com" become 3 separate rows in every report you will ever run. This step costs 2 hours and saves you a rebuild.
Step 2: Capture on the form, store on 4 objects
Add hidden fields to every form that pull the UTM parameters straight off the URL.
Then build matching fields in Salesforce on Lead, Contact, Opportunity, and Account.
All 4.
This is the step almost everyone skips.
Step 3: Make the values survive lead conversion
When a lead converts it becomes a Contact, an Account, and an Opportunity.
If you never mapped those fields across, your attribution evaporates at the exact moment it starts being worth money.
Map the lead fields to their counterparts, then use a before-save flow to stamp the values onto the Opportunity.
Now the campaign that generated the lead is still attached to the deal 9 months later when it closes.
The part that will break it is not the tech
7 days after we demoed this system, exactly 1 lead came through with attribution on it.
Every flow worked. The reps were just still pasting the old untagged links into their emails.
So do 2 things on day 1:
Retire the untagged links completely. If a link isn't tagged, it doesn't exist.
Put "leads with no attribution" on the dashboard as its own number. When that number shows up in a leadership meeting, it fixes itself fast.
What you end up with
Reports by source, by campaign, and by channel. 30-day and 90-day views.
One dashboard showing cost per deal instead of cost per click.
And an answer to the only marketing question that actually matters to you...
If I put another $10,000 somewhere next month, where does it go?
You'll know. Instead of guessing.
That’s all for this week, see you next Friday! 👋
-Jordan
