← Back to Insights

LinkedIn Conversions API for B2B: tracking a six-month buying cycle

18 Jun 2026 · 3 min read · Neill Brookman

LinkedInConversions APIB2B

LinkedIn is where a lot of B2B pipeline starts, and where attribution is hardest to prove. A typical deal takes three to twelve months from first ad click to signed contract. Most of the tools that measure LinkedIn were built for journeys measured in days.

Why the Insight Tag struggles with B2B

The LinkedIn Insight Tag is JavaScript. It captures the click ID, sets cookies and fires conversions from the browser. That causes three problems for long journeys:

  • Safari deletes JavaScript cookies after 7 days without a return visit. A buyer who clicks an ad and comes back three weeks later is a new visitor.
  • Ad blockers commonly block the tag, and B2B audiences on work laptops with privacy extensions are more likely to run them.
  • The conversions that matter happen offline. A qualified lead, a completed demo or a signed contract is recorded in your CRM, not on a thank-you page.

The result is familiar: LinkedIn reports little, sales says LinkedIn sourced half the pipeline, and nobody can reconcile the two.

li_fat_id: the click that has to survive

When someone clicks a LinkedIn ad, the landing URL carries li_fat_id, LinkedIn’s click identifier. It is what lets LinkedIn connect a conversion months later to the ad that started the journey. It only appears on the landing page, so it must be captured there and kept.

Datafly.js reads li_fat_id on landing and the gateway stores it in a server-set first-party cookie on your own domain for up to 400 days. Every later conversion, online or offline, can carry it.

Sending conversions through the Conversions API

The LinkedIn Conversions API accepts conversions from your server. Each event references a conversion rule in Campaign Manager and carries identifiers for matching:

  • the li_fat_id click ID where you have it;
  • SHA-256 hashes of email (and phone), normalised by trimming and lower-casing before hashing;
  • the visitor’s IP address and user agent where consent allows.

To set it up you need your LinkedIn Ads account ID, a conversion rule ID from Campaign Manager, and an OAuth access token with the r_ads and rw_conversions scopes. Datafly Signal builds the conversion reference from the rule ID and sends the versioned API header on every call, so there is no request formatting to write.

Offline conversions: where B2B value lives

The biggest gain is sending the events that never happen in a browser. The same pipeline that collects web events can accept server-to-server events from your CRM:

1. A lead fills in a form; Datafly.js captures the event with the stored li_fat_id and the hashed email. 2. Weeks later, sales marks the lead as qualified in the CRM. 3. The CRM sends a qualified_lead event to Datafly Signal with the same email. 4. Datafly Signal matches it to the visitor, attaches the original click, and delivers it to LinkedIn’s Conversions API.

LinkedIn can then optimise towards the conversions sales actually cares about, not just form fills.

Do you still need the Insight Tag?

For conversion tracking, no. Its jobs move to the server. Many teams keep it only for website retargeting audiences, which still rely on it, and send all conversions through the API.

Consent

Moving tracking server-side does not bypass consent; it centralises it. Datafly Signal checks consent when an event is collected and again before delivery, and an event without the consent your LinkedIn integration needs is never sent.

Checklist

  • Capture li_fat_id on landing and keep it for the length of your sales cycle.
  • Hash email after trimming and lower-casing; never send it raw.
  • Send CRM milestones (qualified lead, opportunity, closed-won) as conversions.
  • Create a separate conversion rule for each milestone so LinkedIn can optimise to the right one.

See how LinkedIn server-side tracking works in Datafly Signal, or read the LinkedIn integration docs.

Want more posts like this?

No spam newsletter, no drip campaigns. If you want technical posts on server-side data infrastructure, bookmark /blog or follow the RSS feed.