1. Your lead log
Needs a Date, a Source (or Platform) and a Lead Cost (or Cost; use 0 for referrals and repeat customers), plus either a Status column (won, booked, lost, open, spam, wrong number, duplicate …) or a Job Value column. Used when present: Service, Refund or Credit, and a Lead ID or customer name (to spot repeat charges). Comma, tab and semicolon files, quoted fields, US and day-first dates and UTF-16 exports are read. Rows that cannot be read are listed with a line number and reason.
Choose a file or paste the text, then click Analyze.
Result
By source
| Source | Leads | Spend | Cost / lead | Booked | Close rate | Cost / booked job | Job value | Avg job | Break-even close | Profit |
|---|
By service
| Service | Leads | Spend | Cost / lead | Booked | Close rate | Cost / booked job | Job value | Avg job | Break-even close | Profit |
|---|
By month
| Month | Leads | Spend | Cost / lead | Booked | Close rate | Cost / booked job | Job value | Avg job | Break-even close | Profit |
|---|
The model, and what it leaves out
- Spend is the lead cost minus any refund or credit in the file. Cost per booked job is a source's spend divided by the jobs it won, counting every lead that went nowhere.
- Won comes from the Status column (won, booked, hired, scheduled, completed, paid …) or, with no Status column, from a job value above zero. Status words are matched loosely; a status the tool does not recognise is treated as open.
- Profit is the job value you booked times the job margin you typed, minus spend. The default of 35% is a placeholder, not a measurement; use your own. Your time, travel, warranty work and overhead are not in it.
- Break-even close rate is cost per lead divided by average job value times margin: the share of leads that must become jobs for the average job to repay a lead.
- Reconciles. The source rows, the service rows and the month rows each add up to the totals at the top.
- Named sources need at least five leads. A source with fewer is shown but never called a loser, and a cost per booked job compared across sources needs at least two jobs won.
- Open leads have no outcome yet, so recent months look worse than they will turn out to be.
- Not modelled: repeat business a lead turns into later, lifetime value, seasonality, how fast you called back, each platform's own refund rules, taxes, and anything not in the file.
Common questions
Which of my lead sources actually make money?
Copy your leads from each platform (Thumbtack, Angi, HomeAdvisor, Google Local Services, Yelp, Facebook) and your own referrals into one sheet with a date, a source, what the lead cost and whether it became a job, then drop it here. The tool divides each source's spend by the jobs it brought to get cost per booked job, compares the job value you booked against what you paid for leads, and names the sources that lose money once your margin is taken off. Nothing is uploaded; the file is read in your browser.
Why is cost per booked job better than cost per lead?
A cheap lead that never answers the phone costs more than an expensive one that books. Cost per booked job is total spend on a source divided by the jobs it won, so the leads that went nowhere are counted against it. It is the number that compares a $25 lead you close one time in ten with a $60 lead you close one time in three.
What is the break-even close rate?
It is the share of leads you must turn into jobs for the average job to repay what a lead costs: cost per lead divided by average job value times your margin. If you close less than that on a source, each job it brings leaves you behind on that source, before you count your own time.
Can I get a refund for bad leads?
Many platforms credit some spam, wrong-number, duplicate or out-of-area leads if you report them in time. Which ones, and how long you have, is each platform's own policy and is not modelled here. The tool lists the leads you marked that way that were charged and not credited so you know what is worth checking.
Which columns does the file need?
A date, a source and a lead cost, plus either a Status column (won, lost, open, spam and so on) or a Job Value column. A Service column, a Refund or Credit column and a lead or customer name are used when present. Column names are matched by alias; if a row cannot be read the page lists it with its line number and reason.
Is this financial advice?
No. It applies arithmetic to the file you supply and a job margin you type, which is an assumption and not a measurement. It is independent of every lead platform named on this page and is not affiliated with or endorsed by any of them.