Guide

How to Connect Meta (Facebook & Instagram) Lead Ads to GoHighLevel

Getting a Meta lead ad's data out of Facebook and into GoHighLevel isn't one connection — it's two, on two different platforms, and missing the second one is why so many "connected" setups still see zero leads. This is about that connection itself: the account permissions, the exact settings screens, and the specific point where it silently breaks. For what to actually do once a lead lands in GHL — the follow-up sequence, the timing, the messaging — see how to automatically follow up with Facebook leads, which covers that half separately.

Setup Guide

How to Set This Up, Step by Step

Six steps, in the order I actually check them. GHL and Meta have both changed this exact setup flow more than once — if a screen looks different by the time you read this, the underlying requirement hasn't: two separate permission grants, one form-by-form field mapping, and a token that eventually needs refreshing.

Step 1

Confirm you're an admin of both the Page and its Business Manager

GHL's Facebook–Instagram integration checks two separate permission layers before it'll pull a single lead: admin access on the actual Facebook Page running the ads, and admin (or an authorized employee role) on the Business Manager that owns it. If you manage the Page day-to-day but someone else in the agency or client's team owns the Business Manager, get that access sorted first — it's the single most common reason the connection stalls before it even starts.

Step 2

Connect it from Settings → Integrations, not the ad account

Inside the sub-account (not the agency view), go to Settings → Integrations and open the Facebook–Instagram card. GHL logs you in with your personal Facebook profile, not the Page or ad account directly — it just inherits whatever Pages that profile already has admin rights to. Select every Page running lead ads and choose a sync preference (all historical leads or new ones only). If a Facebook Page has a linked Instagram Business account, enable that here too — Instagram Lead Ads ride the same connection rather than needing a separate one.

Step 3

Grant Lead Access to LeadConnector inside Meta Business Suite — a separate step

Connecting inside GHL is only half the handshake. Meta separately requires you to go into Meta Business Suite → Business Settings → Integrations → Leads Access → Assign CRMs, and explicitly select LeadConnector (GHL's underlying app) for that Page. Skip this and GHL's own integration screen will still show a green "Connected" badge while zero leads actually arrive — this is the single most-reported cause of "I connected it but nothing's syncing."

Step 4

Map each lead form's fields, one form at a time

Back in Settings → Integrations → Facebook, open the connected Page's Lead Ad Forms list and map fields for every form individually — GHL doesn't apply one mapping across all your forms automatically. A checkmark next to a form means it's mapped and active; a form without one won't sync even if the ad running it is live. Change a form's questions later, or add a new one, and you'll need to come back and remap it — it doesn't inherit the old mapping.

Step 5

Know the difference between Instant Forms and a landing page

This entire integration only applies to Meta's native Lead Ads format — the "Instant Form" that opens inside Facebook or Instagram itself and never sends anyone to your site. If you're instead running traffic ads to an external landing page with your own GHL funnel or website form, none of the above matters — that's a normal form submission, captured the same way any other website lead is, with no Facebook integration involved at all. Mixing the two up is a common source of confusion when someone says "my Facebook leads aren't showing up" but they were actually running traffic ads, not Lead Ads.

Step 6

Expect to reconnect it occasionally, and know your fallback

The connection runs on your personal Facebook login token, and it breaks more often than people expect — a password change, a Facebook logout, Meta revoking the app's authorization, or plain token expiry. When it does, GHL flags the integration and you disconnect/reconnect through the same Settings → Integrations screen, re-approving the same permissions. If a lead routinely needs to reach more than GHL alone — a shared spreadsheet, a second CRM, an enrichment step first — that's the point where Zapier, Make, or n8n earns a place alongside the native connection, not as a replacement for it.

When You'd Actually Need This

Not every GHL account running Meta ads needs to touch every step above. Here's where this connection actually earns its place.

Running Instant Forms instead of driving traffic to a landing page

If your campaigns use Meta's Instant Forms rather than sending clicks to a website, this integration is the only way those leads reach GHL at all — there's no separate export or manual CSV involved in a properly connected setup.

Managing lead ads across several Pages or ad accounts

Agencies and multi-location businesses running lead ads on more than one Page hit the Lead Access step per Page, not once for the whole Business Manager — a second Page added later needs the same Meta Business Suite grant repeated, which is easy to forget.

Sending one lead to more than just GHL

The native integration writes to GHL and nowhere else. The moment a lead also needs to hit a shared spreadsheet, a second CRM, or an enrichment step before it's tagged, that's a job for Zapier, Make, or n8n sitting alongside — or instead of — the native connector.

Triggering instant follow-up the moment a form is submitted

Research published in Harvard Business Review found that leads contacted within five minutes are dramatically more likely to qualify than ones reached even 30 minutes later — which is the whole reason a real-time sync, rather than a manual export, is worth setting up correctly. Once leads are syncing reliably, GHL's workflow builder can fire an SMS, WhatsApp, or email the second a Lead Ad Form comes in.

Frequently Asked Questions

You need both, working together — a personal Facebook profile with admin access to the Page, and that Page has to sit inside a Business Manager you're also an admin (or authorized employee) of. GHL logs in as your profile and inherits whatever it's allowed to touch, so if the Business Manager belongs to someone else on your agency or client's team, get added there first.

Rather Have Someone Just Build It?

Honestly, none of this is hard on paper — it's settings and permission screens, not code. Where I actually get called in is after someone's already tried it: the integration says "Connected," leads still aren't showing up, and an afternoon's gone into guessing which permission is the problem. Or the sync itself is fine, but nothing's waiting to actually catch the lead once it lands. If that's where you are, see GoHighLevel automation in Dubai or lead generation in Dubai if you want the ad account, the integration, and the CRM built as one working system rather than three separate problems.

  • 7+ years in performance marketing and lead generation across Meta, Google, LinkedIn, TikTok, and Snapchat Ads — not just GHL configuration
  • Hands-on with GoHighLevel's Facebook/Instagram integration, Meta Business Suite's Lead Access permissions, and the workflows that turn a synced lead into an instant reply
  • 100,000+ leads delivered through automated systems, so the sync isn't just connected — it's built to actually convert

Have a Meta + GHL Question?

Fastest way to get an answer: message me directly on WhatsApp with what's not syncing. Or send the details below and I'll get back to you.

© 2026 Nabeel Aman. All rights reserved.