Meta Lead Forms Integration
Automatically capture leads from Facebook and Instagram Lead Ads directly into Expedify.
Time to complete: 20-25 minutes
What Are Meta Lead Forms?
Meta Lead Forms (formerly Facebook Lead Ads) allow users to:
- Submit their information without leaving Facebook/Instagram
- Pre-fill forms with their profile data
- Convert with minimal friction
Benefits:
- Higher conversion rates (2-3x typical landing pages)
- Mobile-optimized experience
- Automatic data capture
- Instant lead notification
Prerequisites
Before connecting Meta Lead Forms:
- Meta Business Account: Verified business account
- Facebook Page: Active page linked to ads
- Ads Manager Access: Admin or advertiser role
- Lead Forms Created: At least one lead form in Ads Manager
Setting Up the Integration
Step 1: Create Meta Integration
- Go to Settings → Integrations
- Click + Add Integration
- Select Meta (Facebook)
Step 2: Authenticate with Meta
-
Click Connect with Facebook
-
Log into your Facebook account
-
Grant permissions:
- Pages: Manage your pages
- Leads: Access lead information
- Ads: View ad accounts
-
Select pages to connect
-
Click Save
Step 3: Configure Webhook
Expedify automatically configures the webhook URL. Verify it's set up:
- Go to Meta Business Suite
- Navigate to Integrations → Leads Access
- Confirm Expedify is listed as connected
Creating a Lead Capture Workflow
Step 1: Create New Workflow
- Go to Automation → Workflows
- Click + New Workflow
- Name: "Meta Lead Capture"
Step 2: Add Meta Lead Trigger
- Add Triggers → Webhook Trigger
- Configure:
| Setting | Value |
|---|---|
| Name | Meta Leads Webhook |
| Description | Receives Meta lead form submissions |
Step 3: Map Lead Data
The webhook receives lead data in this format:
{
"leadgen_id": "123456789",
"page_id": "987654321",
"form_id": "111222333",
"created_time": "2024-01-15T10:30:00+0000",
"field_data": [
{ "name": "email", "values": ["john@example.com"] },
{ "name": "full_name", "values": ["John Smith"] },
{ "name": "phone_number", "values": ["+1234567890"] }
]
}
Step 4: Create Contact from Lead
Add CRM → Create Contact node:
| Field | Mapping |
|---|---|
{{webhook.field_data[0].values[0]}} | |
| Name | {{webhook.field_data[1].values[0]}} |
| Phone | {{webhook.field_data[2].values[0]}} |
| Lead Source | "Meta Lead Form" |
| Tags | "facebook-lead" |
Step 5: Add Follow-up Actions
After contact creation:
Option A: Send Welcome Email
Send Email Node
- To: {{contact.email}}
- Template: Welcome Email
Option B: Assign to Sales
Update Contact Node
- Owner: Sales Team
- Status: New Lead
Option C: Send WhatsApp
WhatsApp Send Node
- To: {{contact.phone}}
- Template: Welcome Message
Complete Workflow
Meta Webhook Trigger
│
▼
Transform Data (extract fields)
│
▼
Create Contact
│
▼
Send Welcome Email
│
▼
Notify Sales (Slack/Email)
Field Mapping Reference
Standard Meta Lead Fields
| Meta Field | CRM Field |
|---|---|
| full_name | name |
| first_name | first_name |
| last_name | last_name |
| phone_number | phone |
| company_name | company |
| job_title | job_title |
| city | city |
| state | state |
| country | country |
| zip | postal_code |
Custom Fields
If your lead form has custom questions:
Question: "What product are you interested in?"
Field name: "custom_question_123"
Access: {{webhook.field_data[n].values[0]}}
Map to CRM custom fields:
- Create matching custom field in Contacts
- Map in workflow transformation
Handling Multiple Forms
Form-Specific Routing
Use conditions to route by form ID:
Webhook Trigger
│
▼
Condition: form_id equals "product_a_form_id"
│
├── True → Product A Lead Flow
│
└── False → Check next form
│
├── True → Product B Lead Flow
│
└── Default → General Lead Flow
Tagging by Campaign
Add campaign-specific tags:
Tags based on form_id:
- form_123 → "spring-sale"
- form_456 → "product-demo"
- form_789 → "newsletter"
Testing the Integration
Test Method 1: Meta Lead Ads Testing Tool
- Go to Meta Ads Manager
- Navigate to Lead Forms
- Click on your form
- Use Test Lead feature
- Verify lead appears in Expedify
Test Method 2: Preview Lead Form
- Preview your ad in Ads Manager
- Submit test lead
- Check workflow execution
Test Method 3: Manual Webhook Test
- Copy the webhook URL from your workflow
- Send test POST request with sample data
- Verify workflow triggers
Best Practices
Lead Form Design
Optimize for Conversion:
- Keep fields minimal (3-5 fields)
- Use pre-filled fields when possible
- Clear value proposition
- Strong call-to-action
Avoid:
- Too many required fields
- Complicated custom questions
- Missing privacy policy
Lead Quality
Improve Lead Quality:
- Use higher intent placements
- Add qualifying questions
- Target specific audiences
- Use lookalike audiences
Filter Low Quality:
- Validate email format
- Check phone format
- Score by engagement
Response Time
Speed to Lead:
- Respond within 5 minutes
- Automated welcome message
- Immediate follow-up workflow
- Sales notification
Studies show:
- 5 min response = 9x conversion
- 30 min response = 21x lower conversion
Data Privacy
Compliance:
- Include privacy policy link
- Honor opt-out requests
- Store data securely
- Follow GDPR/CCPA rules
Troubleshooting
Leads Not Arriving
- Check webhook URL - Correct in Meta?
- Verify permissions - Lead access granted?
- Check workflow - Trigger active?
- Review Meta webhook - Status healthy?
Missing Fields
- Check field mapping - Correct index?
- Verify form fields - All fields in form?
- Test with actual lead - Not test lead?
- Review raw payload - What's being sent?
Duplicate Contacts
- Check deduplication - Email matching?
- Review workflow logic - Create vs update?
- Implement upsert - Use Create or Update node
Delayed Leads
Meta may batch leads. Check:
- Webhook timing - When received vs created
- Queue processing - Any delays?
- Meta delivery - Check lead access
Advanced Configurations
Real-Time Webhooks
Ensure fastest delivery:
- In Meta Business Suite
- Go to Integrations → Leads
- Enable Real-time Updates
- Verify webhook endpoint responds 200 OK quickly
Lead Scoring
Score leads automatically:
Lead Score Calculation:
- Has company: +20
- Has phone: +10
- Enterprise question: +30
- Demo request: +25
- Newsletter only: +5
Multi-Page Setup
Connect multiple Facebook pages:
- Add each page in integration
- Create page-specific workflows
- Route by page_id in conditions
Workflow Templates
Simple Lead Capture
Webhook → Create Contact → Email Welcome
Sales Qualified Lead
Webhook → Create Contact → Score Lead →
├── Score > 50 → Assign Sales → Slack Alert
└── Score < 50 → Add to Nurture
Multi-Channel Follow-up
Webhook → Create Contact →
├── Send Email
├── Send WhatsApp (if phone)
└── Create Task for Sales
Next Steps
With Meta Lead Forms connected:
- Creating Segments - Segment your leads
- Launching Campaigns - Nurture leads
- Creating Your First Workflow - Automate more
Quick Reference
Meta Lead Form Payload
{
"leadgen_id": "string",
"page_id": "string",
"form_id": "string",
"created_time": "ISO timestamp",
"field_data": [
{
"name": "field_name",
"values": ["value"]
}
]
}
Common Field Indices
| Index | Typical Field |
|---|---|
| 0 | |
| 1 | full_name |
| 2 | phone_number |
| 3+ | Custom fields |
Response Time Goals
| Timing | Conversion Impact |
|---|---|
| Under 5 min | Optimal |
| 5-30 min | Good |
| 30-60 min | Fair |
| Over 1 hour | Poor |