Stape
SearchTry for free

LinkedIn server-side tracking setup guide

Ivanna Holubovska

Ivanna Holubovska

Author
Updated
May 23, 2025
Published
Oct 11, 2023

Following other marketing platforms, LinkedIn also began to support server-side conversion tracking. We’ve developed our LinkedIn Conversions API tag for server GTM, which makes the setup much simpler and intuitive than the native one. With its help, you can track leads, purchases, or other key metrics.

In this article, we will talk about Stape’s tag in detail, highlighting its benefits and showing how to set up LinkedIn Conversions API with Google Tag Manager, which includes the following steps:

  1. Configuring server GTM container.
  2. Setting up data sending from the web to the server container.
  3. Configuring LinkedIn CAPI tag.
  4. Deduplication events.
  5. Sending events via LinkedIn Insight tag and server GTM.

What is LinkedIn server-side tracking?  

LinkedIn server-side tracking is a method of measuring the performance of your LinkedIn advertising campaigns without relying solely on browser-based tracking. Instead of placing pixels or cookies directly in a visitor’s browser (client-side tracking), this method sends data to your own server first, and then forwards it to LinkedIn.

To ensure the most accurate and resilient setup, best practice is to combine both client-side and server-side tracking. This dual approach maximizes data collection - especially in cases where browser restrictions or ad blockers interfere with client-side data. To avoid counting the same event twice, you should implement event deduplication by passing a unique event ID with both the client and server versions of the event. LinkedIn uses this ID to recognize and log only one conversion, maintaining clean and reliable performance data. With this setup, you gain deeper insights, improved attribution accuracy, and stronger optimization for your LinkedIn campaigns.

Quick note: If you would like to go straight to the LinkedIn CAPI, watch the setup guide:

What is the LinkedIn Conversions API tag

The LinkedIn Conversions API tag developed by Stape provides an efficient solution that helps track LinkedIn ad campaigns' performance accurately.

With this tag, you can transmit conversion data directly from your server to LinkedIn’s server. LinkedIn server-side tracking allows for easier compliance with privacy regulations since all the data is processed on your server. 

