Skip to content New SourceLoop MCP: chat with your attribution data in Claude, ChatGPT & Cursor
SourceLoop

How to Track Typeform Submissions as Meta Ads Conversions

Send every Typeform submission to Meta as a Lead event through the Conversions API, so Facebook and Instagram ads optimize for real leads, not clicks.

Track Typeform submissions as Meta Ads conversions
Table of contents
  1. Why Meta misses Typeform leads
  2. How it works in 30 seconds
  3. Quick checklist before you start
  4. Part 1: Get your Typeform leads into SourceLoop
  5. 1. Add the tracking script to your site
  6. 2. Add one hidden parameter to the form
  7. 3. Embed the form on your landing page
  8. 4. Connect the webhook
  9. Part 2: Connect Meta Ads
  10. 1. Link your ad account
  11. 2. Grab your Pixel ID
  12. 3. Make a token that never expires
  13. Part 3: Send Typeform leads to Meta
  14. Lead, CompleteRegistration, or something custom?
  15. Run a 2-minute test
  16. Common mistakes to avoid
  17. What changes after this

Here's a common story. Your Facebook ads bring in plenty of traffic. People fill in your Typeform. Your inbox fills up with leads.

But Ads Manager shows almost no conversions. So Meta keeps spending on people who click and leave, instead of people who actually fill in the form.

The problem isn't your ads. It's that Meta never hears about the leads. Let's fix that.

Why Meta misses Typeform leads

Typeform loads inside an iframe. When someone hits submit, it happens inside Typeform's frame, not on your page. Your Meta Pixel simply doesn't see it.

Add iOS privacy settings and ad blockers on top, and a big share of your real leads never reach Meta. The answer is to send each lead from a server instead of the browser. That's what Meta's Conversions API is for.

How it works in 30 seconds

  1. Someone clicks your Facebook or Instagram ad and lands on your site.
  2. SourceLoop saves the Meta click ID and cookies for that visitor.
  3. They fill in your Typeform. Typeform sends the response to SourceLoop by webhook.
  4. SourceLoop joins the response to the ad click and sends a Lead event to Meta.

Meta now knows which ad produced the lead, and its algorithm starts finding more people like them.

