Solar Lead Generation: Cost per Lead, Cost per Survey and AI Follow-Up

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Solar Lead Generation: Cost per Lead, Cost per Survey and AI Follow-Up.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Solar Lead Generation: Cost per Lead, Cost per Survey and AI Follow-Up.

One solar lead marketplace's page puts the average at $25 to $300 a lead, set by location and how many installers share it. Cost per booked survey is lead price divided by the share of leads you reach and then book. In an illustrative month, a fast reply cut a $70 lead's cost per booked survey from $583 to $397.

Shared leads cost less per lead but put you in a race, and the marketplace's rules say a lead cannot be returned because the customer lost interest, another company got there first, or nobody answered. Only wrong numbers and fake details qualify. Reply speed therefore decides whether you pay for a lead or for a contact. The rates in the sample month are my assumptions, not benchmarks, so replace them with your own.

Follow me on Instagram@sagnikteaches

Exclusive, duo, trio, quad: what the lead type does to your price

The marketplace behind SolarReviews' guide to solar leads sells exclusive leads (sold only to you) and duo, trio and quad leads (shared with one, two or three other companies). It says you set up a lead-buying campaign with a daily lead volume and a bid for each lead type, or buy prepaid credit bundles, that your card is not charged until a campaign is set up, and that its leads are sold to an average of 2.3 companies. It also says only about 48% of raw leads pass verification (about 50% elsewhere on the same page). Those are the vendor's own statements and I could not check them.

Connect on LinkedInSagnik Bhattacharya
Lead typeCompanies that get itWhat it means for youIllustrative price
ExclusiveYou onlyNo race, highest price per lead$180
DuoYou and one otherA short race$110
TrioYou and two othersA real race; your first reply decides most of it$70
QuadYou and three othersCheapest, and the customer may be phoned by four firms in ten minutes$40
Appointment-setVariesThe page calls appointment-setting calls one of the cheaper short-term options, gives no price, and warns of reputational and legal riskNot published
Your own channelsYou onlyAds, referrals, your website; free tools such as OpenSolar's branded profile page and estimate widget create projects in its CRM, but only from the traffic you send themYour own cost

The prices in the last column are mine, chosen to sit inside the marketplace's $25 to $300 range, and they are not quotes. The useful sum is the multiple. An exclusive lead at $180 costs 2.6 times a $70 trio lead, so it must produce 2.6 times the booked surveys per lead before it is the cheaper source. A duo at $110 must beat the trio by 1.6 times, and a trio must beat a $40 quad by 1.75 times. Ask the vendor in writing how many companies receive each lead whatever label it carries, then measure the multiple yourself.

Subscribe on YouTube@sagnikteaches

Cost per booked survey: the formula and the four rates behind it

Four rates turn a lead price into a cost per outcome. Define each one before you start counting, so two people filling in the sheet mean the same thing.

  • Contact rate: leads you reached in a real two-way exchange, divided by leads bought. An automatic text with no answer is not a contact.
  • Booking rate: surveys booked, divided by contacts.
  • Show rate: surveys actually held, divided by surveys booked.
  • Close rate: jobs signed, divided by surveys held.

Then the costs follow in three lines. Cost per booked survey is spend divided by booked surveys, where spend includes any tool cost. Cost per held survey is that figure divided by the show rate. Cost per signed job is the held-survey figure divided by the close rate. The same marketplace page claims that installers reach 80 to 85% of leads, book 20 to 30% and close 3 to 7%, which are marketing figures for its own leads and are not independently verified; its FAQ puts appointment conversion at around 33%, so the page does not even agree with itself. Your own sheet will tell you whether they describe your business.

A sample month, lead by lead, with and without a fast first reply

An invented firm buys 100 trio leads at $70, so $7,000. In the slow column its first reply takes about three hours, because the owner is on a roof. In the fast column an automatic reply goes out within two minutes and a person calls within the hour, at a cost of $150 a month for the tools. Every rate except the contact rate is held equal, which real life will not do.

StepSlow first reply (about 3 hours)Fast first reply (under 2 minutes)
Leads bought, at $70 each100, $7,000100, $7,000
Tool cost$0$150
Reached in a two-way exchange40 (40%)60 (60%)
Surveys booked, 30% of those reached1218
Cost per booked survey$583$397
Surveys held, 80% of booked9.614.4
Cost per held survey$729$497
Jobs signed, 25% of held2.43.6
Cost per signed job$2,917$1,986

