# How to capture LinkedIn Lead Gen Form submissions

Real-time webhook-based capture of LinkedIn Lead Gen Form submissions. Every Lead Ads response flows into SourceLoop with full attribution and CRM sync, no Zapier required.

Source: https://sourceloop.ai/help/capture-linkedin-lead-gen-forms/
Updated: 2026-05-28

---

LinkedIn Lead Gen Forms are the highest-converting B2B ad format LinkedIn offers, and also the hardest to track. The lead never lands on your site, so your tracking pixel never sees them. Most teams resort to manual CSV exports or expensive Zapier flows.

This article walks through the real-time webhook capture SourceLoop uses instead. Once configured, every Lead Gen Form submission flows into your workspace within seconds with full campaign attribution, ready to sync to your CRM.

This is one of the highest-impact integrations in SourceLoop for B2B teams running LinkedIn Ads.

## Before you start

You'll need:

- [LinkedIn Ads connected to SourceLoop](/help/connect-linkedin-ads/) (the basic connect, runs first)
- **Page Admin** access on each LinkedIn Page that owns Lead Gen Forms (not just Campaign Manager access, this is a Page-level permission)
- At least one **published Lead Gen Form** in Campaign Manager
- **Admin** or **Owner** role in SourceLoop

## What this integration does

When you enable Lead Gen capture for an ad account, SourceLoop:

1. **Subscribes to LinkedIn's webhook** for that ad account's Lead Gen Forms (one subscription per ad account)
2. **Receives a webhook notification** within seconds of every new Lead Gen submission, containing the form response ID, the campaign and creative URNs, and a timestamp
3. **Fetches the full answer set** from LinkedIn's Lead Form Responses API using your authorised access
4. **Creates a contact in SourceLoop** with the lead's identity (email, phone, name, company, title) and every custom question's answer
5. **Attaches the source attribution** — the ad campaign, ad group, and specific creative URN that drove the submission
6. **Triggers downstream syncs** — CRM push, conversion sync to LinkedIn's own Conversions API for closed-loop reporting, dashboard updates

End-to-end latency from submission to contact-in-SourceLoop is typically 10-30 seconds.

## Step 1: Authorise the Lead Sync scope

Lead Gen capture requires an extra LinkedIn scope beyond the basic Ads connect. SourceLoop runs a second OAuth flow specifically for it.

