Guide

How to connect Facebook lead ads to your CRM and send lead stages back to Meta

Connect your Facebook and Instagram lead forms to your CRM so every lead lands in one pipeline the moment it's submitted, with its Meta lead ID stored. Then send an event back to Meta each time a lead moves stage, using Meta's Conversions API for CRM. Meta can then see which leads went further, and once you have enough volume, it can optimise your ads for those people instead of for form fills.

This is the part of my work people ask about the least and that I think matters the most. So I'll go through it properly: what Meta knows by default, how the leads get into your CRM, how the stages get back to Meta, and what Meta needs before any of it changes who sees your ads.

Why does this matter more in 2026?

Because Meta changed the rules this year. Meta's page About performance goals for lead ads says that from April 2026 the qualified leads performance goal is no longer available for new campaigns without a Conversions API integration, and that existing campaigns are affected from August 2026. So if you want Meta to look for better leads rather than more leads, connecting your CRM is no longer a nice extra. It's the way in.

What does Meta learn from a lead form by default?

Only that someone filled it in. When a person submits your instant form, Meta counts a lead and the job is done as far as the ad is concerned. It doesn't know that one lead booked an appointment and another gave a fake number. So with the default goal, your ads keep finding people who are likely to fill in forms, whether or not they ever go further. That's why two campaigns can have the same cost per lead and very different results in your calendar.

How do leads get from Facebook into your CRM?

There are three common ways, and only one of them is fast:

  • Downloading them by hand from Ads Manager or your Page. Meta's own best practices for responding to leads say manual downloads can make follow-up take longer, and its page on expired leads says leads can only be downloaded for up to 90 days after the form was submitted. So a spreadsheet habit loses you time first and leads later.
  • A connector app between Meta and your CRM. It works, but it's one more thing that can break quietly, and some add a delay.
  • A direct integration in the CRM itself. This is what Meta recommends in the same best practices page: use an integrated CRM so you capture leads immediately.

I build in GoHighLevel, so that's what I can speak for in detail. It has a Facebook Lead Form Submitted trigger that starts a workflow when someone submits the form on your connected Page. The form fields have to be mapped to contact fields first, and you can filter by page and by form, which matters when you run more than one offer. Whatever CRM you use, the test is the same: fill in your own form and see how long it takes for the lead to appear and for the first reply to go out.

What is the Conversions API for CRM, in plain words?

It's Meta's way for your CRM to report back. Each time a lead moves through your pipeline, for example from new to booked to attended, your CRM sends Meta an event saying so. Meta matches that event to the original lead and learns which ads, audiences and people produce leads that go further.

Two details make or break the matching. First, Meta's Conversions API for CRM documentation recommends storing the 15 to 17 digit Meta lead ID in your CRM and sending it with each event. Second, contact details like email and phone number are hashed before they're sent, because Meta's customer information parameters require it. Your customers' details don't leave your system in plain text.

What do you need before Meta can optimise on it?

This is where I have to be honest, because a lot of people sell this as if it switches on better leads overnight. Meta's documentation sets out requirements for the Conversion Leads performance goal:

  • It only works with Facebook and Instagram lead ads (instant forms).
  • At least 200 leads a month.
  • The stage you want to optimise for happens within 28 days of the lead coming in.
  • That stage converts at between 1% and 40%.

The same page gives an estimated time to value of about a month, with a learning phase of two to four weeks. GoHighLevel's own conversion leads walkthrough (modified 1 June 2026) is stricter: it asks for at least 250 leads a month, at least 50 events over 7 days, and at least two pipeline stages sending events.

So what if you're below that? You still get the visibility. You can see which ads bring leads that reach booked or attended, and that alone tells you which ads to keep. For the US manufactured-home dealer on our Work page, the account brought in 182 leads over its lifetime, which is below Meta's 200 a month, so stage optimisation wasn't something Meta could do for that account yet. I'd rather tell you that than pretend every account qualifies.

How do I set it up in GoHighLevel?

Following GoHighLevel's walkthrough, it's two workflows:

  1. When a lead form is submitted: the Facebook Lead Form Submitted trigger, then a Meta Conversion API action and a step that creates or updates the opportunity in your pipeline.
  2. When a pipeline stage changes: a Pipeline Stage Change trigger, then a Facebook Conversion API action with the lead event type.

Both workflows need "Allow Multiple" switched on in their settings, the Meta lead ID has to be mapped to a field in the CRM, and you name each stage so it reads clearly in Meta's reports. You'll also need an access token and the dataset ID from Events Manager. It sounds like a lot, but it's a one-time setup. The part that takes the real thinking is the pipeline itself.

Which stages should you send?

Meta's page on setting up your CRM for qualified leads says that during the learning phase you should upload an event for each lead status update, and send the latest update whenever a lead's information changes. So I set up the pipeline so every meaningful step is its own stage, and every stage change sends an event.

Then you pick the one stage you'd want Meta to optimise for. Use Meta's rules to choose it: it has to happen within 28 days and convert at between 1% and 40%. For a clinic that's often "consultation booked". For a property agent it might be "viewing booked". A stage like "sale closed" usually happens too late, and "replied to our email" is often too easy. The pipeline has to reflect what really happens, or the signal is noise.

Default setup or connected setup: what's the difference?

QuestionDefault lead formConnected to your CRM and back to Meta
Where do leads go?Meta, until someone downloads them (for up to 90 days)Straight into one pipeline, with the Meta lead ID
When does the first reply go out?When someone sees the leadThe moment the form is submitted
What does Meta learn?Who fills in formsWhich leads booked, attended or went further
What can you see?Cost per leadWhich ads bring leads that reach each stage
Qualified leads performance goalNot available for new campaigns since April 2026Available, once the integration is in place
Optimising for a stageNot possiblePossible at 200 or more leads a month, within Meta's other rules

A checklist before you switch it on

  • Your lead forms feed one pipeline directly, not an inbox or a spreadsheet.
  • The Meta lead ID is stored on every lead.
  • Your pipeline stages match what actually happens, and leads move stage when they book or reply, not when someone remembers.
  • Every stage change sends an event, with contact details hashed.
  • You've picked one optimisation stage that happens within 28 days and converts at 1% to 40%.
  • You know your monthly lead volume, so you know whether you're buying visibility now and optimisation later.

If you're still working out why your leads aren't turning into appointments, start with the form and the reply before the plumbing. I've written about that in why Facebook lead ads bring low-quality leads and how fast to reply to a new enquiry. And if you'd rather have this built for you, it's part of what I set up on the services page, in GoHighLevel.

Get in touch