Read the table from the top. The only difference is that 20 more leads out of 100 are reached, and that carries all the way to the cost of a signed job, which falls by about a third. Notice also the lead-to-booked rates of 12% and 18%. They sit below the 20 to 30% appointment rate the marketplace claims, on purpose: a firm that replies in three hours on shared leads is the hard case, and an example should not flatter the tool.

The weak point is the assumption that a faster reply lifts the contact rate from 40% to 60%. You do not know that until you test it, and the same text that wins one firm a booking can irritate someone else's leads. The sample shows the structure of the calculation, not the size of the effect.

How small the uplift has to be for an AI first reply to pay for itself

You can sidestep guessing the effect size by asking a different question: how much must the reply lift booked surveys for the cost per booked survey to stay flat? The answer is the tool cost divided by the lead spend.

Monthly lead spendTool cost $150Tool cost $300
$3,0005.0%10.0%
$7,0002.1%4.3%
$20,0000.75%1.5%

At $7,000 of leads and a $150 stack, bookings need to rise by 2.1%. With 12 surveys booked a month, that is about a quarter of one survey, so one extra booking every four months clears the bar. The hurdle is low, and that is the point: an AI first reply is cheap to try and hard to justify as a leap of faith. The risk is not the subscription. It is a clumsy message that lowers the contact rate, which is why you test it against the old way for a few weeks.

Does paying for exclusive pay? One comparison with numbers

Take the same firm and put 100 trio leads at $70 beside 100 exclusive leads at $180, both answered fast. Suppose the trio leads are reached 50% of the time and booked 30% of those, and exclusive leads are reached 70% of the time because nobody else is calling, and booked 40% of those because there is no rival quote on the table. These rates are invented, and generous to exclusive.

Step100 trio leads at $70100 exclusive leads at $180
Spend$7,000$18,000
Reached5070
Booked1528
Cost per booked survey$467$643

Exclusive books almost twice as many surveys and still costs 38% more per booked survey, because it costs 2.6 times as much per lead and the better rates only buy 1.9 times the bookings. For exclusive to match the trio, it would need a booking rate of about 55% on reached leads, not the 40% assumed. That does not make exclusive a bad buy. It might be the right source if your trio leads arrive after three other firms have phoned them, or if your capacity to call is the real limit. It does mean you should buy it on a test of cost per booked survey, not on the word "exclusive".

The return rules that make a slow reply expensive

The marketplace's page sets out what it will credit. Credit purchases are non-refundable. A lead cannot be returned because the customer lost interest or another installer reached them first. Returns are allowed only for a wrong phone number or fake details, and leads that do not answer cannot be returned. It also says your rejection rate affects your place in the lead queue, so returning leads freely has a cost. Its own advice is to contact leads within minutes, not hours, and to call immediately and regularly over the first few hours.

Two practical consequences follow. First, count bad-data leads separately in your sheet, so wrong numbers and obvious fakes do not pollute the contact rate and you can claim them within whatever window your vendor allows. Second, treat every slow reply as a cost you cannot recover. A lead that replies at 9 pm and gets an answer at 8 am has not been refunded and probably has not been won.

A quick sum shows why the separate column matters. Say 8 of 100 trio leads turn out to be wrong numbers or fake details and the vendor accepts all 8 returns: spend falls from $7,000 to $6,440, and the contact rate should be measured on the 92 genuine leads. Leave the 8 in and a 40-contact month reads as a 40% contact rate instead of 43%, and a source that sends more junk looks like a reply-speed problem when it is a data problem. Ask every vendor what share of leads it rejects before sale and how a return is claimed, because the page I read gives no time window.

Building the first reply: trigger, message, hand-off

