Short answer: Cost per lead equals your true total monthly SEO cost — including your own time — divided by qualified leads: real homeowners with a need for a service you sell and a way to reach them. Exclude spam, wrong numbers, and out-of-area tire-kickers from the count. Tracked honestly, local SEO's cost per lead falls over time as rankings compound.
Your agency sends you a report full of rankings. Your accountant sends you a report full of expenses. Neither one answers the question you actually asked: is this marketing worth what I pay for it? Cost per lead is the one number that answers it. Total cost divided by real leads. That is the whole formula, and somehow most contractors get it wrong in both directions, undercounting the cost and overcounting the leads.
This guide is the full worksheet, built for home-service trades. You will define what a lead actually is in your business, add up what you really spend (including your own time), run the math on a labeled example, and learn why this number gets better with age while every other channel gets more expensive. No borrowed benchmarks presented as facts. Your numbers, computed honestly.
Before you divide anything, decide what a lead is, because the denominator is where CPL gets rigged. A qualified lead for a contractor has three traits: a real homeowner, a need for a service you actually sell, and a way to reach them. That is it. A spam call about your expiring car warranty is not a lead. A wrong number is not a lead. A tire-kicker asking you to quote a job three towns outside your service area is not a lead.
Trade shapes the definition. An emergency plumber counts a call that books a dispatch. A roofer counts a booked estimate, because a ten-minute call that never becomes an inspection is not revenue yet. An HVAC shop in July counts a service call; in October it counts a system-replacement estimate. Write your definition down and hold it constant, because a CPL computed with a shifting definition is a fiction.
Google's own Business Profile performance documentation distinguishes between calls, bookings, and other customer actions for a reason. Mirror that discipline: track total calls separately from qualified leads, and let CPL use only the qualified number.
Now the numerator, where the other lie lives. Your true monthly SEO cost is everything you spend to get organic leads, not just the retainer. Add these lines:
Search Engine Journal's local SEO guide is a useful inventory of the work you are paying for (or doing yourself): profile optimization, citations, reviews, content, links. Every item on that list is a cost line or a time line. Count them all.
The formula is one line:
Cost per lead = total monthly SEO cost ÷ qualified leads from organic search that month
Here is a worked example. These are labeled hypothetical numbers, not data from a real client, to show how the math moves:
Change the lead count to 20 and CPL drops to $89. Change the retainer to $2,500 and it climbs to $221. That sensitivity is the point: CPL is a live management number, not a trophy. Run it monthly, with the same definition, and watch the trend line.
Two different CPL numbers answer two different questions. Blended CPL is your whole marketing spend divided by all qualified leads: the health metric of your entire operation. Marginal CPL is what one more dollar buys: if you add $500 to the retainer, how many extra leads does it produce? That is the budget decision metric.
A healthy blended CPL with a terrible marginal CPL means your base marketing works but you have hit diminishing returns on the next dollar. A rising blended CPL with a good marginal CPL means the channel is fine but the mix needs rebalancing. Most contractors only ever compute one of these and then wonder why their budget meetings go in circles. Compute both.
Plumbing CPL and roofing CPL are barely the same species, and anyone who hands you one number for all trades is selling something. Emergency trades (plumbing, HVAC service, electrical) generate high-intent calls with short decision windows, so lead volume comes easier but job values swing. Planned-job trades (roofing, remodeling, solar) produce fewer, slower leads at much higher average ticket, so a $300 CPL can be spectacular if it closes a $14,000 replacement.
This is why CPL must always be read next to revenue per lead. A drain-cleaning lead at $60 CPL on a $189 ticket is a different business than a roof-replacement lead at $250 CPL on a $12,000 ticket, and the second one is usually the better marketing. If your report shows CPL without average job value, you are reading half a sentence.
Local SEO is the rare marketing channel where cost per lead falls over time. Rankings, reviews, and citations stack while the spend stays flat, so month twelve routinely produces more leads than month three at the same cost.
Here is the structural reason local SEO wins the long game. Every month of good SEO adds durable assets: reviews that keep converting, citations that keep counting, pages that keep ranking. The work accumulates while the cost stays roughly flat. So leads go up and CPL goes down, without spending more.
Paid search works the opposite way. You rent attention at auction, and auctions in home services get more crowded every year, so the same budget buys fewer clicks over time. Our SEO vs Google Ads breakdown walks through the mechanics. The short version: ads are a faucet, SEO is a well. In months one to three the faucet looks better, because SEO CPL starts high while rankings ramp. By months six to twelve, the well usually takes the lead, and it keeps pulling away.
This is also why quitting SEO at month four is the most expensive decision in local marketing. You paid the ramp-up cost and walked away right before the compounding started paying you back.
CPL only means something in comparison, so line up every channel with the same honest math:
Run the same worksheet for each, with the same qualified-lead definition. Most contractors discover their "cheap" channel is expensive and their "expensive" channel is compounding. That discovery is worth more than any single report.
A new CPL problem arrived in the last year: leads from AI assistants are invisible in analytics. When a homeowner asks ChatGPT for a plumber and calls you, no source records it. The call shows up as direct or unknown, and your CPL math quietly omits both the lead and its true cost.
The fix is low-tech: add an "AI assistant" option to your "how did you hear about us" intake question, and train whoever answers the phones to actually ask it. Tag those leads in your log. Our AEO and LLM optimization service exists because this channel is only growing, and the contractors who measure it first will be the ones who know what it is worth.
Know these before anyone pitches you with a CPL number:
There is no universal number, which is exactly why you compute your own. Mature local SEO typically produces a lower cost per lead than Google Ads in the same market, because organic CPL compounds down while ad CPL climbs. What matters is your trend: this quarter's CPL should beat last quarter's.
No. Your cost per lead uses qualified leads only: real homeowners who asked about a service you sell. Track total calls separately, because spam and wrong numbers inflate the denominator and lie to you. A call that was never a buyer is a tracking number, not a lead.
Yes, valued at your billable rate. Ten hours a month of your time at a $150 shop rate is $1,500 of real cost, and leaving it out is how DIY gets called free. Count it honestly, then compare that number to a retainer. Sometimes hiring is the cheaper option.
Expect SEO CPL to start high in months one to three while leads ramp, then fall as rankings and reviews compound. By month six to twelve, mature local SEO commonly produces leads cheaper than paid search in the same market. Track it monthly and let the curve tell you when you have won.
Add an AI assistant option to your how did you hear about us intake question and tag it in your lead log. Analytics cannot see AI-sourced calls, so without the intake tag those leads get recorded as zero cost by omission. A tagged AI lead has a real CPL; an untagged one just looks free.
Profile, Maps rankings, citations, reviews, competitors, plus whether AI assistants recommend you. A prioritized action plan, free, no pitch.
Delivered within 48 hours. Yours to keep.