Skip to content
— SaaS & lead gen9 min readUpdated September 29, 2026

Lead gen bidding when not every lead is equal.

The cheapest leads are usually cheap for a reason. Until your bidding knows which leads became revenue, it will keep buying the ones that did not.

TA
The ADSRUNNER team
Performance marketing operators

What changed in this revision: Added a worked table comparing a cheap-lead and a dear-lead campaign on cost per qualified lead and gross profit, a rule for valuing each lead stage, the 2026 Google changes to enhanced conversions for leads and the Data Manager API, the requirements Meta sets for CRM integration, when this advice is wrong, what to do this month, and a question section.

Every lead generation account eventually meets the same paradox: cost per lead goes down, and the sales team gets angrier. The dashboard says the campaigns are improving. The pipeline says the leads are junk. Both are telling the truth, and the contradiction is built into the metric everyone chose to optimize.

A form fill is not a customer. It is a maybe. When you tell Smart Bidding that all form fills are worth the same, it does exactly what you asked: it finds the cheapest possible maybes. The people most likely to fill in a form are not the people most likely to buy. They are students, competitors, job seekers, and the incurably curious. The algorithm is not broken. It is optimizing the wrong definition of success with total commitment.

The short version

Value the stages after the form, send them back to the ad platforms, and bid on the value. Concretely: pick the earliest stage in your CRM that reliably predicts revenue, usually "qualified", and make it the primary conversion. Give every stage a value equal to what a customer is worth multiplied by the share of that stage that becomes a customer. Keep the raw form fill as a secondary conversion so you can still see volume. Then judge the account on cost per qualified lead and pipeline value, not on cost per lead.

The junk-lead death spiral

Left unchecked, this compounds. Cheap low-quality leads dominate the conversion data. The algorithm learns their profile and finds more of them. Reported CPL keeps improving, which earns the strategy more budget. Meanwhile sales stops trusting marketing leads, follow-up gets slower, and even the good leads convert worse because they are buried in noise. The account looks healthier every month while the pipeline it feeds gets sicker.

If your CPL has improved for two quarters and your revenue from paid leads has not, you are not generating demand more efficiently. You are manufacturing form fills.

The arithmetic: two campaigns, same budget

Here is why cost per lead is the wrong scoreboard, in one table. Two campaigns each spend $8,000 a month. One produces cheap leads, the other expensive ones. Everything that matters follows from the share of leads that qualify, which the ad platform never sees unless you send it.

LineCampaign A: cheap leadsCampaign B: dear leads
Monthly spend$8,000$8,000
Leads20080
Cost per lead$40$100
Share of leads that qualify10%40%
Qualified leads2032
Cost per qualified lead$400$250
Customers (25% of qualified)58
Cost per customer$1,600$1,000
Gross profit from those customers$30,000$48,000
Arithmetic, not a client result. An illustrative business where a customer is worth $6,000 in gross profit and 25% of qualified leads become customers.

Bid to cost per lead and campaign A wins easily: $40 against $100. Bid to what happened afterwards and campaign B produces 60% more gross profit from the same spend, at a cost per customer 37.5% lower. None of that is visible to a platform that only sees form fills. That is the whole case for closing the loop: the algorithm can only prefer campaign B if someone tells it what campaign B produced.

Step one: define the stages that matter

The fix starts outside the ad account. Write down the honest stages between a form fill and revenue. For most businesses that is something like raw lead, contacted, qualified, opportunity, closed. Then decide which stage is the earliest reliable predictor of value. That stage, not the form fill, is what the ad platform should optimize toward. Everything upstream of it is noise wearing a conversion tag.

Reliable means two things. The stage is recorded the same way by every salesperson, every time, and it is recorded quickly. A "qualified" flag that one rep sets on the first call and another sets after the third meeting teaches the algorithm nothing except your team’s habits.

Step two: close the loop with offline conversions

Both major platforms support this, and most lead gen accounts never wire it up. When a lead moves forward in the CRM, that outcome is sent back to the platform and matched to the original ad interaction. From then on the algorithm learns from what happened after the form, which is the only part that ever mattered.

