For lead generation teams

Lead generation ads: optimize to qualified leads, not form fills

Adrails helps lead generation teams and the agencies serving them run Facebook lead ads and search campaigns on the leads that become customers. Your server sends the qualified or closed leads back to Meta Ads and, once your workspace can connect it, Google Ads as conversions, automations alert or pause when cost per lead crosses your line, and a read-only report link keeps sales and the client on the same figures.

Reviewed Oct 4, 2026

Instant forms against landing pages

Where the lead is captured decides what you can send back

A Meta instant form and a landing page form capture the same name and email. They differ in what the person types, where the lead lands, and which outcome the ad platform can learn from afterwards.

Where the lead is captured decides what you can send back
CriterionMeta instant formLanding page form
Where the person fills itInside Facebook or Instagram, in a mobile-friendly form that uses information people already shared with Meta.On your site, after a click and a page load. The form is yours to design and test.
Pre-filled fieldsFull name, email and phone come from the profile; custom questions are typed.Nothing is pre-filled unless your site already knows the visitor.
Review before submittingOptional: a form optimized for quality asks people to review and confirm their answers.Whatever your form enforces: validation, qualifying questions, several steps.
Where the lead landsLeads Center and a CSV in Meta Business Suite, the Graph API in bulk, a webhook in real time or a CRM partner integration.Your server, CRM or form tool, at once.
What the ad platform learns fromThe form submission Meta counted, unless your server sends a later outcome back.What your server sends back: with Adrails tracking, the lead, the qualified lead or the closed deal, signed and deduplicated by event_id.
What Adrails can credit to an adThe signed lead your server sends, with the person's email. There is no visit on your site to credit it to.The visit, its click ids kept for 90 days, and every signed event tied to it by the visitor id.

How instant forms work: Meta for Developers, Lead Ads, Lead Forms for Ads and Retrieving Leads. What Adrails records and sends: the Adrails tracking documentation.

01

Cost per lead is not cost per qualified lead

Lead generation ads are bought on cost per lead, and cost per lead counts form fills. In LocaliQ's Facebook advertising benchmarks for 2026, the average cost per lead for the leads objective across 20 industries is $27.39, from $13.74 in real estate to $42.95 in home improvement, at an 8.54% conversion rate. None of those figures says how many of the leads answered the phone.

The figure that pays the bills is cost per qualified lead: spend divided by the leads sales accepted, or by the deals that closed. Adrails is built to run on that figure. Your CRM or server tells Adrails when a lead is qualified, Adrails credits it to the campaign and ad that brought the visit and sends it to the ad platforms as the conversion their bidding learns from, and the reports your team and your client read show results and cost per result from the same events.

  • Cost per lead is spend divided by form fills; cost per qualified lead is spend divided by the leads sales accepts
  • Send the qualified lead, not the form fill, as the conversion the platforms optimize to
  • Read both figures on the same campaign before moving budget

02

Facebook lead ads: instant forms or a landing page

Facebook ads for lead generation come in two shapes. Meta instant forms open inside Facebook or Instagram, mobile-friendly and pre-filled with the name, email and phone the person already shared with Meta, so the typing is gone. A form can be optimized for quality, so people review and confirm their answers before submitting, and the leads land in Meta's Leads Center, in a CSV, through the Graph API, a webhook or a CRM partner integration.

A landing page adds a click and a page load before the form, and the form is yours: qualifying questions, validation, a calendar. With the Adrails script on the page, the visit, its click ids and the lead are tied together, and the qualified lead your server sends later carries fbc and fbp back to Meta. An instant form never touches your site, so the lead reaches Adrails only when your CRM or server sends it, with the person's email, and Adrails attribution has no visit to credit it to.

The table above sets the two side by side. The rule: use instant forms where volume matters and the sales team qualifies fast, and a landing page where the form itself must qualify, or where you need the click ids to send the closed deal back to Google Ads.

03

PPC lead generation on Google Ads: bid on the lead sales accepts

Google Ads lead generation starts from intent: a Search campaign on the terms your qualified leads come from, negative keywords for the terms that fill forms and nothing else, and Performance Max or Demand Gen for reach. The lever is the conversion action Smart Bidding learns from. Teach it form fills and it buys form fills; teach it the qualified lead and it buys those.

Google Ads gives every click an id, the GCLID, and its offline conversion imports exist to send a later outcome back against that click; Google's own help recommends enhanced conversions for leads, matched on hashed first-party data such as the email, and says to wait 4 to 6 hours after creating a new conversion action before uploading to it. Adrails tracking runs the GCLID path for you: the script keeps the gclid for 90 days, your server sends the qualified lead with it, and Adrails passes it to the conversion action you chose for Lead. Google Ads opens once Google finishes verifying Adrails, so connect Meta for now.

