← All docsChannel setup · LinkedIn

LinkedIn — Insight Tag and Conversions API

Server-side conversion tracking for LinkedIn Ads. Each event-type needs its own Conversion-Rule URN created in Campaign Manager. Plugin maps GA4 events to five slots: Purchase, Lead, SignUp, AddToCart, KeyPageView.

Reading time: ~6 minLast updated: 2026-05-02

What you'll need

  • A LinkedIn account with Account-Manager, Campaign-Manager or Account-Billing-Admin role on the Ad Account whose conversions you want tracked. Viewer-only role is rejected by the API.
  • About 5 to 10 minutes.

1. Connect with LinkedIn

WordPress Admin → Beaconry → Tracking → LinkedIn. Click Connect with LinkedIn. You're redirected to LinkedIn.

Log in with the LinkedIn account that has Ad-Account access. LinkedIn shows a consent screen for "Beaconry" requesting rw_conversions + r_ads scopes. Approve. LinkedIn redirects you back to this page with the access-token stored automatically.

2. Find your Ad-Account ID

Open Campaign Manager (linkedin.com/campaignmanager) and pick the Ad Account you want to track. Look at the URL in your browser: it contains a piece like /accounts/512345678. The numeric part (here: 512345678) is your Ad-Account ID.

Copy the number into Beaconry → Ad-Account ID. The plugin builds the LinkedIn-internal URN format on its own.

3. Create one Conversion Rule per event-type

Campaign Manager → Measurement → Conversion tracking → Create conversion → Data source: Direct API. Create one Conversion Rule per event-type you want to track.

Beaconry maps GA4 events to five LinkedIn slots:

Beaconry eventLinkedIn slot
WooCommerce purchasePurchase
Form generate_leadLead
sign_upSignUp
WooCommerce add_to_cartAddToCart
Engaged page-view (50% scroll + 10s)KeyPageView

4. Paste the Rule IDs into Beaconry

After saving each Conversion Rule in Campaign Manager, the numeric Rule-ID is in the URL. Paste it into the matching slot in Beaconry. You only need slots for the events you actually want to track. Leave the others empty.

5. Send the test event

Save the form, click Send LinkedIn test event. HTTP 201 means credentials and URN are valid. The conversion counter in Campaign Manager updates within ~3 hours. LinkedIn does not have a real-time test view.

6. (Optional) Insight Tag in hybrid mode

Hybrid mode loads the LinkedIn Insight Tag in the browser alongside the server-side dispatch. Better match-rate because LinkedIn sees the visitor's first-party li_fat_id cookie. Off by default, server-side alone covers 100 percent of consenting visitors.

Token renewal

The LinkedIn access-token expires after 60 days. Beaconry's Logs tab gets a daily heartbeat plus a warning when 7 days are left. Re-click Connect with LinkedIn to renew. Your Conversion-Rule-IDs and Ad-Account-ID stay configured. You only re-do the OAuth handshake.

What ships automatically

  • li_fat_id captured from URL parameters on ad-click landings, persisted in nl_ext.
  • Hashed PII (email, phone) sent server-side per LinkedIn's matching guidelines.
  • Per-event idempotency key so retries don't double-count.

Plan-B mode (manual access-token paste)

If Beaconry's centralised OAuth flow is not configured on this install (the constant BCNR_LINKEDIN_OAUTH_CLIENT_ID is empty), you can paste a manually-issued access-token from LinkedIn's Developer Portal. The Tracking tab shows the manual fields when OAuth is unavailable.

Manual tokens still expire after 60 days, but you can use a Refresh-Token flow inside LinkedIn's Developer Portal to extend.

Troubleshooting

  • "403 Forbidden". Your LinkedIn account lacks Ad-Account permissions. Use an account with at least Campaign-Manager role.
  • "422 Invalid conversion". Rule ID does not exist on this Ad Account, or the rule is paused. Recheck Campaign Manager → Conversion tracking.
  • Counter not moving. Three-hour latency is normal. After three hours, check the Logs tab in Beaconry for HTTP 201s.