Buying AI Lead Generation for Roofing: Pay-Per-Appointment or Retainer?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Buying AI Lead Generation for Roofing: Pay-Per-Appointment or Retainer?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Buying AI Lead Generation for Roofing: Pay-Per-Appointment or Retainer?

Pay per appointment suits a roofer who answers leads within minutes and wants to pay only for results; a retainer suits one who wants the data, accounts and outreach to keep. Published prices show the gap: $350 per roofing appointment on one platform, $1,800 a month plus $1,500 setup on another. Judge both by cost per held inspection.

Neither label buys quite what it suggests. A pay-per-appointment deal buys a calendar entry that the vendor gets to define, and a retainer buys activity: scanning, scoring, emailing, alerts. The definition of an appointment and the length of the contract move the real cost further than the headline price does.

Follow me on Instagram@sagnikteaches

What each price buys, from the pages that rank

Pages that rank for this search sell four different things under one label. The table lists a published example of each, read in October 2026, plus an inbound add-on that many owners should price first. They are named as price points, not recommendations.

Connect on LinkedInSagnik Bhattacharya
ModelPublished exampleWhat arrivesWho does the closing workTerm on the page
Pay per appointmentContractor Appointments: $350 per roofing and siding appointment ($400 for windows and bathrooms)A soft-set appointment: the homeowner picks a tentative time, and it is not confirmed until your team reaches outYou confirm by phone and run the appointmentPay as you go; the home page describes weekly billing
RetainerSold By Agents: Lead Machine Only $1,000 a month; Full System $1,800 a month plus $1,500 setupFull System: homeowners scored daily from property, storm and permit records, a five-email sequence over ten days, hot-lead alerts. Lead Machine Only: scored leads as a weekly CSV, no outreachYou, by phone or door knock3-month minimum on the Full System, then month to month
Pay per opportunity (data)Reworked.ai: $1.79 per roof-verified opportunity; direct mail $4.50 and ads $0.98 per opportunity as add-onsA prioritised list with roof area, age, facets, owner tenure and a propensity scoreYou, for everything after the addressNo monthly fee, pay as you go; credits do not expire; no minimum or contract stated
Pay per valid lead (ad platform)Google Local Services Ads: you pay for valid leads such as calls and messages, not clicksCalls and messages from searchersYouBudget-capped; credits for leads later judged low quality
Inbound add-onRoofr AI Receptionist: $99 a month including 200 minutes; no overage charged at presentCalls answered 24 hours a day, caller details captured, a home visit bookedYou, for the visitNo contract or setup fee; free to Roofr Essentials and Scale customers until the end of 2026

The word AI covers different work in each row. On the retainer page, it means agents that scan assessor, storm and permit records every day, score homeowners against your ideal customer and send the outreach; the page says the system finds the lead and you choose how to close it. On the data page, it means aerial imagery plus a modelled propensity score, so what you receive is addresses, not conversations. The pay-per-appointment article mentions no AI at all, because the product is a booking. And the receptionist answers inbound calls rather than finding anyone.

Subscribe on YouTube@sagnikteaches

So the first question for any vendor is which of those five things the price buys. If you would rather vet an agency in general terms first, nine checks before paying an AI lead generation retainer covers the questions that apply in any trade.

Five rungs between a lead and a signed roof

Every deal bills at one rung of the same ladder, and each rung down loses some of the people above it.

  1. Lead. A form fill, a call or an email reply.
  2. Soft-set appointment. The homeowner picked a tentative time. Nobody on your side has spoken to them yet.
  3. Confirmed appointment. Both sides agreed, usually after a call or text.
  4. Held inspection. Someone with authority over the roof was home and you inspected it.
  5. Signed job.

The $350 platform above bills at rung 2. That makes the real price the cost per rung 4, and it moves with two rates you can measure: how many soft-set appointments you manage to confirm, and how many confirmed ones turn into a held inspection. The table uses the $350 price and a 25% rate of held inspections that sign (replace it with your own).

Confirm rate x show rateShare that reach a held inspectionCost per held inspectionCost per signed job
100% x 100%100%$350$1,400
90% x 90%81%$432$1,728
80% x 80%64%$547$2,188
70% x 80%56%$625$2,500
60% x 70%42%$833$3,333

Same invoice price, a spread of $350 to $833 per held inspection. This is why the question to ask is which rung the vendor bills on and what happens to the charge when rung 3 or 4 fails. The $350 platform's sign-up page says you only pay when you issue, demo or sell its leads, and offers raw leads, soft-set or confirmed appointments, so ask which of those events your price is attached to. One vendor page carries a testimonial saying credits on appointments that do not demo are never an issue. A testimonial is not a policy, so get the credit rule written down.