1. Sign in to [SourceLoop](https://app.sourceloop.ai/).
2. Open **Setup -> Ad Platforms -> LinkedIn Ads**.
3. Scroll to the **Lead Gen Form capture** section in the drawer.
4. Click **Enable Lead Gen capture**. SourceLoop redirects you to LinkedIn for a scoped re-authorisation.
5. Sign in to LinkedIn with the user that has Page Admin access on the Pages that own your Lead Forms.
6. Approve the Lead Sync scope and the Page management scopes.
7. LinkedIn redirects back to SourceLoop with the upgraded grant.

## Step 2: Pick which Pages to subscribe to

After the OAuth, SourceLoop shows a list of Pages your user has admin access to.

1. Find the Pages that own your Lead Gen Forms (usually your company Page, sometimes additional brand or product Pages).
2. Toggle **Subscribe** on each Page you want to capture leads from.
3. Click **Save subscriptions**.

For each Page you subscribe to, SourceLoop calls LinkedIn's API to register a webhook subscription. LinkedIn responds with a subscription confirmation, which is logged on the connection.

> **Subscribe at the Page level, not the form level**
> LinkedIn's webhook subscriptions are scoped to Pages, not to individual Lead Gen Forms. Once a Page is subscribed, every Lead Gen Form owned by that Page reports submissions to SourceLoop, current forms and any new ones you create later. No per-form setup needed.

## Step 3: Verify the subscription is active

1. In SourceLoop's LinkedIn drawer, the **Lead Gen Form capture** section now shows each subscribed Page with status **Active**, the subscription date, the lifetime count of events received, and the last event timestamp.
2. To test end-to-end, submit a real Lead Gen Form yourself, click into one of your active LinkedIn ads, fill out the form, submit.
3. Within 30 seconds, the new lead should appear in **Contacts Hub** with source = "LinkedIn Lead Ads" plus the campaign and creative attribution.

If the lead doesn't appear, see the troubleshooting section in [Troubleshoot LinkedIn Ads sync issues](/help/troubleshoot-linkedin-ads-sync/).

## Step 4: Backfill historical leads (optional)

LinkedIn allows fetching the last 90 days of Lead Gen Form responses via the API. On first enable, SourceLoop offers to backfill these into your workspace.

1. After verifying the subscription is active, click **Backfill last 90 days** in the Lead Gen Form capture section.
2. SourceLoop pulls every lead form response from the last 90 days across your subscribed Pages.
3. Backfill typically completes within 5-30 minutes depending on volume. Watch the lead count tick up in Contacts Hub.

Leads older than 90 days aren't accessible via the LinkedIn API and can't be backfilled.

## What gets captured per lead

For every Lead Gen Form submission, SourceLoop creates a contact with:

**Identity:**
- Email
- First name + last name
- Phone (if collected)
- Job title (if collected)
- Company name (if collected)
- Country (if collected)

**Attribution:**
- **Source channel** = "LinkedIn Lead Ads"
- **Campaign URN** + Campaign name (resolved on next Insights sync)
- **Creative URN** + Creative name (resolved on next Insights sync)
- **Lead Form URN** + Lead Form name
- **Submission timestamp**

**Custom fields:**
- Every custom question on the Lead Form is stored as a custom field on the contact. For example, "Team size, What's your role?, Are you a decision maker?" each become a custom field with the lead's answer.

This data is immediately available for filtering, segmenting, dashboard groupings, and CRM sync (HubSpot, Salesforce, Pipedrive all push the standard fields plus the custom ones).

## What gets pushed back to LinkedIn

A Lead Gen submission is also a SourceLoop conversion. If you've [configured a Conversions API mapping](/help/configure-linkedin-offline-conversions/) with the **Lead** conversion type, the Lead Gen submission fires that mapping too, so LinkedIn's bidding algorithm sees it as a conversion for the campaign that drove it, closed-loop reporting.

You can also have a separate Conversion Rule specifically for Lead Gen Form submissions (recommended) so it gets reported separately in Campaign Manager from other lead types.

## Disabling Lead Gen capture later

To stop capturing Lead Gen Forms without disconnecting the rest of LinkedIn Ads:

1. In the **Lead Gen Form capture** section of the LinkedIn drawer, toggle each subscribed Page **off**.
2. Click **Save subscriptions**.

SourceLoop calls LinkedIn to unsubscribe each Page. Webhook delivery stops immediately. Existing captured leads stay in your workspace.

To completely remove LinkedIn from SourceLoop (including any Lead Gen subscriptions), see [Disconnect LinkedIn Ads from SourceLoop](/help/disconnect-linkedin-ads-from-sourceloop/).

## What's next

- **Troubleshoot** Lead Gen captures that aren't showing up: [Troubleshoot LinkedIn Ads sync issues](/help/troubleshoot-linkedin-ads-sync/).
- **Configure** the offline conversion push back to LinkedIn so the bidding optimises off your Lead Gen leads: [Configure LinkedIn Conversions API sync](/help/configure-linkedin-offline-conversions/).

## Frequently Asked Questions

### What's a Lead Gen Form on LinkedIn?

A LinkedIn Lead Gen Form is a native ad format where the prospect fills out a form without leaving LinkedIn. It's high-conversion because LinkedIn pre-populates the form with the user's profile data (name, email, company, title), no friction. The downside, attribution. The lead never lands on your site, so the SourceLoop tracking pixel never sees them. That's where this article comes in.

### How does SourceLoop capture Lead Gen Form submissions if the lead never visits my site?

Via a real-time webhook. After you authorise the Lead Sync subscription in SourceLoop, LinkedIn pushes every new Lead Gen Form response to SourceLoop as it happens. SourceLoop then fetches the form's full answer set from LinkedIn's API and creates a contact in your workspace, with attribution to the originating campaign/creative.

### Does this work for Sponsored Content, Message Ads, and Conversation Ads with embedded Lead Gen Forms?

Yes. All three ad formats can embed Lead Gen Forms. As long as the form is configured to use Lead Sync (the default for new forms), SourceLoop captures responses regardless of which ad format triggered the form.

### How fast does a Lead Gen submission appear in SourceLoop?

Within seconds of submission. LinkedIn pushes the webhook notification within ~10 seconds of the user clicking Submit, and SourceLoop processes it immediately, fetches the full answer set, and creates the contact. CRM sync (HubSpot, Salesforce, etc.) runs on the next 15-minute cycle.

### What fields get captured from the Lead Gen Form?

Every field on the form. The standard ones, first name, last name, email, phone, job title, company, country, are normalised to SourceLoop's contact fields. Custom questions on the form (e.g., "What's your team size?", "Are you a decision-maker?") are stored as custom fields on the contact. The Lead Gen Form name itself is stored too, so you can filter / segment by form in dashboards.

### Do I need a different scope than the basic LinkedIn Ads connect?

Yes. Lead Gen Form capture requires an extra Lead Sync scope plus subscribe permission on the specific Pages that own your Lead Forms. SourceLoop runs a second OAuth flow specifically for this when you enable Lead Gen capture.

### I have existing Lead Gen Forms with months of historical leads. Can SourceLoop backfill them?

Partially. LinkedIn allows fetching the last 90 days of leadFormResponses via the API, so on first enable, SourceLoop pulls the last 90 days into your workspace. Older leads aren't accessible via the API and can't be backfilled.

### What if the lead's email is missing from the form?

LinkedIn auto-populates email from the user's profile by default, but some forms make it optional. If a submission arrives with no email, SourceLoop still captures it (as an anonymous lead with phone, name, and company), but downstream CRM sync skips it because most CRMs require email. You can fix this by making email required in your Lead Gen Form template.

### How is this different from using LinkedIn's CSV export?

CSV exports are manual, often a 24-hour delay, no real-time CRM sync, and zero campaign attribution stitching. SourceLoop's webhook capture is real-time, fully automated, and attaches the lead to the specific campaign and creative that drove the submission. Your CRM gets the lead within seconds with full source attribution baked in.
