Create Meta Lead Ads (Instant Forms)
Create and manage Meta Instant Forms (Lead Ads) via the Marketing API for in-feed lead capture
Instructions
Create Meta Lead Ads (Instant Forms)
Meta Instant Forms capture lead info directly within the Facebook/Instagram feed. Like LinkedIn Lead Gen Forms, they eliminate landing page friction. Best for Problem-Aware audiences where you offer educational content (guides, reports, checklists) in exchange for contact info.
Prerequisites
- Meta Business Manager with Marketing API access
- A campaign with OUTCOME_LEADS objective (see
meta-ads-campaign-setup) - Privacy policy URL
- Facebook Page linked to the ad account
Steps
-
Create an Instant Form via API. Use the Marketing API:
POST /<page-id>/leadgen_forms { "name": "Problem-Aware Lead Capture - DevOps Guide", "follow_up_action_url": "https://yoursite.com/thank-you", "privacy_policy": {"url": "https://yoursite.com/privacy"}, "questions": [ {"type": "EMAIL"}, {"type": "FULL_NAME"}, {"type": "JOB_TITLE"}, {"type": "COMPANY_NAME"} ], "context_card": { "title": "Why download this guide?", "content": ["Based on data from 200+ teams", "5-minute read", "Actionable framework you can use today"], "style": "PARAGRAPH_STYLE" }, "thank_you_page": { "title": "You're all set", "body": "Check your inbox for the guide. Want to discuss your specific situation?", "button_text": "Book a Call", "button_url": "https://cal.com/yourteam/discovery" } }Use the
context_cardto set expectations before the form — this improves lead quality by filtering out low-intent clicks. -
Attach the form to an ad. Create an ad with the lead form:
POST /act_<ad-account-id>/ads { "name": "DevOps Guide Lead Ad", "adset_id": "<id>", "creative": { "object_story_spec": { "page_id": "<page-id>", "link_data": { "message": "Still debugging deployments manually? 73% of teams we surveyed waste 10+ hours/week on preventable incidents.", "link": "https://yoursite.com", "call_to_action": {"type": "DOWNLOAD", "value": {"lead_gen_form_id": "<form-id>"}} } } } } -
Retrieve leads via API. Poll for submissions:
GET /<form-id>/leads?fields=created_time,field_dataOr subscribe to real-time lead webhooks for instant notification.
-
Set up real-time lead webhook. Configure a webhook subscription for
leadgenevents on your page. Route to n8n which creates the Attio contact and fires the Loops nurture email within minutes. -
Use Higher Intent form type for qualification. For higher-quality leads, set
form_type: "MORE_VOLUME"(pre-filled, fast) or"HIGHER_INTENT"(adds a review screen before submission, reducing accidental submits by ~30% but improving lead quality). -
Monitor form analytics via API.
GET /<form-id>/insightsTrack: impressions, form opens, submissions, cost per lead. Compare Higher Intent vs More Volume forms.
Error Handling
- Lead data retention: Meta deletes lead data after 90 days. Set up automated exports via n8n to your CRM immediately.
- Webhook delays: Webhooks can lag 2-5 minutes during high-traffic periods. Supplement with periodic API polling every 15 minutes.
- Low match rate: If using customer list audiences, hash emails with SHA-256 before upload. Match rates below 30% suggest data quality issues.