A six-person roofer, one month, three deals

The firm in this example has six people. An average re-roof is $12,000 at a 30% gross margin, so $3,600 of gross profit per signed job, and 25% of held inspections sign. All of these numbers are assumptions to replace with your own. Three deals are compared over one month. Deal 2 is hypothetical: the same $350, billed one rung later. A vendor would probably price that higher, so it shows what the definition is worth, not a price on offer.

LineDeal 1: $350 per soft-set appointmentDeal 2: $350 per held inspection onlyDeal 3: retainer, 8 held a month
Delivered or billed20 appointments11.2 held inspections$1,800 plus $125 a month of setup (the $1,500 spread over a year)
Spend in the month$7,000$3,920$1,925
Held inspections11.2 (70% confirmed, then 80% held)11.28
Cost per held inspection$625$350$241
Signed jobs at 25%2.82.82.0
Cost per signed job$2,500$1,400$963
Gross profit before lead cost$10,080$10,080$7,200
Gross profit after lead cost$3,080$6,160$5,275

Deals 1 and 2 have the same $350 headline and differ by $3,080 a month in what is left, purely because of the rung they bill at. Deal 3 looks cheapest per inspection, but it rests on a volume assumption that no retainer page I read supports with a number. The retainer page gives no expected volume, and the leads still need your phone calls. If you only held four inspections from it, the same $1,925 would leave $1,675.

Where the retainer breaks even

A retainer is a fixed cost, so its cost per held inspection falls as volume rises. At $1,925 a month, counting the setup fee over a year, the figures run like this.

Held inspections a month24812
Cost per held inspection$963$481$241$160
Gross profit after lead cost (25% close, $3,600 a job)-$125$1,675$5,275$8,875

The break-even against the soft-set deal at $625 is about three held inspections a month ($1,925 divided by $625 is 3.1). Against a deal billed only on held inspections at $350 it is about five and a half ($1,925 divided by $350). In the first quarter the setup fee is not spread, so the commitment on that page's Full System is 3 x $1,800 + $1,500 = $6,900, which is $575 per held inspection if you hold four a month and $288 if you hold eight.

A data purchase has its own break-even. Suppose you list and mail 1,000 addresses at $1.79 plus $4.50 each; if the two prices stack, that is up to $6,290. To match $625 per held inspection, the mailing has to produce about ten held inspections, a 1% rate. Ask the vendor what response your area has produced, and treat an answer made of customer examples as a prompt to run a small test first.

Pay-per-lead pricing converts with the same arithmetic: the lead price, divided by the share that book, divided by the share that are held. A hypothetical $60 lead where 40% book and 80% of those are held costs $60 divided by 0.32, or $188, per held inspection. Put every source on that one measure before comparing them.

Seasonality matters for a fixed fee. In a storm month with 14 held inspections the $1,925 retainer costs $138 each. In a quiet month with three it costs $642, above the $625 soft-set price. A three-month minimum that starts in winter is a very different purchase from one that starts after hail, so ask whether you can pause or step down, and whether the minimum can be placed over the busy months.

Costs the price list leaves out

  • Your time confirming soft-set slots. Twenty appointments at six minutes of calling and texting each is two hours a month, before any voicemail tag.
  • Wasted trips. At a 70% confirm and 80% show rate, about three of every twenty billed appointments end with someone driving to a roof nobody answered the door for.
  • A CRM to receive them. The pay-per-appointment platform lists two-way sync with systems such as HubSpot and JobNimbus. If you have no CRM, price one, or accept that leads live in a spreadsheet and get lost.
  • Add-ons. Direct mail at $4.50 and ads at $0.98 per opportunity are on top of the data price.
  • Ad spend. If an agency runs ads for you, ask whether the retainer includes the media budget or just the management. The retainer page above mentions no ad spend, so the question does not arise there, but it will with others.
  • Minimum terms. A three-month minimum turns a $1,800 monthly price into a $6,900 commitment.
  • Unanswered calls. If the vendor sends leads to your phone and you miss three in ten, the best purchase may be the $99 receptionist before any more leads.

To cut the bill, ask for billing on held inspections rather than soft-set slots, a 30 to 60 day pilot with a spend cap, accounts in your own name and a credit rule in writing. If you also want leads you control, AI SEO for roofers: agency or do it yourself weighs the slower, owned alternative.

Contract terms to get in writing before you pay

A sales call can sound clear and the paperwork can say something different. This is the list to hold them to.

