LinkedIn is the most expensive place most B2B companies advertise and the one where the gap between a form fill and a customer is widest. A cost per lead of two hundred dollars is either excellent or ruinous depending entirely on what those leads turn into, and the platform cannot tell you which.
Connecting closed deals back is therefore worth more on LinkedIn than almost anywhere else. It is also harder, for a reason that has nothing to do with the integration and everything to do with how long B2B takes.
What does LinkedIn actually match on?
Member identity, primarily, which makes it behave more like Meta than like Google.
LinkedIn's Conversions API accepts conversions sent from your server or your CRM, with hashed user data: email address above all, plus name and company where you have them. LinkedIn matches that against its members and credits the conversion to the campaign that reached them.
There is a click identifier, li_fat_id, and capturing it improves matching. But the email address is the workhorse here in a way it is not on Google, and that is a fortunate accident for B2B: the one thing you reliably collect on a LinkedIn lead form is a work email, and a work email is a strong match key.
The corollary is worth stating. If your forms collect personal email addresses rather than work ones, your match rate will be lower, because the address someone gave you is not the one attached to their professional identity.
The problem nobody mentions: your sales cycle
LinkedIn's attribution windows are finite. B2B sales cycles frequently are not, in any practical sense.
If a deal takes seven months to close and the window is shorter, that deal cannot be attributed to the campaign that started it, however well your integration works. This is not a bug to debug. It is arithmetic, and it is the first thing to establish before building anything, because it determines what you can realistically expect the setup to report.
What to do about it is the more useful question, and the answer is to stop asking the platform to measure the whole journey. Send a mid-funnel event that happens inside the window, something like a qualified opportunity or a completed discovery call, and let LinkedIn attribute and optimise toward that. Then measure the closed revenue in your own reporting, joined on the same records, where no attribution window applies.
That split gives the algorithm something it can learn from and gives you the number your board asks about. Trying to make one system do both is where most LinkedIn measurement projects stall.
How do I send conversions?
Three routes, in rough order of effort.
A CRM integration. LinkedIn has supported connections with the major CRMs, and if yours is on the list this is the least work by a wide margin: you map a stage to a conversion and the platform handles the rest. Check what is supported before writing any code.
The Conversions API. Your backend or CRM posts the conversion with hashed identifiers, the conversion time, and the value. More control, more maintenance, and the right answer when the CRM integration does not cover what you need.
A file upload. For a business closing a manageable number of deals, exporting them and uploading on a cadence is a legitimate way to get the reporting benefit without an engineering project.
Whichever you choose, the conversion needs a real value. A closed deal sent without one tells LinkedIn every customer is worth the same, which defeats the purpose of sending revenue back at all.
What has to happen before any of this works
The same unglamorous chain that every offline conversion setup depends on, and the same step that most of them are missing.
Capture the identifiers when the visitor arrives and store them where they survive navigation. Write them into hidden fields on your forms. Store them on the CRM record so they are still there months later. Our piece on missing GCLID capture is about Google's parameter, and the failure it describes is platform agnostic: the value gets captured, nothing ever reads it back, and it expires unused.
LinkedIn adds a wrinkle. A meaningful share of LinkedIn conversions come from Lead Gen Forms, which are filled in inside LinkedIn and never touch your website at all. There is no landing page on which to capture anything. Those leads arrive in your CRM through LinkedIn's own integration carrying their own identifiers, and the conversion you send back later has to be joined on the email address rather than on anything your site captured. Worth knowing before you design a pipeline that assumes every lead passed through your forms.
Is it worth it at LinkedIn volumes?
For reporting, always. For optimisation, be honest about the numbers.
LinkedIn campaigns often produce tens of leads a month rather than hundreds, and a handful of closed deals. Conversion-optimised delivery cannot learn much from four events a month, so the gain is not smarter bidding. The gain is knowing whether a channel costing two hundred dollars a lead produced customers worth having, which is a question most B2B advertisers answer with a feeling rather than a number.
That answer usually changes what gets cut and what gets scaled more than any bidding improvement would have.
What to confirm before you build
The attribution window on your account, and how it compares to your median time to close. This is the number that determines what the whole exercise can report.
Whether your CRM has a supported integration, since a configured connection beats a maintained one.
Both from LinkedIn's current documentation, not from here. Windows and supported integrations change, and a measurement plan built on a stale number is worse than one built on no number, because nobody re-checks a figure they think they already have.
FAQ
Does LinkedIn support offline conversion tracking?
Yes. LinkedIn's Conversions API accepts conversions sent from your server or CRM, and there are supported CRM integrations and a file upload route as well. Conversions are matched using hashed user data, principally email address, and credited to the campaign that reached that member.
Do I need li_fat_id to make this work?
It helps and it is not the foundation. LinkedIn matches on member identity, so a hashed work email does most of the work. Capture the click identifier where you can, but a setup that depends on it the way a Google Ads setup depends on GCLID will underperform.
My sales cycle is longer than the attribution window. What do I do?
Stop asking the platform to measure the whole journey. Send a mid-funnel event that falls inside the window, such as a qualified opportunity, and let LinkedIn attribute and optimise toward that. Measure closed revenue in your own reporting, on the same records, where no window applies.
They never touch your website, so there is no landing page on which to capture anything. They reach your CRM through LinkedIn's integration, and the conversion you send back later is joined on the email address. Plan for this explicitly rather than assuming every lead passed through your own forms.
Will this make my LinkedIn bidding smarter?
Probably not at typical B2B volumes, and that is fine. A few closed deals a month is not enough for conversion-optimised delivery to learn from. The value is in reporting: knowing whether an expensive channel produced customers, which is a question most advertisers currently answer by instinct.