Despite the events you need to track (whether tracking leads, purchases, or interactions with ads), the LinkedIn Conversions API tag provides reliable data transfer. It minimizes discrepancies from browser restrictions (such as Intelligent Tracking Prevention (ITP) or ad blockers. It also supports transmitting event data from GA4 or a data client to the LinkedIn Conversions API.

Benefits of the LinkedIn Conversions API

  • Achieve more accurate conversion attribution. LinkedIn Conversions API allows direct data transmission from your server to LinkedIn’s server. So, you can be sure that the data is less affected by cookie restrictions and ad blockers, and the conversions are accurately attributed. 
  • Enhance data reliability. Server-side tracking is a more controlled and secure way for data collection and transmission, ensuring more straightforward compliance with data regulations and higher data control.
  • Optimize ad delivery. Accurate conversion tracking leads to better optimization of LinkedIn's algorithm. When LinkedIn receives conversion data, it can target the right audience more effectively.
  • Decrease cost per action. High data accuracy allows businesses to target their audience and optimize their campaigns more effectively, which leads to a decrease in cost per action.
  • Be GDPR compliant. By controlling what data is sent to LinkedIn, you can ensure user privacy, respect consent preferences, and stay aligned with EU data protection laws.
  • Extend data capabilities. The Stape LinkedIn server-side tag allows you to send additional user data - such as email, first name, last name, job title, and company - which isn’t supported by the native client-side LinkedIn tag.

Before starting

  1. Configure a server Google Tag Manager (GTM) container to enable server-side tracking for LinkedIn.
  2. Set up a custom domain for your server container to allow first-party cookies and improve data reliability.
  3. Establish data transfer from the web to the server GTM container using one of the following methods:

How to set up LinkedIn Conversions API

Firstly, add Linkedin Conversions API from the server GTM Tag Gallery.

Add to workspace<br>
Add to workspace

The tag itself is very easy to use, we’ve added the ability to enter explicit variables that will be reported to LinkedIn in a proper format. Tag configuration consists of the event types - PageView and Conversion events.

  1. PageView method has been added to a tag to make your LinkedIn tracking resistant to various adblockers. If you are using Stape’s custom loader with a patched gtag and/or Data Tag/Data Client to send data from web to server container - the PageView method fired on a page_view event will store LinkedIn click ID URL parameter into a li_fat_id cookie, even if the LinkedIn browser pixel has been blocked.
  2. Conversion method is intended to report conversion events to LinkedIn CAPI.

To send an event via LinkedIn CAPI you require an access token, a conversion rule ID and one of the 4 first party parameters LinkedIn requires you to send (hashed email, LinkedIn click ID value, Acxiom ID or Moat ID).

As already mentioned the process for obtaining CAPI access token has been greatly simplified - all you need to do now is the following:

  • In your Campaign Manager, go to Analyze menu section → Signals manager → under Sources category click Google Tag Manager → then click Generate token, pass the authentication and the provided key will be your way to send events to the Conversions API
Generate token in Linkedin
Generate token in Linkedin

Don’t forget to add the trigger for an event.

Below is the example of configured Linkedin Conversions API Tag:

Example of tag configuration
Example of tag configuration

Event deduplication

LinkedIn web + CAPI event reporting is designed in a way commonly called “redundant event setup”. This means that you may report an event from the LinkedIn Insight tag and additionally via the LinkedIn CAPI tag. In order to avoid overreporting, you should send an identical event ID with the web and server event. The web event has a higher priority and will be counted as a conversion, and if the same conversion with the same event ID will be delivered via CAPI - such event will be discarded. Please be sure to handle this process properly for accurate conversion tracking.

What is the LinkedIn Insight tag?

The LinkedIn Insight tag is a small JavaScript code snippet that you can add to your website to enhance your LinkedIn advertising capabilities. It enables conversion tracking, website retargeting, and access to audience insights by collecting data from LinkedIn members who visit your site. With the Insight tag, you can start collecting website visitor data for retargeting and audience insights, but for conversion tracking, you'll still need to set up separate tags for each event. This is especially important if you're using both client-side and server-side tracking, as you’ll need to pass an event_id to ensure proper deduplication.

When installed, the Insight tag sets a first-party LinkedIn Ads ID and cookies in users’ browsers to monitor behavior and support attribution. For best performance, features like enhanced matching and automatic website actions tracking allow advertisers to deepen insight and improve campaign performance - while maintaining user privacy through data pseudonymization and strict retention policies.

How to send events via LinkedIn Insight tag

1. Please make sure to use the latest version of the official LinkedIn Insight tag, that supports reporting of the event ID.

2. When you send a conversion through multiple methods, you need to create a conversion rule for each data source (browser and server). For the browser source - conversion rule ID will be available to you during the conversion creation process in the user interface.

Conversion ID
Conversion ID

3. To create a conversion that will be reported from the server GTM, please click Create conversion → Conversions API. On the Sources step, you may select Direct API integration. Once you are done, select the newly created conversion, and the Conversion Rule ID will be available to you in the URL right after conversions.

Linkedin Ads API conversion
Linkedin Ads API conversion

4. That’s pretty much it, make sure to add identical event_id sent from the web and any user data that is available for better event matching. li_fat_id cookie value will be automatically added to the payload if received in the incoming request cookie header.

5. To verify your setup, you may trigger your conversion event. The status for your conversions should change to “Active”. If your deduplication is properly set up, after a while you’ll see a message confirming it if you click on a status for the CAPI conversion.

Events detected
Events detected

LinkedIn Offline Conversions tracking

With LinkedIn CAPI, you are also able to report offline conversion events, which may significantly help in measuring the performance of your LinkedIn campaigns. See our related blog posts for more instructions on offline conversions tracking:

Conclusion

With the recent updates introduced by LinkedIn and Stape’s server GTM tag, setting up the LinkedIn Conversions API became a much easier process. Adding conversions API will strengthen your existing web pixel tracking, providing additional resistance to adblockers and latest ITP changes, especially in conjunction with other Stape power-ups like Custom Loader, Cookie Keeper or Own CDN.

author

Ivanna Holubovska

Author

Ivanna is a Lead Content Manager at Stape, a professional writer focused on creating high-quality content about server-side tracking to help businesses optimize their strategies and analytics.

Comments

Try Stape for all things server-sideright now!