Meta Ads Integration
Connect Lead Distro AI with Meta Ads: sync ad spend to campaigns, track conversions via the Conversions API, connect Facebook and Instagram lead forms, and attribute revenue to traffic sources.
Overview
Connect your Meta (Facebook/Instagram) ad accounts to automatically sync ad spend, track conversions via the Conversions API (CAPI), and ingest leads directly from Facebook Lead Forms.
Ad Spend Tracking
- Go to Settings → Integrations → Meta Ads and click Connect.
- Authenticate with Facebook and select your ad accounts.
- Map your Meta campaigns/ad sets to Lead Distro AI campaigns and suppliers.
- Spend syncs automatically every day — costs are attributed to the correct campaigns.
- A lead's cost is that day's ad spend split across that day's leads, so it keeps changing while new spend syncs and more leads arrive. Meta also corrects spend for about 3 days. Until then the Cost column on the Leads page shows Est. under the amount; hover it to see when spend last updated.
Conversions API (CAPI)
Using a Lead Distro AI funnel? Set up Meta on the funnel, not here. Open the funnel, go to the Integrations tab, and click the Meta card. Paste your Pixel ID and Conversions API access token. The funnel sends each conversion from the visitor's browser (the pixel) and from our server, with one shared event id, so Meta counts it once and matches more leads. The setup below sends server events only and never fires the browser pixel.
Send server-side conversion events back to Meta when lead outcomes change. This improves ad optimization by telling Meta which leads converted. Use it for leads that arrive by API or from forms that are not Lead Distro AI funnels, and to report later results (a lead accepted by a destination, or converted). Funnel users can use both: the funnel card for the submit, this one for later results. When both send the same event name to the same pixel, this one skips its copy for that funnel's leads, so Meta counts each lead once. To send a later result too, give it its own event name (for example LeadAccepted).
- Go to Settings → Integrations, find the Meta Conversions API card, and click Add Integration. Enter your Meta Pixel ID and Conversions API access token.
- Link the pixel to the sources that should use it. In the Manage window, use the Sources column. A pixel that is not linked to a source never sends anything.
- Open the Event Mapping tab and click Add Event. Pick which moment sends an event to Meta: Lead Ingested, Lead Accepted, Lead Converted, Lead Rejected, or Appointment Booked. Then choose the Meta event it sends and click Save Mappings. Nothing is sent for a moment you have not mapped.
- Events are sent automatically and include hashed PII for matching.
- Lead Ingested is sent as a website event, because the lead came from a web page. Every later moment (Lead Accepted, Lead Converted, Lead Rejected, Appointment Booked) is sent the way Meta asks for sales-system (CRM) events: as a system event marked as coming from Lead Distro AI. Those do not need a page URL.
- On the Connection tab, fill in Default event source URL with your website, on a domain verified in your Meta Business account. Meta needs a page URL on every website event, so this matters for Lead Ingested. Lead Distro AI uses the lead's own page first (a
landing_pagefield, or the field you pick under Page URL field) and falls back to this box.
A Lead Ingested event with no page URL can be dropped by Meta. When a lead has no page URL of its own (common for leads sent by API) and Default event source URL is empty, the event goes out without one. Meta still replies that it received the event, but it may not count it or show it in Test Events. The Event Logs tab marks these rows No page URL, and the Connection tab warns you under the box.
Lead Converted and Lead Rejected are sent when a lead's outcome changes to Converted or Not Qualified. That happens when you set the Outcome on the lead's row in the Leads list, when your buyer sets it in the Partner Portal, or when their system reports it through the postback webhook. Setting the outcome back to Pending sends nothing. Changing outcomes with the bulk Edit button does not send an event, so set them one lead at a time.
Appointment Booked is sent when a lead's appointment is booked: on a Lead Distro AI calendar, a Great Sales AI or GoHighLevel calendar, or by a source that posts the appointment to your campaign. It defaults to Meta's Schedule event. It is sent once per lead: moving the meeting to a new time, or cancelling and booking again, does not send a second one.
Facebook Lead Forms
Connect Facebook Pages to automatically ingest leads from Lead Form ads. Leads flow directly into your campaigns without any external automation tool.
Meta integration requires a Meta Business account with active ad accounts. When you connect, Meta asks you to approve read access to your ad spend and lead forms, plus management access so Lead Distro AI can connect your Pages to lead forms and build Custom Audiences. Lead Distro AI never creates, edits, or pauses your ads.
Frequently Asked Questions
What does the Meta Ads integration do?
How does the Conversions API (CAPI) help my ad performance?
What Meta permissions does Lead Distro AI request?
Can my AI tell which Meta ads make money, and change them for me?
https://mcp.facebook.com/ads in your AI, then sign in with Facebook) only if you want the AI to pause, edit or scale ads in Meta. Lead Distro AI's connector alone is enough to see which ads make money. The setup card shows whether your AI reported having Meta's connector the last time it asked for profit per ad. Ask something like "Which Meta ads lost money last month?" and the AI ranks them by profit, proposes a change, and makes it in Meta only after you say yes. Lead Distro AI itself never changes your ads, and Meta saves new campaigns as drafts. Step-by-step: Settings → Integrations → Meta Ads in your AI. Funnel and website leads need ad_id={{ad.id}}&adset_id={{adset.id}}&campaign_id={{campaign.id}} in the ad's URL parameters to be tied to an ad; Meta lead-form leads carry these automatically.Can I have multiple Meta pixels — one per supplier or client?
How fast does Meta spend sync after a lead is ingested?
What happens if my Facebook Lead Form ad pulls in leads I don't want?
REJECTED and the specific filter that caught them, so you can iterate on filter rules without losing visibility.Should I set up Meta in my funnel or in Settings → Integrations?
Can I see and retry failed CAPI events?
The Event Logs say success, but my event is not in Meta's Test Events. Why?
landing_page field with each lead. Then send the event again. Later moments, like Lead Converted, are sent as CRM events and do not need a page URL. Also check that the Test Event Code matches the one currently shown in Meta's Test Events tab. Meta builds its custom conversion list from live events, so a new event may not show there until live events arrive. Clear the Test Event Code when you finish testing.Related Articles
If you have any questions, send us an email at support@leaddistro.ai