Facebook Lead Ads should push contact data into your CRM within seconds of form submission. When you add custom questions like budget tiers, timeline dropdowns, or multiple-choice qualifiers, GoHighLevel often receives only standard contact fields while the custom answers disappear into unmapped space.
I will show you how to link your Meta Business Page to HighLevel, create matching custom fields with compatible data types, map your Instant Forms, and test everything with Meta’s developer tools before launching your campaigns.

Prerequisites and Meta Business Manager Permissions
Before touching HighLevel settings, check your permissions inside Meta Business Suite. Most integration failures stem from permission deficits inside Meta’s Lead Access Manager rather than HighLevel itself.
Your personal Facebook account needs two distinct permission levels:
- Page Access: Full Control or Task Access to Manage Page and Leads on the specific Facebook Page.
- Lead Access Manager: Custom access or Admin access under Meta Business Manager > Integrations > Leads Access. HighLevel must be explicitly listed as a connected CRM.
If your Meta Business Account restricts CRM lead access by default, HighLevel will connect successfully over OAuth but fail to pull any lead data when real people submit your forms. Verify that your Business Manager user role is set to Admin before running through the OAuth prompt.
Connect the Meta Business Account inside HighLevel
Link your Meta Page directly inside the target sub-account. Avoid doing this at the agency view if you want leads routed to a specific client.
- Log in to your GoHighLevel sub-account dashboard.
- Navigate to Settings > Integrations.
- Locate the Facebook tile and click Connect.
- A Meta popup window will request permissions for Lead Ads, Pages, and Business Management. Accept all requested scopes.
- Select the exact Facebook Page you run ads on from the dropdown menu, then click Connect Page.
If you manage multiple client accounts under one agency login, find your specific sub-account Location ID first to confirm you are configuring the correct sub-account environment.
Create Compatible Custom Fields in GoHighLevel
Meta Instant Forms generate raw string outputs for custom questions. If you map a Facebook dropdown question to an incompatible HighLevel field type, HighLevel silently drops the value during ingestion.
Go to Settings > Custom Fields > Add Field and match your field types according to this schema:
- Short Answer Questions: Map to
Single Line Text. - Multiple Choice (Single Selection): Map to
Single Line TextorDropdown (Single). Ensure every answer option in HighLevel matches the Facebook option text character-for-character. - Appointment / Date Pickers: Map to
Date Picker. - Numeric Questions (e.g., Units or Square Footage): Map to
NumberorSingle Line Text.
If you pass data downstream to third-party endpoints or webhooks, review how custom values and custom fields in GoHighLevel webhooks handle payload formatting so you don’t corrupt incoming data.
Map Facebook Instant Form Fields to HighLevel Fields
Once your custom fields exist in HighLevel, map each Facebook form question to its corresponding CRM field.
- Go to Settings > Integrations > Facebook Form Fields Mapping tab.
- Locate the active Facebook Lead Form in the list. If your form was created recently, click Refresh Form List.
- Click Map Fields next to the form name.
- Review the standard fields (Full Name, Email, Phone Number) to ensure HighLevel mapped them to core contact properties.
- Locate your custom questions in the list and select the HighLevel Custom Field from the right-hand dropdown menu.
- Click Save.
Here is an example of what raw field payload data looks like when Facebook transmits your form fields to the integration webhook:
{ "form_id": "1029384756102938", "leadgen_id": "987654321098765", "page_id": "123456789012345", "field_data": [ { "name": "full_name", "values": [ "Alex Morgan" ] }, { "name": "email", "values": [ "alex.morgan@example.com" ] }, { "name": "phone_number", "values": [ "+15550192834" ] }, { "name": "preferred_property_type", "values": [ "Commercial Warehouse" ] }, { "name": "estimated_investment_budget", "values": [ "$250,000 - $500,000" ] } ]
}Any item in field_data that lacks a direct mapping in HighLevel will be discarded upon intake, while the core contact is still created.
Simulate Leads with the Facebook Lead Ads Testing Tool
Never wait for a live paid ad click to test your field mappings. Meta provides an official testing interface to inject dummy leads directly into connected integrations.
- Open the official Meta Lead Ads Testing Tool in your browser.
- Select your Page and your Lead Form from the dropdowns.
- Click Preview Form to customize your dummy answers, or leave default placeholder strings.
- Click Create Lead.
- Click Track Status below the button.
If the connection is healthy, the status indicator outputs 100 - SUCCESS within 2 to 5 seconds. If the status returns an error code, check the table below:
Status / ErrorRoot CauseDirect FixSUCCESS (HTTP 200)Lead successfully transmitted to HighLevelCheck HighLevel Contacts tab for new entry100 - Unsupported RequestApp lacks permissions or page tokens expiredDisconnect and reconnect FB in GHL Settings103 - CRM access restrictedMeta Leads Access Manager is blocking HighLevelAssign CRM permissions in Meta Business Suite
Build the Lead Automation Workflow in HighLevel
Capturing the lead data is only step one. Next, construct an automated workflow to process incoming leads, assign tags, and trigger notifications.
- Navigate to Automation > Workflows > Create Workflow > Start from Scratch.
- Click Add New Trigger and select Facebook Lead Form Submitted.
- Click Add Filter, choose In Form, and select your specific Facebook Instant Form.
- Add an Add Contact Tag action (e.g.,
fb-lead-ad,commercial-buyer). - Add an Assign to User action to route the lead to a sales rep.
- Add an Internal Notification action to ping your team via SMS or Email with the mapped custom field values.
When crafting outbound follow-ups inside your workflow, use fallback variables as described in our guide on GoHighLevel merge fields and fallback values to prevent blank placeholders if an ad lead skips an optional question.
If your automation does not trigger after a successful test run, follow our checklist to troubleshoot when a GoHighLevel webhook is not firing properly.
Debugging Common Mapping Breakages and Permission Dropouts
Here are the four most frequent failure points I encounter when troubleshooting Meta lead sync setups across client accounts.
1. Form Edited After Initial Mapping
When you edit a form in Meta Ads Manager, Meta archives the original version and generates a new internal Form ID (e.g., _v2). HighLevel does not automatically update mapping to the new Form ID. Whenever you duplicate or alter an Instant Form, return to Settings > Facebook Form Fields Mapping, click Refresh Form List, and re-map all fields for the new form version.
2. HighLevel Missing from Leads Access Manager
Open Meta Business Suite, go to Settings > Integrations > Leads Access. If customization is turned on, ensure LeadConnector (HighLevel’s OAuth application) is assigned under the CRMs tab. If LeadConnector is missing, Meta drops webhook dispatches silently without notifying your CRM.
3. Phone Number Format Failures
Facebook Lead Ads auto-fill phone numbers based on user profile settings. If an international user submits a number lacking an international dial code, HighLevel’s contact validator may reject the entire record if strict phone formatting is enforced. Enable international country code pickers inside your Meta Instant Form settings under Form Settings > Field Validation.
4. Field Type Mismatch Dropouts
If Facebook outputs multiple selections (an array of strings) and your HighLevel custom field is a standard Single Line Text field, data parsing can drop the payload values. Set HighLevel fields to accept raw text strings or use exact matching Dropdown options for predictable synchronization.
Frequently Asked Questions
Why does my new Facebook Lead Form not show up in HighLevel?
Meta requires up to 60 seconds to populate newly created forms across Graph API endpoints. In HighLevel, open Settings > Integrations > Facebook Form Fields Mapping and click Refresh Form List. If it still does not show, verify that your user account has administrative access to the specific Page.
Can I map custom disclaimer checkboxes from Facebook into HighLevel?
Yes. Facebook consent checkboxes and custom legal disclaimers can be mapped to HighLevel Checkbox or Single Line Text fields. This provides an audit trail of lead consent directly within the contact activity timeline.
Do I need Zapier or Make to connect Facebook Lead Ads to GoHighLevel?
No. GoHighLevel includes a native Meta Graph API integration that processes webhooks instantly without third-party middleware or extra subscription costs.
How do I delete old dummy leads created by the Lead Ads Testing Tool?
In the Meta Lead Ads Testing Tool, click the Delete Lead button before generating a new test payload. Facebook permits only one test lead per form per user account at any time.
Next Steps
Once your fields are mapped and dummy payloads arrive with all custom properties populated, you can configure downstream delivery. Check out our walkthrough on A2P 10DLC registration in GoHighLevel to ensure your automated instant SMS follow-up sequences deliver reliably to new Facebook leads.

