Free calculator

    Cost per lead calculator
    Which source is actually paying for itself?

    Enter spend, leads, and booked jobs for each of your lead sources. The table ranks them by cost per booked job, which is the number that should decide next month's budget.

    Your sources (last 30 days)

    $
    $
    $
    $
    $
    $
    $
    $

    Use the lead count from wherever the lead first appeared (calls, forms, messages), not just the ones that booked. Spend is $0 for referrals and organic sources; the calculator handles that.

    Ranked by cost per booked job

    Lower is better. A source with a cheap cost per lead but a terrible close rate will fall to the bottom here.

    SourceCost / leadClose rateCost / booked jobFirst-job revenueROAS
    ReferralsFree70%Free$1,680
    Google Local Services$30.0040%$75.00$2,6402.9×
    Facebook / Instagram$17.1411%$150.00$7201.2×
    Google Ads$37.5020%$187.50$1,6801.1×
    All sources$26.0927%$96.77$6,7202.2×

    Cost per lead is the number everyone tracks and almost nobody should optimize

    Lead platforms love to report cost per lead because it is the number they look best on. A broad Facebook campaign can produce $15 leads all day. The problem is that a lead is not a customer. If those $15 leads close at 8%, each booked job cost you $187, and the customer who booked wanted a one-time move-out clean at a discount.

    The two numbers that should set your budget

    Cost per booked job is spend divided by jobs that actually happened. It combines price and quality in a single figure. Return on ad spend puts that against revenue. A source with a 3× first-job ROAS is fine. A source with a 1× first-job ROAS is only fine if those customers become recurring clients, which is exactly what you should check next with the client lifetime value calculator.

    Where the data usually falls apart

    Spend is easy: it is on your card statement. Booked jobs are easy: they are in BookingKoala. The missing piece is almost always the lead count, because leads that did not book are not in your booking software at all. They are in your phone log, your form notifications, and your Google Local Services dashboard. If you only count the ones that booked, every source looks like it closes at 100% and this whole exercise is meaningless.

    Make this a habit, not a project

    The owners who get this right do not run the calculation once. They put a source on every lead as it comes in, and they look at cost per booked job by source every month. CleaningInsytes tracks leads by source from the moment they arrive, pulls Google Local Services leads in automatically, and puts spend from your bank next to the revenue those leads produced. This calculator is the manual version of that report. Read where your cleaning leads actually come from for the patterns that show up once you start tracking.

    Common questions

    What is a good cost per lead for a cleaning business?

    For residential cleaning, paid leads commonly cost $20 to $60 each from Google Local Services and $30 to $90 from Google Ads. But cost per lead is the wrong number to optimize. A $25 lead that never books is worse than a $60 lead that closes half the time. Judge sources on cost per booked job and on what those customers are worth.

    How do I calculate cost per acquisition for a cleaning company?

    Divide what you spent on a source by the number of jobs that source actually produced. If you spent $900 on Google Local Services and booked 12 first cleans, your cost per booked job is $75. Compare that to the first-job revenue and, better, to the lifetime value of a recurring client.

    What close rate should I expect from cleaning leads?

    It varies enormously by source. Referrals often close above 60%. Google Local Services leads, where the customer called you directly, frequently close 30–45%. Form fills from broad social ads can close under 10%. If you are not tracking close rate by source, you are almost certainly overspending on the worst one.

    Why does my booking software not tell me this?

    Booking software records the job once it is booked. The spend lives in Google, Meta, or Yelp, and the leads that never booked often live nowhere at all. Cost per lead by source only exists when someone puts all three next to each other, which is what CleaningInsytes does automatically.

    Know this by source, every month, automatically

    Source on every lead, spend from your bank, revenue from your bookings. One report.