> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brosbots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Leads from Facebook Lead Ads and Google Ads

> Someone who leaves their number in a Facebook ad form or a Google Ads lead form gets a call from the agent within seconds.

## What it does

The agent that calls back website leads
([Lead callback](/en/integrations/leads/lead-webhook)) can take submissions
from the two biggest sources of paid leads:

* **Facebook Lead Ads** (Meta instant forms on Facebook and Instagram),
* **Google Ads lead forms** (the lead form asset on Search, YouTube and
  Discovery campaigns).

Everything after the door is the same as for a website form: the number is
normalised, a repeat submission from the same number is skipped, and a lead
arriving outside calling hours waits for the next opening of the window.

## Google Ads

Google posts every submission to the URL you give it, together with a key you
type into the form's settings. The key is the same token that protects the
agent's webhook URL.

1. Agent editor → **Integrations** → section **Lead sources** → block
   **Google Ads**. Copy the **URL** and the **key**.
2. In Google Ads open the **Lead form** asset → **Lead delivery option** →
   **Webhook**. Paste the URL and the key.
3. Click **Send test data**. The agent answers `{"status":"test"}` and calls
   nobody; Google shows the result next to the form.

Standard form fields (name, phone, e-mail, company, city, postal code) reach
the call under the usual names (`{{name}}`, `{{email}}`…), custom questions
under their question text. Campaign and form ids are available as
`{{gads_campaign_id}}` and `{{gads_form_id}}`.

<Note>
  Google deletes leads after 30 days and the webhook is the only way they reach
  you as they come in. Without it you would download them from the panel by
  hand.
</Note>

## Facebook Lead Ads

Facebook leads go through Make or Zapier, which pass each new lead to the
agent's website-form address ([Lead callback](/en/integrations/leads/lead-webhook)).
Both tools have their own approved connection to Meta, so all you do is sign
in to Facebook there.

A ready-made Make blueprint and guides for Zapier, LinkedIn and TikTok are in
[Make and Zapier templates](/en/integrations/leads/make-zapier).

**Make**

1. New scenario → module **Facebook Lead Ads → New Lead**. Connect your
   Facebook account and pick the Page and the form.
2. Add the **HTTP → Make a request** module: method `POST`, URL is the agent's
   address from **Integrations** → **Lead sources**, body type JSON.
3. Map the lead's fields into the body, for example
   `{"phone": "{{phone_number}}", "name": "{{full_name}}"}`. Add any custom
   questions you want the agent to know.
4. Turn the scenario on. Set its schedule to **Immediately** so the lead is
   passed on as soon as it arrives.

**Zapier**

1. Trigger **Facebook Lead Ads → New Lead**, pick the Page and the form.
2. Action **Webhooks by Zapier → POST**: URL is the agent's address, payload
   type JSON, fields mapped as above.
3. Publish the Zap.

The phone field is found by name (`phone_number`, `phone`, `telefon`…), and
every other field reaches the call as a variable named after it.

<Warning>
  A Facebook lead without a phone number places no call. Add the standard
  `phone_number` question to the instant form, otherwise the agent has nobody
  to dial.
</Warning>

## Responses (Google Ads)

| Code | Meaning |
| - | - |
| `200 {"status":"calling"}` | calling now |
| `200 {"status":"scheduled"}` | outside calling hours, no free channel or no credit - scheduled |
| `200 {"status":"duplicate"}` | this number was accepted a moment ago |
| `200 {"status":"test"}` | test data from the Google Ads button, no call |
| `400` | no phone number in the submission |
| `401` | wrong key |
| `403` | lead source switched off in the agent's settings |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.