The page says leads can arrive by email, text or a link into your CRM, which gives three places to start the clock. The reply has three parts.

  1. Trigger. The arrival of a lead starts an automation in your CRM or in a tool such as Zapier (its pricing page lists Professional at $19.99 a month on annual billing or $29.99 monthly, for 750 tasks). The CRM comparison is in solar installer software compared, and a lead-ad version of the same wiring is in Facebook lead ads to your CRM with a first reply.
  2. Message. Say who you are, name what the lead asked about, ask one easy question, offer a survey slot with a booking link, and include an opt-out line. The model call is the cheap part. Anthropic's pricing page lists its newest Haiku model at $0.10 per million input tokens and $0.50 per million output tokens for short prompts, and the previous Haiku at $1 and $5, so a reply of roughly 300 tokens in and 150 out costs between about a hundredth and a tenth of a cent.
  3. Hand-off. Decide who answers when the lead replies, and how fast. A person within minutes during business hours is the target; an AI that carries on the conversation should only be able to offer survey slots, and should pass anything else to a person.

When the lead texts back a question the AI must not answer

The hand-off rule is easiest to see on a real-looking reply. A lead answers the first text with: "how much would it cost for a 3 bed? our bill is about $180 a month". An AI left to carry the conversation tends to produce something like this draft:

Great question! A typical 3-bed home needs around a 6 kW system, which usually costs about $15,000 before incentives. With a $180 bill you could save over $1,800 a year. Want to book your survey? [link]

Every number in it is invented: the system size, the price, the hint of incentives and the saving. The fix is a rule in the instructions rather than an edit after the fact: questions about price, size, savings, incentives or finance get one fixed line, and the lead is flagged for a person. A version that keeps the booking moving reads: "Thanks, [first name]. The price depends on your roof and how you use power, which is what the survey works out, and [name] can talk you through rough figures on the phone. Can I book you in for [day] at [time], or is another day better? [link]". Then the person rings within the hour, as the cadence below says. Test the rule before launch by sending the AI five money questions phrased five different ways; if any reply contains a figure, the instructions are not tight enough.

Follow-up is a cadence, not a message. The marketplace itself advises calling immediately and regularly over the first few hours, and this is my suggested version of that:

TouchTimingChannelWho sends itPurpose
1Minute 1TextAutomation, from an AI-drafted templateAcknowledge, one question, booking link
2Minute 2EmailAutomationThe same offer, plus what a survey involves
3Within the hourCallA personQualify and book; leave a voicemail if there is no answer
4Hour 3TextAutomation"Tried to ring; here is the booking link"
5Next morningCallA personSecond attempt
6Day 3TextAutomationClose the loop and invite a reply any time

Stop after touch six. A lead that never answered stays in your sheet as "no contact", and should only be contacted again if the consent collected allows it. Scripts for the calls themselves are in discovery questions and objection replies for solar.

Speed has a limit, and quiet hours are it. A text at 2:07 am to someone who filled in a form at 2:05 is quick and may be unwelcome. Set quiet hours, say 9 pm to 8 am: the email goes at once, the text waits for the morning, and the clock in your sheet starts at the first allowed send. An invented failure: a firm texts every overnight lead immediately, two of the first six get a "who is this?" reply and one sends STOP. It moves the text to 8 am, keeps the email immediate, and its overnight contact rate does not suffer.

A prompt for the first text, and what to fix in the draft

Write a first text to a new solar lead, under 300 characters, from [name] at [company]. Use only the facts below. Thank them for asking, name what they asked about, ask one easy question, and offer a survey booking link. No savings, output, subsidy or payback claims. Use plain straight quotes and no emoji. End with: Reply STOP to opt out.

Facts: lead [first name]; asked about [roof solar / solar and battery]; booking link [link]; we phone back during [hours].

A first draft of the kind a model produces: "Hi [first name], it’s [name] at [company]. Thanks for asking about solar – systems like yours typically save around $1,500 a year! Want to book a free survey? [link] Reply STOP to opt out." Three fixes.

  • Delete "typically save around $1,500 a year". It is an invented claim, it will not hold for every roof or tariff, and advertising rules do not care that a model wrote it.
  • Replace the curly apostrophe and the long dash. Twilio's documentation says any character outside the basic GSM-7 set, including angled smart quotes, makes the message fall back to UCS-2 encoding, which holds far fewer characters (70 in a single message and 67 per part when split, against 153 per part for GSM-7). Its own example is a 152-character text plus one Unicode character, which is billed as three messages.
  • Change "free survey" to whatever your survey really is. If it is free only with a signed proposal, say so; if it is chargeable, do not call it free.