On Google, the route is offline conversion import, and Google now recommends starting with enhanced conversions for leads. That is an upgraded version which matches hashed customer data, such as the email address from your lead form, in addition to the click ID (the GCLID). Two 2026 changes matter if you set this up years ago. In April, enhanced conversions for web and for leads became a single setting. And from June 15, uploads of offline conversions and enhanced conversions for leads moved to Google’s Data Manager API and are blocked in the Google Ads API, except for integrations allowlisted for legacy access. An old custom integration can stop sending conversions without anyone noticing.

On Meta, the equivalent is the Conversions API for CRM integration, and Meta’s requirements are specific. For Instant Form leads, store the 15 to 17 digit Meta lead ID in your CRM. Upload at least once a day. Optimize for a stage that happens within 28 days of the lead, and one that between 1% and 40% of leads reach. Read that band as a design constraint: a stage almost nobody reaches is too rare to learn from, and a stage almost everybody reaches cannot tell good leads from bad.

  • Capture the click identifiers and the email address at form submission and store them on the CRM record
  • Send stage changes back at least daily, not in a quarterly batch
  • Make the qualified stage the primary optimization conversion and keep the raw form fill as a secondary one you observe
  • Assign a value to each stage so bidding can weight a qualified large inquiry above a casual one

Step three: put a value on each stage

A value per stage turns the funnel into something bidding can use. The rule: stage value equals the gross profit of a customer multiplied by the share of that stage that becomes a customer. In the business from the table, a customer is worth $6,000 and a quarter of qualified leads close, so a qualified lead is worth $1,500. If half of opportunities close, an opportunity is worth $3,000. A raw form fill that closes 5% of the time is worth $300.

Use gross profit, not revenue, for the same reason ecommerce brands bid to margin rather than revenue: two customers with equal revenue can leave very different amounts behind. Where deal size varies by segment or product line, carry that into the value, so a qualified inquiry for a large contract is worth more than one for a small contract. The free lead value calculator works back from customer value and close rates to the most you can pay for a lead, a qualified lead, and a customer. Recompute the values each quarter from the CRM, because close rates drift.

Step four: graduate from cost per lead to value-based bidding

Once outcomes flow back with values attached, the account can move from target CPA to value-based bidding: Maximize conversion value, with a target ROAS once there is enough history to set one. This is the lead gen equivalent of bidding to margin instead of revenue. The same machinery that used to hunt cheap form fills now hunts expected pipeline, because the target it is pointed at is finally truthful. The trade-offs between the two strategies are in tROAS vs tCPA: when each wins.

Expect volume to drop and cost per lead to rise when you make this switch, and expect that to be the correct outcome. Fewer, dearer leads that close is the trade you were hoping for when you started spending. The teams that struggle with this transition are almost always struggling with the dashboard optics, not the economics. The wider argument, that the thing being bought is pipeline, is in you are buying pipeline, not leads.

What the usual advice gets wrong

The usual fix for junk leads is friction: more form fields, a qualifying question, a required phone number. Friction does cut junk, and sometimes it is the right first move. But it treats the symptom. It lowers the number of bad leads without teaching the algorithm what a good one looks like, so the platform keeps searching for the cheapest people willing to clear the new hurdle. Better targeting comes from better feedback, not a taller fence. Add friction if you need to, and send the outcomes back either way.

When this advice is wrong

  • Too little volume to learn from. If only a handful of leads reach the qualified stage each month, the platform cannot learn from that stage alone. Import the earliest stage that has enough volume, with values, and move further down the funnel as volume grows.
  • A sales cycle longer than the window. If qualification takes longer than the platform allows (28 days on Meta), the signal arrives too late to train on. Use an earlier stage that happens inside the window.
  • Messy CRM data. If stages are set inconsistently or late, imports teach the algorithm noise. Fix the sales process before you wire the pipe.
  • Leads that really are equal. A business that sells one fixed-price booking, where nearly every lead that turns up buys, gains little from stage values. Cost per lead is a fair proxy there.

