LinkedIn Conversions API voor B2B: Leads bijhouden die de Insight Tag mist

De LinkedIn Conversions API (CAPI) stuurt conversieevents naar LinkedIn vanaf je eigen server in plaats van vanuit de browser van de bezoeker. Dit is nodig omdat de LinkedIn Insight Tag afhankelijk is van twee voorwaarden die voor B2B niet meer vervuld kunnen worden: een niet-geblokkeerd browserscript en een verkoopcyclus die kort genoeg is zodat de cookie nog steeds bestaat op het moment dat de lead converteert.
LinkedIn is de plek waar veel B2B-pijplijnen ontstaan. Verzoeken om demo’s, aanmeldingen voor webinars, het downloaden van content achter een beveiliging: het wordt allemaal aangestuurd door campagnes die in Campaign Manager worden beoordeeld.
De meetkant heeft geen gelijke tred gehouden. Jarenlang was de LinkedIn Insight Tag goed genoeg. Er werd een stukje JavaScript geladen, dat de pagina scande en LinkedIn liet weten dat er een lead was binnengekomen. Dat werkte zolang browsers pixels van derden met rust lieten, en zolang de verkoopcycli kort genoeg waren zodat de cookie nog steeds bestond op het moment dat het formulier werd verzonden.
Beide omstandigheden zijn veranderd. In Safari 27, dat nu in bèta is en bij iOS 27 en macOS 27 wordt geleverd, wordt de Insight Tag aangemerkt als een script dat te maken heeft met fingerprinting, en kan de toegang tot queryparameters en verwijzingsgegevens worden ingetrokken. Adblockers verwijderen het helemaal. B2B-aankoopcycli lopen buiten de cookietermijnen waar de tag van afhankelijk is. Daardoor raakt het CRM-systeem vol met leads, terwijl Campaign Manager minder conversies rapporteert dan de verkoopafdeling ziet, en blijft het geautomatiseerde bieden zich optimaliseren op basis van dat lagere aantal.
De LinkedIn Conversions API (CAPI) is de methode die alle drie de situaties aankan. Bij deze conversie stuurt je eigen server een gehasht e-mailadres, de klik-ID van LinkedIn (li_fat_id) en een gedeelde gebeurtenis-ID door, zodat de browsertag en de serveraanroep nooit dubbel worden geteld.
Waarom de LinkedIn Insight Tag niet meer volstaat in Safari
De Insight Tag is een browserscript. Het wordt geladen, leest wat het kan van de pagina en stuurt vervolgens een verzoek naar LinkedIn. Als een van die stappen niet goed verloopt, komt Campaign Manager er nooit achter dat de conversie heeft plaatsgevonden.
Adblockers vangen de ruwe versie op. Filterlijsten blokkeren snap.licdn.com en de bijbehorende Insight Tag-eindpunten, de bedankpagina wordt normaal weergegeven en er wordt geen gegevens naar LinkedIn gestuurd.
Safari pakt het wat selectiever aan, en daarom raken mensen erdoor in de war. De trackingbescherming van Safari 27 zet de Insight Tag op de lijsten van WebKit die te maken hebben met fingerprinting, en de geavanceerde fingerprintingbescherming werkt door specifieke mogelijkheden van een geclassificeerd script in te trekken in plaats van het script volledig te blokkeren. Een geclassificeerd script kan de toegang tot query-parameters en referrers verliezen, terwijl het wel de mogelijkheid behoudt om netwerkverzoeken te doen. De tag wordt geactiveerd, het verzoek slaagt, en de klik-ID die de lead aan een campagne had moeten koppelen, was sowieso nooit leesbaar. In het voorbeeld van de tagmanager ziet er niets kapot uit.
Cookies blijven langer bewaard bij een lagere kloksnelheid. De Intelligent Tracking Prevention (ITP) van Safari beperkt door JavaScript geschreven first-party cookies tot zeven dagen. De li_fat_id-cookie is bedoeld om langer mee te gaan dan één sessie, maar de Insight Tag schrijft hem met JavaScript, dus in Safari geldt de limiet van zeven dagen. Een koper die in week één een casestudy leest en in week vier een demo boekt, is de klik-ID dan al kwijt.
Conversies in de detailhandel vinden meestal tijdens dezelfde sessie plaats, terwijl een B2B-event dat geld oplevert een invulformulier, een geboekt gesprek of een verandering in de CRM-fase is, die pas uren of weken later plaatsvindt.
Wat de LinkedIn Conversions API verstuurt
CAPI stuurt events vanaf je eigen server of vanuit een Google Tag Manager (GTM)-servercontainer naar het /conversionEvents-eindpunt van LinkedIn. Het schema en de volledige fouttabellen vind je in de documentatie van de Conversions API van LinkedIn.
Elke gebeurtenis verwijst naar een conversieregel, in de vorm urn:lla:llaPartnerConversion:123. Die regel wordt aangemaakt met de methode ingesteld op Conversions API, en dat is precies de reden waarom de browserregel en de serverregel twee aparte regels zijn in plaats van één gedeelde regel. Campaign Manager toont dezelfde waarde als "Conversie-ID voor Google Tag Manager" wanneer je de regelinstellingen opent en de tagmanager-optie kiest.
Dan is er nog conversionHappenedAt, een tijdstempel in milliseconden volgens het Epoch-tijdperk. LinkedIn wijst alles af dat ouder is dan 90 dagen, en elk systeem dat seconden opslaat, moet er drie nullen aan toevoegen voordat het wordt verzonden. Het is een klein detail dat meer integraties in de war stuurt dan nodig is.
Het matchen gebeurt op het gebruikersobject. Bij B2B-leadgeneratie zijn er twee identificatiegegevens die het zwaarst wegen:
De e-mail is gehasht en verzonden als SHA256_EMAIL. LinkedIn verwacht dat het adres in kleine letters wordt opgegeven, zonder spaties, vervolgens wordt gehasht met SHA-256 (Secure Hash Algorithm 256-bit) en als een hexadecimale tekenreeks wordt verzonden.
li_fat_id, verzonden als LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID. LinkedIn voegt deze klik-ID toe aan de URL’s van landingspagina’s zodra ‘verbeterde conversietracking’ is ingeschakeld op de Insight Tag. Bij nieuwe Insight Tags is die instelling standaard ingeschakeld. Het is de moeite waard om alles wat al een tijdje geleden is aangemaakt even te openen en te controleren, in plaats van er zomaar vanuit te gaan.
eventId is de sleutel voor het verwijderen van dubbele gegevens in relatie tot de Insight Tag. Dezelfde tekenreeks aan beide kanten, dezelfde daadwerkelijke actie. IP-adres in leesbare tekst, voor- en achternaam, functietitel en bedrijf kunnen in dezelfde payload worden meegestuurd als de toestemming dat toestaat, en ze helpen bij het afstemmen van percentages zonder dat je het e-mailadres of de klik-ID op een leadformulier hoeft te vervangen.
An event wordt nog steeds geaccepteerd zonder li_fat_id, zolang er maar een gehasht e-mailadres of een andere ondersteunde identificatiecode aanwezig is. Wat hierdoor wel achteruitgaat, is de matchkwaliteit, wat zich later uit in campagnes die zwakker lijken dan het CRM aangeeft.
Welke identificatiegegevens moet je versturen?
| Identificatiecode | LinkedIn-veld | Waar het vandaan komt | Wat gebeurt er als het ontbreekt? |
| Gehasht e-mailadres | SHA256_EMAIL | Het leadformulier, dat op je server is gehasht | Het aantal overeenkomsten daalt sterk bij B2B-formulieren |
| LinkedIn-klik-ID | LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID | De URL van de landingspagina, of de cookie die de Insight Tag opslaat | The event is registered, but the link to the ad click is weaker |
| IP-adres | PLAINTEXT_IP_ADRES | Het serververzoek | Weinig invloed als er een e-mailadres of klik-ID is, en een gedeeltelijke fallback als er geen van beide is |
| Naam, functie, bedrijf | velden in userInfo | Het aanvraagformulier | Weinig invloed als er een e-mailadres of klik-ID is |
LinkedIn geeft elk event een score op basis van de waarschijnlijkheid dat het overeenkomt met het profiel van een lid, en die score is van invloed op je kosten per resultaat. Stuur de gehasht e-mail en li_fat_id samen mee als je beide hebt.
Insight Tag en CAPI: de dubbele opzet die LinkedIn aanbeveelt
LinkedIn raadt aan om dezelfde conversie twee keer door te sturen: één keer via een websitetag (Insight Tag of beeldpixel) en één keer via CAPI. Ze noemen dit een ‘redundante opzet’. De versie voor adverteerders staat in ‘Deduplicatie voor conversietracking’ en de implementatiedetails vind je in de documentatie van LinkedIn over deduplicatie.
Je maakt één conversieregel per gegevensbron. Eén browser, één server. Op het moment van conversie genereer je één eventId en koppel je die aan beide events.
Als LinkedIn een Insight Tag-event en een CAPI-event ontvangt van hetzelfde account met dezelfde eventId, negeert het het CAPI-event en telt het het Insight Tag-event mee in de campagnerapportage. De browser wint de strijd, wat een verrassing is voor iedereen die dacht dat het signaal van de server als het betrouwbaardere van de twee zou worden beschouwd. Na het verwijderen van dubbele gegevens staat de Insight Tag-lijn in je conversie-uitsplitsing meestal hoger dan de CAPI-lijn, omdat de dubbele gegevens aan de server-side worden afgetrokken.
Deduplicatie speelt pas een rol als beide events daadwerkelijk plaatsvinden. Als Safari of een advertentieblokker de browserevent heeft tegengehouden, is er geen ‘tweeling’ om de voorkeur aan te geven en wordt de CAPI-event geteld. Dat is precies de reden waarom je beide laat draaien.
B2B-events die de moeite waard zijn om te optimaliseren
Koppel conversieregels aan resultaten waar je geld in zou steken. Een verzoek om een demo, een ingevuld contact- of proefformulier, een bevestigde aanmelding voor een webinar. Ook de fasen ‘Marketing Qualified Lead’ (MQL) en ‘Sales Qualified Lead’ (SQL) horen hier thuis, zolang de verkoopafdeling ze ook daadwerkelijk bijhoudt – en dat is het deel dat de meeste teams onderschatten.
Het type conversieregel is belangrijker dan je zou denken. LinkedIn ondersteunt attributievenster na de klik van 1, 7, 30 en 90 dagen, waarbij 30 dagen de standaardinstelling is. Voor vijf conversietypen is een venster van 365 dagen beschikbaar: Lead, Gekwalificeerde lead, Sollicitatie indienen, Aankoop en Toevoegen aan winkelwagen. Bij een verkoopcyclus van negen maanden voor zakelijke klanten kan de keuze voor een geschikt conversietype bepalen of de oorspronkelijke advertentieklik wordt meegeteld.
Het aantal paginaweergaven rechtvaardigt het werk zelden. Zwakke betrokkenheid kun je op de Insight Tag laten staan of helemaal verwijderen. Een download van een prijspagina hoort alleen op het serverpad thuis als je er al op hebt geboden.
Laatst toegevoegde leads vanuit HubSpot of je CRM
Er komt pas na de bedankpagina heel wat B2B-waarde naar voren. Een potentiële klant vult het formulier op dinsdag in, de verkoopafdeling plant de demo op donderdag, en de Insight Tag ziet de tweede stap nooit, omdat er geen pagina is waarop hij kan worden geactiveerd.
Als HubSpot of een ander CRM-systeem je hoofddatabestand is, loopt de werkstroom van het webformulier naar het CRM-record, via een webhook naar de servercontainer en vervolgens naar LinkedIn CAPI. Activeer deze werkstroom wanneer er een formulier wordt ingevuld, een afspraak wordt geboekt of wanneer een lead de ‘gekwalificeerd’ fase bereikt. De koppelingssleutel is het gehasht e-mailadres dat bij de oorspronkelijke lead is vastgelegd, plus li_fat_id als je dat in het contactrecord hebt opgeslagen.
Zo worden conversies meegeteld die nooit ook maar in de buurt van een pixel kwamen. De handleiding voor server-side tracking van HubSpot behandelt het CRM-gedeelte van het proces, inclusief waarom de eigen browsercookie van HubSpot niet echt geschikt is om lange trajecten bij te houden.
Gebruik de eventId van het websiteformulier opnieuw als het CRM-evenement dezelfde actie beschrijft. Geef het event een nieuwe eventId als de CRM-fase een latere uitkomst is met een eigen conversieregel. En let op de limiet van 90 dagen als iemand voorstelt om een jaar aan historische CRM-gegevens achteraf in te vullen. Die events worden afgewezen, en de oplossing is om vanaf nu te beginnen met verzenden in plaats van terug te gaan in de tijd.
Als je een batch vanuit het CRM verstuurt, gelden de volgende limieten: 600 verzoeken per minuut en 300.000 per dag per toegangstoken, met maximaal 5.000 conversieevents in één batchverzoek.
Linkedin CAPI in server-side GTM: het algemene overzicht
Dit is de meetarchitectuur, geen stap-voor-stap handleiding. In onze handleiding voor server-side tracking op LinkedIn wordt de installatie volledig uitgelegd, terwijl LinkedIn zelf een handleiding publiceert voor de GTM-implementatie aan de serverzijde, met gedetailleerde informatie per scherm.
1. Noteer de li_fat_id zodra je op de site terechtkomt. Schakel de uitgebreide conversietracking voor de Insight Tag in Campaign Manager in, zodat LinkedIn de klik-ID gaat toevoegen. Haal het uit de query string op betaalde landingspagina’s en sla het op in een first-party cookie of de data layer, zodat een formulier dat twintig minuten later wordt ingevuld, het nog steeds bevat. Als de Insight Tag is geïnstalleerd, is de li_fat_id-cookie die deze schrijft een tweede bron.
2. Genereer één eventId als de lead converteert. Een universeel unieke identificatiecode (UUID), of je lead-ID plus een tijdstempel, volstaat. Zet precies die tekenreeks in de gegevenslaag voordat een van beide events wordt verzonden.
3. Zet een dunne Insight Tag neer op elke plek waar die nog werkt. Het LinkedIn Insight Tag 2.0-sjabloon in de webcontainer heeft een veld ‘Event ID’. Vul daar dezelfde waarde in. Let goed op de naamgeving: zowel de gegevenslaag als de CAPI-payload gebruiken 'eventId', terwijl een handmatige lintrk('track', ...)-aanroep 'event_id' gebruikt. Twee tags kunnen er in het voorbeeld volkomen in orde uitzien, terwijl die afwijking achter de schermen de ontdubbeling verstoort.
4. Stuur de conversie door naar de servercontainer. De gebruikelijke route is een formuliergebeurtenis in de webcontainer, gevolgd door een Google Analytics 4 (GA4)-gebeurtenis naar de servercontainer, waar een GA4-client deze oppikt. Vermeld e-mailadres, eventId, li_fat_id en de URL van de pagina. Voeg alleen waarde toe als je daar echt op optimaliseert.
5. Stuur CAPI vanaf de servercontainer. LinkedIn heeft een officiële server-side tag, LinkedIn | CAPI Tag, in de Community Template Gallery. Deze zet het GA4-eventmodel om naar het schema van LinkedIn en verstuurt het, zodat je de payload niet handmatig hoeft op te bouwen in een HTTP Request-tag. Je hebt hiervoor de conversieregel-ID en een toegangstoken nodig. Tokens verlopen, dus iemand moet ervoor zorgen dat ze worden vernieuwd voordat een kwart van de conversies verloren gaat.
6. Hash en gate voordat er iets de deur uitgaat. Hash de e-mailadres op de server in plaats van in de browser. Als het consent management platform (CMP) de opslag van advertenties of gebruikersgegevens voor advertenties heeft geweigerd, wordt LinkedIn CAPI net als elke andere advertentietag geblokkeerd. Als je de aanroep server-side verplaatst, verandert er niets aan de verplichtingen rond toestemming.
7. Controleer het in het CRM. Wacht drie dagen voordat je conclusies trekt. Het duurt bij LinkedIn maximaal 24 uur om events te verwerken en nog eens 48 uur voordat ze in de rapportage verschijnen. Als de dubbele opzet goed werkt, zouden beide bronnen in de conversie-uitsplitsing moeten verschijnen, waarbij de Insight Tag-lijn hoger scoort. Vergelijk de totalen met het aantal CRM-formulieren. Het heeft geen zin om de nieuwe opzet te vergelijken met de cijfers van vorig jaar toen je alleen Insight gebruikte, want die basislijn is juist wat je net hebt vervangen.
Als je de CAPI-totalen vergelijkt met het aantal CRM-formulieren, kijk dan even of je naar de gecombineerde klik- en weergaveconversies kijkt. Campaign Manager geeft deze standaard als één getal weer, en de view-through-periode is standaard ingesteld op zeven dagen.
Fouten die je LinkedIn-conversies opblazen of verbergen
Geen gedeelde eventId. Elk browser-server-paar telt als twee conversies. Zonder die tekenreeks kan LinkedIn de dubbele conversie niet herkennen.
De conversieregel-ID als duplicatieverwijderingssleutel gebruiken. Deze hebben verschillende functies. De regel-ID geeft aan welke conversie moet worden opgevoerd, en de eventId geeft aan om welke actie in de praktijk het gaat. Twee regels en één eventId is de juiste opzet voor het verzenden van één formulier.
De conversieregel is nooit aan een campagne gekoppeld geweest. LinkedIn schrijft een conversie alleen toe aan campagnes waaraan de regel is gekoppeld. Er komen events binnen, de API geeft aan dat het gelukt is, maar de rapportage blijft leeg. Het is best lastig om dit te debuggen, omdat er eigenlijk geen fout is opgetreden.
Geen klik-ID. Ofwel is de uitgebreide conversietracking nooit ingeschakeld, ofwel werd li_fat_id op de landingspagina gelezen en ging het vervolgens verloren voordat het formulier werd ingevuld. Het matchen van e-mailadressen werkt nog steeds. De attributie wordt slechter, en dat merk je vooral bij lange B2B-cycli.
Ik test dit alleen in Chrome. De tag ziet er prima uit in de Chrome-preview, dus de opzet wordt goedgekeurd. Verkeer via Safari en geblokkeerde browsers ontbreken al in dat overzicht, en "onze kopers gebruiken geen adblockers" is meestal meer een wens dan een vaststaand feit.
Paginaweergaven naar CAPI sturen. LinkedIn zal graag zijn prestaties afstemmen op het aantal bezoekers als je het daar de gegevens voor geeft.
Waar TAGGRS past
Voor de tracking aan de server-side van LinkedIn is een stabiele omgeving nodig om de servercontainer te draaien, first-party weergave op je eigen subdomein, en een plek om identificatiegegevens te hashen en toe te voegen voordat er iets bij LinkedIn terechtkomt.
TAGGRS zorgt voor die hostinglaag en de verbinding met het subdomein. De webcontainer meldt de conversie één keer, en de server beslist wat er daarna gebeurt: de e-mail hashen, li_fat_id toevoegen en vervolgens LinkedIn CAPI activeren in combinatie met HubSpot of Google Ads vanuit hetzelfde event. Details over de instellingen voor de LinkedIn-onderdelen:
Conclusie
Safari 27 en adblockers hebben ervoor gezorgd dat metingen die alleen op Insight-Tags zijn gebaseerd, een zwakke basis zijn geworden voor B2B-bidding. CAPI verplaatst de lead-event naar een serverpad dat jij beheert, houdt de klik-ID en de gehashed e-mail gekoppeld aan de conversie, en maakt gebruik van eventId zodat een redundante opzet nooit tot dubbeltelling leidt.
Als LinkedIn de pijplijn aanwakkert, verdient het dezelfde behandeling die e-commerceteams nu al aan Meta CAPI geven. Een eigen, begrote kerninfrastructuur voor metingen.
Klaar om server-side tracking voor LinkedIn in te stellen? Maak een gratis TAGGRS-account aan of boek een demo om je specifieke instellingen door te nemen.
FAQ
Moet ik de Insight Tag uitschakelen zodra CAPI live is?
Niet standaard. LinkedIn raadt nog steeds aan om de browser en de server samen te gebruiken, en als er twee events binnenkomen, kiest het het event van de browser. Laat de Insight Tag gewoon waar hij geladen is, stuur CAPI voor dezelfde conversie, deel de eventId, en laat CAPI de sessies afhandelen die de browser nooit rapporteert.
Moet het e-mailadres gehasht worden?
De API accepteert verschillende soorten identificatiecodes, dus strikt genomen niet. In de praktijk vormt de gehasht e-mail het anker voor B2B-formulieren, waarbij li_fat_id de conversie terugkoppelt aan de advertentieklik. Stuur ze allebei als je ze allebei hebt.
Kan ik MQL- of SQL-stages vanuit het CRM versturen?
Ja, via een webhook naar de servercontainer, op voorwaarde dat je het CRM-record kunt koppelen aan het e-mailadres of de klik-ID die bij de oorspronkelijke lead is vastgelegd. Geef die fase een eigen conversieregel en een eigen eventId, en overweeg een conversietype dat is afgestemd op leads, zodat je gebruik kunt maken van het langere attributievenster.
Helpt dit allemaal om organisch verkeer op LinkedIn te genereren?
CAPI is bedoeld om advertentieconversies te meten en te optimaliseren. De organische prestaties horen nog steeds thuis in je website-analysesysteem.
Waarom is het aantal Insight-tags na de livegang hoger dan dat van CAPI?
Meestal komt dat doordat de deduplicatie goed werkt. LinkedIn bewaart de browserevent en trekt daar de overeenkomende serverevent van af, dus een hoger aantal Insight Tags in de uitsplitsing is te verwachten en betekent niet dat het serverpad is mislukt.