Read the tone aloud. The best replies read like a person typed them on a phone between jobs, which is also why the signature should carry a real first name.

A tracking sheet that gives you your own rates in 60 days

One row per lead. Fill it from the CRM on Mondays. Here are six invented rows to show the format:

LeadReceivedType, priceFirst reply afterTwo-way contactBookedHeldSigned
A1Mon 09:12Trio, $701 minYesYesYesNo
A2Mon 21:40Trio, $701 minNoNo--
A3Tue 14:05Trio, $7038 minYesNo--
A4Wed 08:30Quad, $402 minYesYesNo-show-
A5Wed 19:55Exclusive, $1801 minYesYesYesYes
A6Thu 11:20Trio, $703 h 10 minNoNo--

After about 100 leads, group the rows by first-reply time (under 5 minutes, 5 to 60 minutes, over an hour) and work out the contact rate for each group. Then calculate cost per booked survey for each lead type. Add a column for bad data (wrong number, fake details) and keep those leads out of the contact rate. Judge on booked surveys first; signed jobs are lumpy, and one large sale can swing the cost per signed job by a third.

After the first month, the summary that matters is one line per source. An invented example with three sources:

SourceSpendLeadsTwo-way contactsBookedCost per booked survey
Trio marketplace leads$2,800 (40 at $70)40227$400
Exclusive leads$1,800 (10 at $180)1073$600
Own website and ads$1,200 of ad spend30249$133
All sources$5,800805319$305

The blended $305 looks healthy and hides a $600 source. Three bookings from ten exclusive leads is too few to judge, so keep buying a small volume for another month rather than cutting it on this evidence. The website line is the one to feed, because its cost per booked survey is a third of the trio's, but ad spend is not its whole cost: someone writes the ads and keeps the pages current, so add that time before you compare.

Four ways the numbers mislead

  • Automatic replies counted as contacts. If the sheet counts "text sent" as "reached", your fast column will look wonderful and your pipeline will not move.
  • Time-of-day effects. Leads that arrive at night get slow replies in the old way and fast ones in the new way, but they may also be less likely to pick up a call. Compare like hours with like.
  • Mix shifts. If the test month happens to include more exclusive leads, the better result is the lead type, not the reply.
  • Small groups. Twelve leads in a week prove nothing. Run both ways in parallel until each group has a few dozen.

When the sheet shows the new way ahead on cost per booked survey for several weeks, keep it and tighten the message. If it shows no change, the problem is probably the leads or the offer, which is a different tutorial. A chatbot that qualifies by bill, roof and shade before the lead reaches you is in a solar AI chatbot for installers.

Questions before you test a faster reply

How many leads do I need before I trust the comparison?

At least a few dozen in each group, and the groups must run side by side, not one after the other. Alternate days or split by lead source so season, weather and lead mix hit both equally. Change one thing at a time. With fewer leads than that, one good week of referrals or one bad week of fake numbers will swamp the effect you are trying to measure.

Is it all right to text a lead I bought?

It depends on what consent the lead vendor collected and on the rules where you work. Ask the vendor in writing whether the consent covers texts and calls from installers, keep that answer, honour every opt-out straight away, and take advice if you are unsure. A fast reply that breaks a consent rule is more expensive than a slow one.

Should the AI answer questions about savings or payback?

No. Keep the automatic reply to booking a survey. Claims about bill savings, output, subsidies or financing are regulated, depend on the roof and the tariff, and belong to a person who has seen the survey. Give the AI a line to use for those questions, such as offering the survey and a call, and test that it uses it.

What if the vendor will not say how many installers get each lead?

Treat the lead as shared and price it that way. Ask for the number in writing, track your own contact rate by source, and compare vendors on cost per booked survey rather than on the lead label. If one source reaches fewer customers on the same reply speed, its label is telling you something.

Further reads

Sources: SolarReviews' solar leads guide for installers, OpenSolar's Leads page, Twilio's UCS-2 encoding glossary, Zapier's pricing page and Anthropic's API pricing page, read on 29 October 2026. Rates in the sample month are illustrative assumptions.

Want your own cost per booked survey worked out?

On a 1:1 call we can take your last two months of leads, calculate each source's cost per booked survey, and decide whether a faster first reply is the next thing to build.

Book a 1:1 call with me