How to troubleshoot LinkedIn Ads sync issues
Checklist for LinkedIn Ads sync issues. Conversion Rule ID errors, missing CAPI events, Lead Gen webhook delivery, identity matching, OAuth token issues.
On this page
- Before you start
- Step 1: Check the connection status
- Step 2: For ‘Token expired’ / ‘Disconnected’
- Step 3: For ‘conversions not appearing in Campaign Manager’
- Step 4: For ‘Lead Gen Form submissions not arriving in SourceLoop’
- Step 5: For ‘X-LI-Signature verification failed’ on webhook deliveries
- Step 6: For poor Match Score
- For Insights data not updating
- How to disconnect or reset
- When to email support
LinkedIn Ads sync issues split into three buckets: connection / OAuth, Conversions API push, and Lead Gen Form capture. Work through this checklist in the order it appears.
Before you start
Have these tabs open:
- SourceLoop’s LinkedIn Ads card at Setup -> Ad Platforms -> LinkedIn Ads
- LinkedIn Campaign Manager at Analyze -> Conversion Tracking -> Conversions
- For Lead Gen issues: the Lead Gen Forms view in Campaign Manager
- The most recent Sync log entry on the LinkedIn card
Step 1: Check the connection status
- Open Setup -> Ad Platforms -> LinkedIn Ads in SourceLoop.
- Look at the card:
- Active with recent Last sync → healthy
- Active with stale Last sync (>24 hours) → Insights sync stuck
- Token expired → reconnect needed
- Disconnected → run Connect flow
Step 2: For ‘Token expired’ / ‘Disconnected’
- Click Reconnect on the LinkedIn card.
- Sign in to LinkedIn with the user that has Campaign Manager access.
- Authorise the scopes.
- Pick the same ad account in the picker.
If you’d previously enabled Lead Gen Form capture, you may need to re-authorise the Lead Sync scope separately, see Capture LinkedIn Lead Gen Form submissions.
Step 3: For ‘conversions not appearing in Campaign Manager’
This is the most common Conversions API issue. Walk through:
- Open the Sync log on the LinkedIn card (three-dot menu).
- Find the conversion you expected. Each push is logged with the Conversion Rule URN, status, and any error.
- sent → SourceLoop pushed the conversion successfully. Campaign Manager has a 4-24 hour reporting delay; allow it.
- pending_identity → no
li_fat_id, no email, no phone. The visitor had no matchable signal. Skip these. - error → LinkedIn rejected the push. Click the row for the exact error.
Common errors:
Invalid conversion URN→ wrong Conversion Rule ID. See FAQ above for how to find the right one.Conversion outside lookback window→ the conversion timestamp is more than 30 days after the original click. LinkedIn rejects these.Authorization required→ token expired. Reconnect.Currency not supported→ conversion value sent in a currency LinkedIn doesn’t support for the ad account. Adjust the currency override in your SourceLoop config.
Step 4: For ‘Lead Gen Form submissions not arriving in SourceLoop’
This is the most common Lead Gen capture issue. Run through:
- Open the LinkedIn drawer in SourceLoop and scroll to the Lead Gen Form capture section.
- Confirm the Page that owns your Lead Gen Form is subscribed. Status should be Active, with a recent Last event timestamp if leads have been coming in.
- Confirm the Lead Sync scope was authorised during the Lead Gen enable flow. If the scope wasn’t granted, the subscriptions will show Pending instead of Active. Re-run the enable flow with a user that has Page Admin.
- Confirm the form is configured to use Lead Sync. In Campaign Manager, open the Lead Gen Form template. The Lead Sync toggle should be on. If the form was created before Lead Sync was added to your account, it may default to off; you’ll need to clone the form with Lead Sync enabled.
- Test by submitting a real form. Click into one of your active LinkedIn ads with a Lead Gen Form attached, fill in, submit. Within 30 seconds, watch the subscription’s events received counter increment and the lead appear in Contacts Hub.
Step 5: For ‘X-LI-Signature verification failed’ on webhook deliveries
If you see this in the Lead Gen log:
- Don’t panic, this is the security layer working. SourceLoop validates every webhook delivery against LinkedIn’s HMAC-SHA256 signature using our shared credential. Failed verification means the delivery wasn’t actually from LinkedIn (or was tampered with).
- Check if this is happening for legitimate LinkedIn events. If real Lead Gen submissions are failing verification, the shared credential may have rotated on LinkedIn’s side. Email [email protected] with the specific timestamp and we’ll investigate.
- If the failures are for unknown sources, that’s the security layer rejecting spoofed requests, no action needed.
Step 6: For poor Match Score
LinkedIn’s reporting tells you the Match Score for each Conversion Rule. To improve it:
- Install the LinkedIn Insight Tag site-wide. This is what sets
li_fat_idon the visitor’s first ad-click landing. Without it, identity matching falls back to email or phone only, which produces lower scores. - Capture email in your forms. SHA256-hashed email is the strongest second identifier after
li_fat_id. Make email a required field. - Capture phone where appropriate. Hashed phone adds a third matching signal.
- Don’t fire conversions for anonymous visitors. SourceLoop already skips visitors with no identity signal (
pending_identity). Configure your conversion sources to require email at minimum.
Lead Gen Form captures have perfect Match Score by default because email always comes through with the form response.
For Insights data not updating
- Check the last sync timestamp on the LinkedIn card. Daily at 05:00 UTC.
- Force a manual resync. Click Resync now.
- Check LinkedIn’s own reporting. If Campaign Manager shows the same lag (common for the last 1-3 days), the data isn’t ready on LinkedIn’s end. SourceLoop can only show what LinkedIn provides.
How to disconnect or reset
- Soft reset (re-run click-mapping backfill): three-dot menu -> Reset click mapping on the LinkedIn card.
- Hard reset (disconnect entirely): see Disconnect LinkedIn Ads from SourceLoop.
When to email support
Email [email protected] with:
- The LinkedIn Ads card’s current status
- Two or three error messages from the Sync log (verbatim)
- Your Ad Account ID (visible on the LinkedIn card)
- If Lead Gen related, the Page ID(s) you subscribed to and the Lead Form ID if you can find it
We respond within one business day.
Frequently asked questions
-
My LinkedIn card shows 'Token expired'. What now?
Click Reconnect on the LinkedIn card. LinkedIn access tokens last 60 days; SourceLoop renews them automatically via the stored refresh token. A Token expired state usually means the refresh token itself was revoked (someone removed SourceLoop access at LinkedIn) or both tokens have expired (rare). Reconnect runs a fresh OAuth flow.
-
Conversions are firing in SourceLoop but not in Campaign Manager. What should I check?
Five common causes. (1) Conversion Rule ID wrong, double-check the numeric ID matches the rule in Campaign Manager. (2) Conversion outside lookback window, LinkedIn rejects events more than 30 days after the click. (3) No identity, the conversion has no li_fat_id, no email, no phone, so LinkedIn rejects it. (4) Reporting delay, Campaign Manager batches conversion display, expect 4-24 hours. (5) Insight Tag not deployed, without the tag, li_fat_id never gets set, dramatically reducing match rate.
-
LinkedIn says 'Invalid conversion URN' in the sync log. Why?
The Conversion Rule ID in your SourceLoop config doesn't correspond to a valid Conversion Rule in the connected ad account. Open Campaign Manager -> Analyze -> Conversion Tracking -> Conversions, click into the right rule, copy the ID from the URL, update the SourceLoop config.
-
My Lead Gen Form submissions aren't reaching SourceLoop. What's wrong?
Five causes. (1) The Page that owns the form isn't subscribed in SourceLoop's Lead Gen Form capture section. (2) The Lead Sync OAuth scope wasn't authorised (you'd see this in the drawer's status). (3) The user who authorised doesn't have Page Admin on the Page. (4) The form was created with Lead Sync disabled, check in Campaign Manager. (5) The form is on a Page you don't subscribe to.
-
I see 'X-LI-Signature verification failed' in the Lead Gen webhook log. What does that mean?
This is a security check, SourceLoop validates that every webhook delivery is signed by LinkedIn using HMAC-SHA256 against our credential. A failed verification usually means an unauthorised attempt to spoof a webhook. SourceLoop rejects the event with HTTP 401. Real LinkedIn deliveries should never fail this check, if you see it happening for real LinkedIn events, email support.
-
My Match Score is poor. How do I improve it?
Three things. (1) Install the LinkedIn Insight Tag site-wide, this is what sets li_fat_id on first ad-click landing. (2) Capture email in your forms, hashed email is the strongest second signal. (3) Don't push conversions for visitors with no identity, SourceLoop already skips these. Lead Gen Form captures have perfect Match Score by default because email always comes through.
-
Insights data is stale. When does it refresh?
Insights sync runs daily at 05:00 UTC and re-fetches the last 14 days. Force an immediate refresh by clicking Resync now. Recent campaign performance (last 1-3 days) often lags in LinkedIn itself, you're not behind, LinkedIn is.