Skip to content
Kelune CRM

How to collect leads from Meta lead ads

  • Kelune CRM Cloud

Meta lead ads are Facebook and Instagram ads with a built-in form. When someone fills one in, Kelune CRM Cloud saves them as a contact within moments, adds the lists and tags you chose for that form, and keeps every answer they gave in a note on the contact. There is no export, spreadsheet, or integration service in between.

Each connection is one Facebook Page. A lead form on that Page, used in a Facebook or an Instagram ad, sends its leads through the connection.

How it works

Meta delivers leads only to a Meta app, so the connection reads your leads through an app that your business owns. You create the app once in Meta for Developers, and Kelune CRM Cloud does the rest:

  1. You enter the app’s ID and secret and a Page access token. Kelune CRM checks them with Meta, subscribes your Page to lead events, and reads the Page’s lead forms.
  2. You paste the connection’s Callback URL and Verify token into the app’s webhook settings.
  3. Meta sends each new lead to that URL. Kelune CRM fetches the answers from Meta and saves the contact.
  4. Every 15 minutes, Kelune CRM also reads the latest leads of each form, so a lead Meta failed to deliver still arrives.

Prepare your Meta app

These steps happen in Meta for Developers and Meta Business Settings, so the names below are Meta’s.

  1. In Meta for Developers, create an app of type Business, owned by your business portfolio, and add the lead ads use case.
  2. Give the app the leads_retrieval, pages_show_list, pages_read_engagement, and pages_manage_metadata permissions. Kelune CRM refuses a token that lacks leads_retrieval or pages_manage_metadata, and names the missing one.
  3. Open App settings › Basic, add a privacy policy URL, and copy the App ID and App secret.
  4. Create an access token for the Page. A token for a system user that has the Page assigned is best, because it does not expire when someone changes their password. A Page access token works too.
  5. In Meta Business Settings, open Integrations › Leads access and allow the app, or its system user, on the Page. A missing Leads access entry is the most common reason Meta refuses to share leads.
  6. Switch the app to Live mode. An app in development mode receives only test leads.

Connect a Page

The Meta lead ads page lists the Pages you have connected, with how many leads each saved and how many need attention.

The Meta lead ads page with two connected Facebook Pages, one active and one that needs attention

  1. Click Settings in the sidebar.
  2. Under Advanced, click Meta lead ads.
  3. Click Connect a Page.
  4. Enter the App ID, App secret, and Page access token.
  5. If the token reaches more than one Page, enter the Page ID of the one to connect.
  6. Under Where leads go, choose the Lists and Tags every lead gets, unless its form has its own.
  7. Choose the Status for new contacts.
  8. Choose the Country for local phone numbers, so a number written without its calling code is saved in full.
  9. Click Connect.

The Connect a Page drawer with the app ID, app secret, Page access token and Page ID fields, and the lists, tags, status and phone country leads get

Kelune CRM checks all three values with Meta before it saves the connection. The app secret and the access token are stored encrypted and are never shown again; to change one, enter a new value.

With Status for new contacts set to Pending, new contacts get the double opt-in email before your campaigns reach them. See How to set up double opt-in.

Add the webhook in Meta

After you connect, the drawer opens the Usage tab with the two values your Meta app needs. You can come back to them at any time: click Edit on the connection, then Usage.

  1. Copy the Callback URL and the Verify token with their copy buttons.
  2. In your Meta app, open Webhooks and choose Page.
  3. Paste both values, verify, and subscribe to the leadgen field.

The Usage tab of a connection with its callback URL and verify token, each with a copy button

To check the whole path, click Test in the drawer, then send a test lead with Meta’s Lead Ads Testing Tool. It appears on the Leads tab within moments.

Send each form to its own lists and tags

The connection’s Settings tab lists the Page’s lead forms under Forms.

The Forms table with lists and tags for each lead form and the holiday gift guide form turned off

  • Choose Lists and Tags for a form to send its leads there. A form with none set uses the defaults from Where leads go.
  • Turn a form’s Status switch off to stop saving its leads. They are logged as Skipped, and you can retry them later.
  • A form you created after connecting appears when you click the refresh button beside Forms.

What a lead becomes

A lead needs an email address or a phone number, nothing else. Your workspace’s required contact fields do not apply to leads.

  • Matching: Kelune CRM looks for an existing contact by email first, then by phone. A match is updated; otherwise a new contact is created.
  • Unique fields still hold: if the email belongs to one contact and the phone to another, the first contact is updated without the phone, and the phone is kept in the note. Contacts are never merged.
  • The note: every lead adds one note to the contact with the form, the ad and campaign, the platform (Facebook or Instagram), the time, and every answer, including your custom questions.
  • Channel: contacts created from leads show Lead ads as the channel they came in through.
  • Automations: a new contact starts automations with the Contact created trigger, and an updated one starts those with Contact updated. See How to use triggers, delays, and actions.

Standard form questions fill these contact fields:

Meta question Contact field
Email, work email Email
Phone number, work phone number Phone
First name and last name, or full name First name and last name
Company name Company
Street address, city, state or province, ZIP or post code, country Address fields

Every other answer, such as a job title or a custom question, is kept in the note.

Read the lead log

The Leads tab lists every lead from every connected Page, newest first. Search by name, email, or phone, or filter by Status and Page. Each row shows the Form, Platform, Status, Source, and when it was Received. Source is Delivered for a lead Meta sent, and Found later for one the 15-minute check picked up.

The Leads tab with saved leads from Facebook and Instagram and held leads from a Page that needs attention

Status What it means What to do
Waiting The lead arrived and is queued Nothing; it is saved within moments
Saving The answers are being fetched from Meta Nothing
Saved The contact was created or updated Click Open contact to see them
Needs review The lead has no email and no phone Click View answers and add the contact by hand if you want them
Held Meta refused the connection, so the lead waits Fix the connection; held leads are queued again
Plan limit The workspace reached its contacts limit Upgrade or make room, then click Retry
Skipped The lead’s form is turned off Turn the form on, then click Retry
Failed Meta did not return the lead after every retry Click Retry

When Meta is briefly unavailable, Kelune CRM tries again after 1 minute, 5 minutes, 15 minutes, 1 hour, 3 hours, and 6 hours, and shows the next try under the status. Only after the last one does the lead become Failed.

View answers shows the raw answers for 30 days after the lead arrives. After that, the answers remain only in the note on the contact.

The answers of a lead that needs review: a full name and an answer to a custom question, with no email or phone

When a connection needs attention

If Meta stops accepting the access token, for example because it expired or Leads access was removed, the connection’s status changes to Needs attention. New leads are kept as Held, and members who can manage lead ads get one email about it.

A connection that needs attention, with the reason Meta gave for refusing the access token

  1. Click Edit on the connection.
  2. Enter a new Page access token, and check Leads access in Meta Business Settings.
  3. Click Update.
  4. Click Test to confirm Meta accepts the connection.

Once the connection works again, the held leads are queued again and saved.

Manage connections

The Connections tab shows each Page with its Status, Saved leads, leads that Need attention, Last lead, and when it was Connected. Click Edit to change the token or defaults, or open More actions:

The More actions menu of a connection with Test connection, Retry failed leads, Turn off, Regenerate URL and Delete

Action What it does
Test connection Checks the app, the token, and the Page subscription with Meta again
Retry failed leads Queues the connection’s held, plan limit, skipped, and failed leads again
Turn off, Turn on Stops or resumes saving leads from the Page. While it is off, its leads are not saved
Regenerate URL Creates a new callback URL. The old one stops working at once, so paste the new one into your Meta app
Delete Removes the connection and its lead log. Contacts already saved are kept