TermWhy it mattersA good answerA weak answer
Billable eventDecides which rung you pay atHomeowner confirmed and inspection held, defined in the contract'Qualified appointment' with no definition
CreditsNo-shows and unqualified bookings are routineA credit for any no-show, non-owner or out-of-area booking, claimable within a stated number of days'Reach out to us', or a promise to adjust targeting instead of a credit
ExclusivityA lead sold to three roofers costs you three callsNamed, exclusive to you, with the rule in the agreementA limit on how many contractors per metro, which is not the same promise
Minimum term and renewalSets how much you can lose before leavingMonth to month, or a short pilot first, with no automatic renewal at a higher priceThree to twelve months, with the setup fee paid up front
Price changesPer-appointment prices can rise mid-contractFixed for the term, with notice before any change'Rates subject to market conditions'
ReportingYou cannot audit what you cannot seeEvery lead with source, time, call recording or message threadA monthly summary chart only
Outreach in your nameComplaints about texts or calls come back to youA written account of how consent is obtained and what homeowners are toldNo answer, or 'we handle compliance'
ExitYou need your data and numbers backExport of all lead data and return of accounts within daysData held until the final invoice is paid

On paper, the billable-event row can read two ways. The first clause is the loose kind; the second is the version to ask for.

Client pays $350 for each qualified appointment delivered by the Agency.
A billable appointment is one where (a) the homeowner named on the property record is present, (b) the address is inside the service area in Schedule A, (c) the Client has confirmed the appointment in its CRM, and (d) the inspection took place within seven days of the booked time. Appointments that fail any of these are credited within five working days of the Client reporting them.

The second clause does four jobs. It names who must be present, so renters and relatives do not count. It fixes the territory. It ties billing to your own record instead of the vendor's dashboard. And it turns credits from a favour into a deadline.

On the outreach row: if a vendor emails, texts or phones homeowners on your behalf, ask how consent is gathered and whether messages say they come from an automated system. The rules differ between places and change. Take the answers to a solicitor or adviser before you sign.

Who owns the leads, the numbers and the ad accounts

Ownership is where retainers differ most from pay-per-appointment deals, and the pages rarely say. Three things need a named owner.

  • The lead data. You should be able to export every lead with name, address, source and timestamp, at any time and on exit.
  • The tracking numbers and ad accounts. If an agency runs ads and call tracking from its own accounts, the history and the numbers leave with it. Ask for accounts in your name with the agency added as a user.
  • The assets. Landing pages, forms and domains built for you. If you pay for them, they should be yours.

Compare how Google's own pay-per-lead product works. The leads land in your account, and Google's help page says invalid or low-quality leads are not charged, that charged leads can be credited automatically if later judged low quality, usually within 30 days, and that the original charge still shows on the invoice. Credits are no longer given for leads for a job type or place you do not serve. Google is also moving these campaigns into Performance Max campaigns with pay-per-lead goals in phases from August 2026, and says reports will not carry over, so export yours.

The territory language deserves care too. One retainer page says it limits the number of contractors per metro area to avoid overlap. That is a cap on competitors, which is useful, but it is not the same as every lead being exclusive to you, so ask which one you are buying.

Red flags, with the wording to look for

  • A qualified appointment or opportunity that nobody defines. Several pages I read use the word without saying what qualifies. One describes an opportunity only as a qualified, roof-verified one, which describes the data and promises nothing about the homeowner's interest.
  • A remedy that is not a credit. One retainer page says that if you are not seeing qualified leads by month two, targeting is adjusted at no extra cost. That is a fair offer of effort, but it is not a refund.
  • Cost comparisons made by the seller. A page that sets its price per opportunity against '$150 to $300 per shared lead' from lead services is quoting its own sums, and an opportunity is not a lead. Run yours.
  • Testimonials presented as statistics. A quoted contractor saying appointments sit at 94% and 44% turned into sales is one person's report, not a benchmark.
  • Return multiples with no method. One data vendor's roofing page shows a 52x return from a single customer's $2,500 spend on addresses and a mail sequence. A best case chosen by the seller is not a forecast, so unless the page shows how the return was measured, treat the number as marketing.
  • A different product behind the keyword. One page in these results sells general AI agent set-up at $4,500 plus a $2,500 monthly managed-care plan and never mentions roofing. Check that the retainer buys leads and not a project.
  • Reluctance to show raw output. Ask for ten sample records or recordings. A vendor that only shows a dashboard has not shown you the product.
  • No way to meet the agent. If the vendor's AI phones or texts homeowners, ask it to call your own mobile and to share ten real recordings before you sign. That is the nearest thing to meeting the product.