A Google responsive search ad can be split tested on its headlines and descriptions, decided on CPA or conversion rate, with a verdict at 95% confidence once every variant has 10 conversions. Count the qualified lead as the conversion and the test settles on the figure that matters.

04

Send qualified leads back through Adrails tracking

Adrails tracking has a public part and a signed part. The script on your pages keeps a first-party visitor id for a year and the UTM parameters and click ids for 90 days, and records page views; anything it sends stays in Adrails. Your server sends the leads, signed with a server key that never goes in a page. Only signed events reach Meta and Google Ads, because a forged lead would teach a platform's bidding to buy more of nothing with your money.

Send the lead event when the lead is qualified, with your CRM id as event_id so it is never counted twice, the person's email, and the fbc, fbp or gclid saved with the visit. Meta receives it as a Lead right after it is recorded, with the email hashed with SHA-256 and the event_id that lets it count it once with your pixel. Google Ads receives the signed events that carry a gclid in batches once an hour, once they are at least 6 hours old, and the signed conversions of the last 7 days are sent when you set Google up after the tracker was running.

Two limits per tracking source protect the platforms: a largest value per event, 100,000 by default, and 5,000 events per day per platform, both adjustable. Events past them are recorded in Adrails and held back. Settings > Tracking shows sent, waiting and refused events for each platform over the last 30 days, and the last problem Google reported.

  • A lead sent with the public key is counted in Adrails only; the server key is what reaches the platforms
  • Any event name is accepted; lead maps to Meta's Lead, and Google counts the one event you chose
  • Removing tracking deletes the events in Adrails; what the platforms received stays there

05

Pause and alert when cost per lead crosses the line

An ad threshold automation watches a campaign, ad set or ad metric over today, the last 7 days or the last 30 days. It is checked every hour and fires at most once a day for each item that crosses the line. The CPA alert template posts to Slack or Discord when cost per result passes your limit; Stop-loss and Spend without results pause what spends without a lead.

A pause is applied at once after Adrails checks on the platform that nothing changed since it was read, or waits in Priorities on Home for 24 hours until an administrator applies it. Only active items are paused, up to 50 per run, and every pause is logged with the figures that led to it. A workspace runs up to 5 threshold automations at once, so put them on the accounts where a bad week costs the most.

For an agency, the same automation runs per client account group, and the person who switches it on is responsible for it: after 2 failed scheduled runs in a row they get an email, and after 5 the automation switches itself off.

06

One report link for the sales team and the client

A client report is a read-only page about the accounts you choose, over a period of up to 92 days, that anyone with the link can open without an Adrails account. It shows totals per currency, spend, results, cost per result and ROAS, the best and weakest campaigns and creatives, up to five of each, the changes applied in Adrails over the period and the open recommendations. Nothing internal goes in: no reasoning, no conversation, no member names.

Create it from Analysis with Share report, choose 30 days, 90 days or until revoked, and copy the link once, because Adrails keeps only a fingerprint of it. The Weekly client report automation emails a fresh link on a schedule, and every link is listed under Shared report links with how many times it was opened. Revoke one and whoever opens it afterwards reads that the report is not available.

  • Figures fixed at creation; the page never reads the ad platforms again
  • Up to 100 open links per workspace; revoke one before sharing another
  • Not indexed by search engines, no chat, no analytics on the page

FAQ

Common questions

Can Adrails send Facebook lead ads form fills back to Meta as conversions?

Adrails sends what your server signs: when your CRM marks a lead qualified, send it with the person's email and Meta receives it as a Lead event through the Conversions API. Adrails' own attribution needs a visit on your site with the script, which an instant form does not produce.

What is a good cost per lead?

In LocaliQ's Facebook advertising benchmarks for 2026, the average cost per lead for the leads objective is $27.39 across 20 industries, from $13.74 in real estate to $42.95 in home improvement. The only figure that matters to your margin is the cost of a lead sales accepts, measured on your own events.

Does offline conversion tracking work with Google Ads in Adrails?

Yes, once your workspace can connect Google Ads: signed events carrying a gclid go to the conversion action you chose in hourly batches, once they are 6 hours old. A Google Ads connection made before Adrails could send conversions needs to be connected again from Ad accounts.

Can an automation pause a campaign on its own when cost per lead spikes?

Yes. Choose to pause automatically, and each pause is applied after Adrails checks on the platform that nothing changed since it was read; or let each pause wait in Priorities for 24 hours for an administrator. Every pause is logged with the figures behind it.

Can my client or sales team open the report without an Adrails account?

Yes. A client report is a read-only link anyone can open without an account, with the figures measured when the link was created. Revoke it at any time, and whoever opens it afterwards sees that the report is not available.