LinkedIn Ads to Salesforce: Why Your Attribution Is Broken
The gap between what LinkedIn claims and what your CRM shows is a measurement problem nobody set up correctly.
The two numbers that never match
Open LinkedIn Campaign Manager. It says you generated 40 conversions last month at $180 each. Open Salesforce. It shows 6 opportunities sourced from LinkedIn.
Both systems are reporting accurately. They are just measuring different things over different windows, and each defines the word "conversion" its own way. Nobody reconciled them, so you have two sources of truth and no actual truth.
This is the single most common measurement failure we see in B2B marketing, and it costs real money. You cannot optimize spend against a number you do not trust.
What LinkedIn is counting
LinkedIn counts a conversion when someone who saw or clicked your ad later completes a tracked action, within an attribution window you set. The default window is 30 days post-click and 7 days post-view.
That view-through portion matters more than most people realise. Someone scrolls past your ad, does not click, visits your site from a Google search four days later, and fills in a form. LinkedIn counts that as its conversion. So does Google, if it also touched the visit. Two platforms, one form fill, two claimed conversions.
LinkedIn is simply reporting on its own contribution using its own model. Every ad platform does this. The problem is treating that number as a company-wide count.
What Salesforce is counting
Salesforce counts an opportunity when a human being creates one, usually after a sales conversation, and attributes it to whatever value sits in the lead source field.
That field is filled in one of three ways: automatically from a hidden form field, manually by a sales rep, or not at all. In most small B2B teams it is the second or third. A rep who spoke to someone great records "referral" because that is how the conversation felt, and the LinkedIn touch that started it disappears.
Salesforce also only knows about the last thing that happened before the record was created. It has no memory of the ad impression six weeks earlier.
The four specific breaks
First: the form does not pass campaign data. If your form has no hidden fields capturing the UTM parameters and click ID, that data dies at submission. This is the most common single cause.
Second: the identity does not carry. Someone clicks an ad on their phone, then converts on a laptop two weeks later. Without a persistent identifier, those are two different people to your systems.
Third: the windows do not match. LinkedIn attributes across 30 days. Your average B2B sales cycle is 90. Half your closed revenue falls outside the window the ad platform is even looking at.
Fourth: nobody writes back. The opportunity closes for $40,000 and that outcome never returns to LinkedIn, so the platform is optimizing toward form fills rather than toward revenue. It will happily find you more of the wrong people.
The fix, in order
Start with hidden form fields. Capture utm_source, utm_medium, utm_campaign, utm_content, and the LinkedIn click ID on every form, and map them to fields on the lead record in Salesforce. This is an afternoon of work and it fixes more than anything else on this list.
Then stop overwriting first touch. Store first-touch and last-touch as separate fields. When a rep changes lead source, they should not be erasing the original acquisition data.
Then extend your attribution window to match your actual sales cycle. If deals take 90 days, a 30-day window is measuring the wrong period.
Then send conversions back. LinkedIn accepts offline conversion uploads. Push closed-won revenue back against the original click so the platform optimizes toward deals rather than downloads. Most teams never do this, and it is the step that changes campaign performance most.
Why multi-touch models usually disappoint
The instinct at this point is to buy a multi-touch attribution tool. Sometimes that is right. Often it is expensive theatre.
A multi-touch model splits credit across touchpoints using rules somebody invented. First touch, last touch, linear, time decay, U-shaped. Each produces a different answer from the same data, and none of them is objectively correct. If the underlying data is broken, a sophisticated model just produces confident wrong answers faster.
Fix the plumbing first. Get campaign data onto the lead record, get outcomes back to the platform, and match your windows to reality. Most teams find that once those three things are true, a simple first-touch and last-touch pair answers the questions they had.
The honest limit
Perfect attribution does not exist. Some portion of your pipeline will always be unattributable, because a prospect heard about you on a podcast, searched your name three months later, and typed the URL directly.
The goal is being confident enough about direction to make budget decisions. Knowing that LinkedIn drives 30 to 40 percent of qualified pipeline is enough to act on. Chasing a precise figure past that point costs more than the decision is worth.
What you should not accept is not knowing whether it is 5 percent or 50.
What we do about it
When we set up measurement for a client, the plumbing comes before the reporting. Campaign data on the record, outcomes flowing back to the platforms, windows matched to the sales cycle, and one place where all of it reconciles.
The platform is included at no extra cost with our service, and you can see every number in it yourself, which is the point. If your current provider reports channel performance and you cannot independently check it, you are being asked to take marketing on faith.