Quick Summary
Summarize this article instantly with your preferred AI model.
LinkedIn Conversions API: What It Is and How to Set It Up
LinkedIn Conversions API: What It Is and How to Set It Up
The LinkedIn Conversions API, often called CAPI, sends conversion events to LinkedIn directly from your server instead of from the visitor’s browser. It exists because browser-based tracking, the Insight Tag, now loses a real share of conversions to ad blockers, cookie restrictions, and cross-device gaps, and those missing conversions quietly starve LinkedIn’s optimization and distort your cost per lead. The best setup is not one or the other: you run the Insight Tag and the Conversions API together, deduplicated, so you capture both the fast browser signal and the resilient server signal, including offline events like a demo booked or an opportunity created in your CRM. This guide covers what the Conversions API is, how it differs from the Insight Tag, how to set it up (including the quick token route most teams miss), and how to keep it from double-counting.
Key takeaways
- The Conversions API sends conversion events to LinkedIn from your server, not the browser, so it survives ad blockers, cookie loss, and cross-device gaps.
- It complements the Insight Tag rather than replacing it; the recommended setup runs both, deduplicated by a shared event ID.
- You can generate a Direct API access token straight from Data then Signals Manager in Campaign Manager, without the full developer-app process.
- It can send offline conversions, such as a qualified lead or a closed deal from your CRM, which is how B2B ties ad spend to real pipeline stages.
- Missing conversions give LinkedIn’s algorithm bad signals, so better tracking is not admin work; it is what lets you optimize toward pipeline.
What is the LinkedIn Conversions API?
The Conversions API is a server-to-server way to tell LinkedIn that a conversion happened. Instead of a script firing in the user’s browser when they land on a thank-you page, your server sends the event to LinkedIn when the action is confirmed in your systems, for example when your CRM records a form submission, a lead is marked qualified, or an opportunity is created. Because the signal originates on your server, it does not depend on the user’s browser allowing cookies or scripts, which is exactly where the Insight Tag loses data. It also lets you send conversions that never happen in a browser at all, like a deal closed over the phone, which matters a great deal for B2B where the real conversion is often a sales milestone, not a click.
Conversions API vs the Insight Tag
They do the same job from different places, and they are strongest together.
| Insight Tag | Conversions API | |
|---|---|---|
| Fires from | The visitor’s browser | Your server |
| Triggered when | A page loads or an on-page event occurs | A backend or CRM action is confirmed |
| Survives ad blockers and cookie loss | No, loses data | Yes |
| Can send offline and CRM conversions | No | Yes |
| Setup effort | Low, paste a tag | Moderate, needs a token and integration |
The Insight Tag is quick to install and captures the fast, on-site signal. The Conversions API is more work to set up but recovers the conversions the browser drops and adds offline events. Run both and deduplicate, and you get the fullest, most resilient picture. Both are managed in the same place now: Campaign Manager under Data, then Signals Manager.
Why use the Conversions API?
There are three reasons, and they all come back to measurement you can trust. First, resilience: browser tracking leaks to ad blockers, Safari and Firefox cookie policies, and cross-device journeys, so the Insight Tag alone undercounts, and the gap is growing. Second, better optimization: LinkedIn’s algorithm bids toward the conversions it can see, so if it is missing a third of your leads, it is optimizing on a distorted picture and can push budget the wrong way. Third, offline conversions: B2B deals progress through demos, qualified leads, and opportunities, not web pages, and the Conversions API lets you feed those real pipeline events back to LinkedIn so it learns which clicks became opportunities, not just which became form fills. That last point is the whole game for B2B, because it connects ad spend to pipeline rather than to vanity conversions.
How do you set up the LinkedIn Conversions API?
There are four common routes, from most technical to least. Pick the one that matches your stack and resources.
| Method | What it involves | Best for |
|---|---|---|
| Direct API | Generate a token in Signals Manager and send events from your server | Teams with some engineering resource |
| Google Tag Manager server-side | A server container and LinkedIn’s CAPI tag template | Teams already using server-side GTM |
| CRM or tool integration | Connect HubSpot, Salesforce, Segment, or Zapier | Teams whose conversions live in a CRM or stack |
| Partner connector | Tools like Tealium or Adobe, or a managed provider | Teams who want it handled with less build |
The step most guides overcomplicate is the access token. For a direct integration you do not necessarily need the full developer-app process: in Campaign Manager, go to Data, then Signals Manager, choose Direct API, click Generate access token, sign in, confirm the permissions, and copy the token to store securely on your server. That token lets your server post events to LinkedIn’s conversion events endpoint. The heavier Developer Portal route, creating an app linked to your Company Page and requesting the Conversions API product and scopes, still exists and is what partner tools and fully custom builds use, but many teams can start from the Signals Manager token. Either way, create the conversion rule first in Signals Manager, choosing its type and setting its attribution windows, then connect the events to it. Because LinkedIn changes these screens over time, confirm the current steps in its documentation as you build.
What attribution windows should you set?
Set the conversion’s attribution windows when you create it, because they decide which conversions get credited back to an ad. LinkedIn’s click-through window options are 1, 7, 30, or 90 days, defaulting to 30, and the view-through options are 1 or 7 days, defaulting to 7. For B2B and ABM, where buying cycles are long, a longer click window of 90 days and a view window of 30 days usually captures more of the real influence than the defaults do. Match the window to your actual sales cycle rather than leaving it on the default, or you will undercount conversions that simply took longer than 30 days to land.
What data do you send?
Each event carries a small payload, and getting the user-matching fields right is what makes it work. The required pieces are the conversion rule’s ID, the event time as a Unix timestamp, the event type, and user data LinkedIn can match to a member. The most important matching field is the user’s email, which must be hashed with SHA-256 before sending, since plain-text email is rejected. Sending LinkedIn’s first-party click identifier alongside the hashed email improves match rates noticeably, so capture it at the point of conversion. Optional fields include the conversion value and currency, which unlock value reporting, and a unique event ID, which you will need for deduplication. If your match rate comes back low, the usual culprits are incorrect hashing or a missing click identifier.
How do you avoid double-counting?
This is the one mistake that undermines the whole setup. If both the Insight Tag and the Conversions API report the same conversion, LinkedIn will count it twice unless you tell it they are the same event. The fix is to send the same unique event ID, such as an order ID or a form submission ID, from both the tag and the API for a given conversion. LinkedIn then recognizes the matching IDs and deduplicates automatically, counting one conversion instead of two. Set this up from the start, because inflated conversion counts are worse than undercounting: they make a campaign look better than it is and push you to scale something that is not working.
The two-layer measurement stack
The setup we recommend is a two-layer measurement stack, and naming it helps teams get it right. Layer one is the Insight Tag: fast, easy, and good at capturing the on-site signal, but leaky. Layer two is the Conversions API: more work, but resilient to cookie loss and able to carry offline conversions. You run both at once, deduplicated by a shared event ID, so the tag gives you speed and coverage of simple web conversions while the API backstops the losses and adds the pipeline events that happen off the page. Neither layer alone is complete. The tag alone undercounts; the API alone is more than many teams need for simple web conversions. Together they give you conversion data you can actually trust to judge spend.
Common Conversions API mistakes
The recurring mistakes are technical but costly. Not deduplicating, so conversions are counted twice and campaigns look falsely strong, is the big one. Sending plain-text instead of SHA-256 hashed email, which gets events rejected, is common early on. Forgetting the first-party click identifier, which drags the match rate down, is another. Leaving attribution windows on the 30-day default for a 90-day B2B sales cycle, so long conversions go uncredited, quietly undercounts your results. And treating the Conversions API as a replacement for the Insight Tag, rather than a complement, leaves gaps the combined setup would have closed.
Track the conversions cookies lose, judge on pipeline
Here is the thread. You cannot optimize toward pipeline you cannot see, and browser tracking increasingly cannot see all of it. The Conversions API recovers the conversions the Insight Tag drops and lets you feed real pipeline events, demos, qualified leads, closed deals, back to LinkedIn, so your cost per lead reflects reality and the algorithm optimizes toward buyers instead of form fills. Run the two-layer stack, deduplicate it, set attribution windows to match your sales cycle, and connect it to your broader attribution and reporting. If you want your LinkedIn conversion tracking set up to measure pipeline, not just clicks, you can book a demo.
Frequently Asked Questions
Q1. What is the LinkedIn Conversions API?
The LinkedIn Conversions API, or CAPI, is a server-to-server method for sending conversion events to LinkedIn directly from your server rather than from the visitor’s browser. Because the signal comes from your server, it survives ad blockers, cookie restrictions, and cross-device gaps that cause the browser-based Insight Tag to undercount, and it can also send offline conversions like a qualified lead or a closed deal.
Q2. What is the difference between the Conversions API and the Insight Tag?
The Insight Tag fires in the browser when a page loads, so it is easy to install but loses data to ad blockers and cookie restrictions. The Conversions API fires from your server when an action is confirmed, so it is more resilient and can carry offline and CRM conversions. They are complementary, and the recommended setup runs both, deduplicated by a shared event ID. Both are managed under Data, then Signals Manager.
Q3. How do you generate a LinkedIn Conversions API access token?
The quick route is in Campaign Manager: go to Data, then Signals Manager, choose Direct API, click Generate access token, sign in, confirm the permissions, and store the token securely on your server. That avoids the full developer-app process, which is still available through the LinkedIn Developer Portal for custom builds and partner tools that need app-level scopes.
Q4. Do you need both the Insight Tag and the Conversions API?
For most B2B advertisers, yes. The Insight Tag gives you a fast, easy on-site signal, and the Conversions API backstops the conversions the tag loses and adds offline events like demos and closed deals. Running both, deduplicated, gives the fullest and most reliable picture. The tag alone undercounts, and that gap grows as browser privacy tightens.
Q5. How do you set up the LinkedIn Conversions API?
Create a conversion rule in Signals Manager, choosing its type and attribution windows. Then connect events through one of four routes: a direct API integration using a Signals Manager token, Google Tag Manager server-side with LinkedIn’s CAPI tag, a CRM or tool integration such as HubSpot, Salesforce, Segment, or Zapier, or a partner connector. Confirm the current steps in LinkedIn’s documentation before building.
Q6. Can the Conversions API track offline conversions?
Yes, and this is one of its biggest advantages for B2B. It can send conversions that never happen in a browser, such as a sale closed over the phone, a lead marked qualified, or an opportunity created in your CRM. Feeding those real pipeline events back to LinkedIn lets the algorithm learn which clicks became opportunities, not just which became form fills.
Q7. What attribution windows should you use with LinkedIn conversions?
Click-through windows can be 1, 7, 30, or 90 days (default 30), and view-through windows 1 or 7 days (default 7). For B2B and ABM with long sales cycles, a 90-day click window and a 30-day view window usually capture more of the real influence than the defaults. Match the window to your actual sales cycle so long conversions are not undercounted.
Q8. How do you avoid double-counting conversions with CAPI?
Send the same unique event ID, such as an order ID or form submission ID, from both the Insight Tag and the Conversions API for a given conversion. LinkedIn matches the IDs and deduplicates automatically, counting one conversion instead of two. Set this up from the start, because double-counted conversions make campaigns look stronger than they are and lead you to scale the wrong thing.