What to do this month

  • Pull the last 90 days of leads from the CRM and compute the share that qualified, by campaign. If the ranking by cost per qualified lead differs from the ranking by cost per lead, you have the problem this post describes.
  • Check that every lead record carries the click ID and the email address captured at submission.
  • On Google, find out whether offline conversions reach the account through a connector or a custom integration. If it is custom, confirm it has moved to the Data Manager API, and check that imported conversions are still arriving.
  • On Meta, confirm the CRM integration uploads at least daily and that your chosen stage sits inside the 28 day and 1% to 40% requirements.
  • Set stage values with the lead value calculator, make the qualified stage primary, and keep form fills secondary.
  • Tell sales and finance in advance that cost per lead will rise, and agree that cost per qualified lead and pipeline value are the numbers that decide.
— Common questions
Should I stop tracking form fills?

No. Keep them as a secondary conversion so you can see volume and catch tracking breaks. Just stop telling bidding that a form fill is the goal. Primary conversions steer bidding; secondary ones are reported without steering it.

Is enhanced conversions for leads the same as offline conversion import?

It is Google’s upgraded version of it. Classic offline conversion import matches on the click ID. Enhanced conversions for leads also matches hashed customer data, such as the email address from the lead form, which Google says gives more accurate reporting and captures cross-device conversions. Google recommends it for accounts starting fresh.

What value should I give a qualified lead?

The gross profit of a typical customer multiplied by the share of qualified leads that become customers. With $6,000 of gross profit and a 25% close rate from qualified, that is $1,500. Recompute it each quarter from your CRM.

How long before value-based bidding shows results?

Longer than a normal bid change, because the conversions arrive days or weeks after the click. Judge it over at least one full sales cycle, and compare cost per qualified lead and pipeline value against the period before, not cost per lead.

Does this work if the sale happens over the phone?

Yes. That is what offline conversions are for. Google describes the case directly: an ad starts a path that ends in a sale at your office or over the phone. Record the outcome in the CRM against the lead, and the import carries it back to the ad.

···

Lead generation is not a form-fill business. It is a revenue business with a form in the middle. Wire the two ends together and the ad platforms become remarkably good at finding buyers. Leave them apart and no amount of tactical skill inside the account will save the pipeline. If you want an outside read on what your account is optimizing toward today, start with a free audit.

Written by The ADSRUNNER team. If this resonated and you want to apply it to your own account, you can book a strategy call or run a free audit.

How we research, source figures, and handle corrections: editorial policy.

— What we learn

Got value from this one?

The next one lands in your inbox. Account-level analysis written the way we brief our own operators. Unsubscribe in one click.

— More to read

Continue with these.

— Industry analysis

You are buying pipeline, not leads.

Optimizing lead gen to CPL is how you fill a CRM with people who will never buy anything. The feedback loop, bidding setup, and reporting structure that aim spend at pipeline instead.

Read the post
— Industry analysis

Google Ads keyword economics for SaaS.

SaaS teams still rank keywords by cost per click and cost per lead. Those are input prices, not the cost of a customer. This is the arithmetic that prices a query by pipeline: close rate, ACV, payback, and the volume you should refuse.

Read the post
— Platform strategy

Smart Bidding in practice: tROAS vs tCPA and when each wins.

Target ROAS or target CPA is one of the most common questions in Google Ads, and most answers are dogmatic. The honest answer depends on your business model and, far more importantly, on whether your conversion data is clean enough for Smart Bidding to work at all.

Read the post
— Measurement

Profit on ad spend: bidding to margin, not revenue.

A 4x ROAS on a 15% margin product loses money. A 2.5x ROAS on a 70% margin product prints it. Revenue-based bidding cannot tell the difference, which means most accounts are systematically over-buying their worst economics. The fix is to bid to margin.

Read the post
— Agency craft

Landing pages: where paid media is actually won or lost.

Every efficiency gain inside the ad account is capped and local. A conversion rate improvement on the landing page compounds across every channel, every campaign, and every future click at once. Most teams still optimize in the wrong order.

Read the post
— Growth Ceiling Scorecard

What is actually capping your growth?

15 questions, about 4 minutes, no account access. You get a score across five areas and the one constraint to fix first.

Get your score

Want this kind of thinking on your account?

Book a strategy call. We'll review your account and show you specifically what we'd do differently.