Once leads do arrive, speed decides how much of the spend is wasted. Triaging and following up storm leads covers the first hour, and AI lead generation against hiring a salesperson is the alternative to price against.

A vendor's reply, decoded

Here is a made-up reply of the kind a first enquiry can bring back. The table that follows it shows what each phrase should make you ask.

Thanks for your interest. Our AI system guarantees 20 qualified roofing appointments a month, exclusive to the areas you choose. Pricing is $350 per appointment plus a $2,500 setup fee, on a six-month term that renews automatically. Appointments are counted when our AI voice agent books them. Reporting is available in your monthly dashboard.
Phrase in the replyWhat to ask
Guarantees 20 qualified appointmentsQualified by what test, and what do I get back in a month when the number is 12?
Exclusive to the areas you chooseIs each lead exclusive to me, or is this a cap on roofers per area? Where is it written?
$2,500 setup, six-month term, automatic renewalWhat do I receive for the setup fee? Can I leave at month two? What is the renewal price and the notice period?
Counted when the AI voice agent books themThat is rung two. Do I pay when the homeowner never confirms or is not home?
Monthly dashboardCan I see every lead, recording and source each week?

Then do the sum the reply avoids. Twenty appointments at $350 for six months is $42,000, plus $2,500 setup, so $44,500. At the 56% rate to a held inspection used earlier, those 120 appointments produce about 67 held inspections, which is $662 each, and that is before a single no-show has been credited. Nothing in the reply is dishonest. It simply leaves the numbers that matter for you to find.

A 60-day pilot that caps the downside

If a vendor is willing, the cleanest way to settle the pay-per-appointment against retainer argument is a short, capped trial with the terms written before any money moves. A filled-in version, using the six-person firm's numbers, is below to adapt.

Pilot terms I propose (60 days)

Billable event: a held inspection with the homeowner present, confirmed by me in my CRM.
Price: $350 per held inspection. No setup fee during the pilot.
Spend cap: $4,200 (12 held inspections). Anything beyond needs my written approval.
Credits: no charge for no-shows, renters, out-of-area addresses or duplicates.
Reporting: weekly lead-level export with source, time and recording.
Accounts: ad accounts, tracking numbers and landing pages in my company's name.
Exclusivity: leads not sold to any other roofer in my service area; state the area.
Stop rule: if after 30 days the cost per held inspection is above $600 or fewer than
5 inspections were held, I pause billing and we review.
Exit: 7 days' notice, all lead data returned within 3 days.

At day 60, work out three numbers for each source you tried: cost per held inspection, cost per signed job, and gross profit after lead cost. Put them beside your best existing source, usually referrals or your own search listing. If the paid source does not beat your next-best marginal channel by enough to cover your own follow-up time, stay with the channel you already have and fix the answering first. The Roofr AI Receptionist review looks at that cheaper first step.

Questions roofers ask before signing a lead deal

Is pay-per-appointment cheaper than a retainer?

It depends on what counts as an appointment and how many inspections you actually hold. At $350 billed when a homeowner books a tentative time, a 56% confirm-and-show rate makes each held inspection cost $625. A $1,925-a-month retainer is cheaper per held inspection above about three a month, if the retainer really produces them.

What is a soft-set appointment?

It is a tentative slot the homeowner picks themselves. In one platform's own wording, it is not officially confirmed until your team has reached out to confirm. Ask whether you are billed at that stage or only once the homeowner has confirmed or the inspection has been held.

Who should own the ad accounts and phone numbers?

You should. If an agency runs ads and call tracking from its own accounts, the history, the tracking numbers and the audience data leave with it when you stop paying. Ask for accounts in your name with the agency added as a user, and get that written into the agreement.

Can I test a lead deal before committing to a minimum term?

Ask for a 30 to 60 day pilot with a spend cap, a stated billable event and a stop rule. One retainer page I read sets a three-month minimum on its full package, so the pilot has to be agreed before you sign, not after you have paid the setup fee.

Further reads

Sources: vendor and platform pages read in October 2026: Contractor Appointments (home page and pay-per-appointment help article), Sold By Agents, Reworked.ai (home, roofing and pricing pages), Roofr AI Receptionist, and Google's Local Services Ads help pages on lead credits and the move to Performance Max. Vendors are named as published price points, not recommendations. Conversion rates and job values in the examples are illustrative.

Want a lead deal checked before you sign?

On a 1:1 call we'll go through your current enquiries and follow-up, work out your own cost per held inspection, and decide whether a paid lead source or a better answering process comes first.

Book a 1:1 call with me