Quick checklist before you start

  • A SourceLoop account where you're an Admin or Owner
  • Typeform Basic or higher (webhooks aren't on the Free plan)
  • Admin access to your Meta Business Manager
  • A Meta Pixel or Dataset linked to your ad account
  • A landing page where you can paste a script and embed the form

Part 1: Get your Typeform leads into SourceLoop

1. Add the tracking script to your site

In SourceLoop, open Setup and then Tracking code. Copy the script and paste it into the head of every page. This is the piece that remembers which ad each visitor came from.

SourceLoop Setup page showing the tracking code script ready to copy

2. Add one hidden parameter to the form

Open your form in Typeform and go to the Workflow tab. On the Pull data in card, click the plus button, then Add new parameter.

Typeform Workflow tab showing the Pull data in card

Name it sl_aid and save. You don't need anything else. SourceLoop fills in this value on its own and uses it to match the response to the visitor.

Typeform parameter named sl_aid

3. Embed the form on your landing page

Click Share in Typeform, choose Embed on website, pick any style, and copy the code onto the page your ads point to.

Typeform embed style picker

Inline, popup, slider, or full page all work the same for tracking. Just don't send ads to a plain typeform.com link, since that skips your site and the click can't be matched.

4. Connect the webhook

In SourceLoop, open Setup and then Incoming Webhooks. Copy your webhook URL.

SourceLoop Setup page on the Incoming Webhooks tab

In Typeform, go to Connect, then Webhooks, click Add a webhook, paste the URL, and save.

Typeform Add a webhook dialog with the URL field

That's Part 1 done. Every new response now lands in SourceLoop with its source attached. Want every screen in detail? See the full Typeform setup guide.

Part 2: Connect Meta Ads

In SourceLoop, open Setup and then Ad Platforms. Click Connect on the Meta Ads card and sign in with a Business Manager admin. Choose which Business and ad accounts SourceLoop can see, click Continue, then pick your ad account and click Connect this account.

2. Grab your Pixel ID

In Meta Business Suite, open Events Manager, choose your Pixel, and copy the long number on the Overview tab.

3. Make a token that never expires

Regular tokens die after 60 days, which quietly breaks tracking. A System User token doesn't. In Business Settings:

  • Go to Users, then System Users, and add one called SourceLoop CAPI.
  • Use Add Assets to give it Manage access to your ad account and Pixel.
  • Click Generate New Token, tick ads_management, set expiry to Never, and copy it. Meta shows it only once.

Back in SourceLoop's Meta Ads drawer, paste the Pixel ID and token into CAPI configuration and click Save. When the status reads Active, Part 2 is done.

Part 3: Send Typeform leads to Meta

Still in the Meta Ads drawer, scroll to Conversion sync and click Add conversion mapping. Use these settings:

SettingWhat to chooseWhy
Trigger event typeConversion createdFires the moment a new lead arrives
Trigger event name filterform_submissionSends form leads only, not meetings or payments
Attribution modelLast touchCredits the ad that drove the submit
Meta event nameLeadThe standard event Meta uses for lead campaigns
Include valueOptional, fixed amountLets Meta weigh leads by what they're worth to you
Dedup window1440 minutesStops the same lead from being sent twice

Click Save. From now on, SourceLoop sends new Typeform leads to Meta every 2 minutes, with the click ID, cookies, and a hashed email so Meta can match them well.

Lead, CompleteRegistration, or something custom?

For a contact or quote form, use Lead. For a signup or waitlist form, CompleteRegistration can fit better. Running several forms? Add one mapping per form with a custom event name, so each shows up on its own in Ads Manager.

Run a 2-minute test

Don't wait for a real lead to find out it works. In Events Manager, open Test events and copy the test code. Paste it into the Test event code field in SourceLoop's Meta drawer.

Now open your landing page in incognito with ?utm_source=test on the end, and submit the form with a real email. Within a few seconds a Lead event should appear in Test events. Once it does, remove the test code so live events count.

Your test lead also shows up in SourceLoop, with every page the visitor saw before submitting.

SourceLoop Contacts Hub showing a Typeform lead with the full journey

Common mistakes to avoid

  1. Sending ads to typeform.com. The visitor never touches your site, so there's no click to match. Always use a landing page with the form embedded.
  2. Putting the script only on the form page. If someone lands on your homepage first, you lose their ad source. Add it site-wide.
  3. Using a personal token. It expires in 60 days and events stop. Use a System User token.
  4. Forgetting to assign the Pixel. The System User must have the Pixel as an asset, or Meta rejects the events.
  5. Leaving the test code in. Events keep going to the test view and never reach your campaigns.

Still stuck? The Meta troubleshooting guide covers the rest.

What changes after this

Give Meta a week or two of real Lead events. Ads Manager starts showing the leads you were already getting, and the algorithm shifts budget toward the ads that bring people who fill in your form.

In SourceLoop, the attribution dashboard shows the same leads by campaign, so you can check Meta's numbers against your own.

SourceLoop attribution dashboard with Typeform leads grouped by source and campaign

Running Google Ads too? Follow the same idea with Typeform submissions as Google Ads conversions. Booking calls instead? See Calendly bookings as Meta Ads conversions.

Try SourceLoop free for 7 days and start sending your Typeform leads to Meta today. No card needed.

Frequently asked questions

  1. FAQ
  2. Can't I just use Typeform's built-in Meta Pixel setting?

    It's browser-based, so ad blockers and iOS privacy settings still hide many leads. Sending events server-side through the Conversions API catches the ones the browser misses.

  3. Will leads be counted twice?

    SourceLoop sends a stable event ID with each lead, so Meta can drop duplicates when a browser event uses the same ID. Many teams simply turn off the browser Lead event and rely on the server one.

  4. Does this work for Instagram ads?

    Yes. Meta Ads covers both Facebook and Instagram placements.

  5. Do logic jumps or long forms cause problems?

    No. Tracking only cares that the response was submitted, not how the form flows inside.

  6. How fast do leads reach Meta?

    SourceLoop sends new events every 2 minutes. They usually show in Events Manager within a few minutes.

Share this post

Post on X Share on LinkedIn

Keep reading

All posts

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta