You have a client who wants leads, and you have no idea what to charge. Quote too low and you burn weekends for pocket money. Quote too high without a reason and they go quiet. The fix is not a magic number. It is a short process you can run this afternoon.
Step 1: Decide exactly what you are selling
"Lead generation" means three very different things, and each deserves a different price:
- Lead lists. You deliver a spreadsheet of businesses that match a brief, for example roofers in three cities with a website and a public email.
- Lists plus outreach. You find the leads, write the emails, send the campaign and pass on replies.
- Booked conversations. You do all of the above and only count it as a result when a prospect agrees to a call.
Write one sentence that says which one you offer and what the client receives at the end of each month. If you cannot write that sentence, you cannot price it, and the client cannot judge whether you delivered.
Step 2: Add up your real costs
Open a sheet and list every cost for one typical client for one month:
- Data and tools. Scraping, email verification, sending. With credit-based tools, estimate how many credits one client's volume uses. Check current costs on the plans and credits page or your own tool's pricing.
- Sending infrastructure. Extra domains and mailboxes so you protect your main domain. Our guide on how to use a secondary domain for outreach explains why this matters.
- Your time. Building the list, cleaning it, writing copy, setting up follow-ups, reading replies, reporting. Track it honestly for one client before guessing.
Multiply your hours by the hourly rate you want, not the one you think clients will accept. Add tool costs. That total is your floor. Never quote below it.
Step 3: Pick a pricing model that matches the work
| Model | Works best for | Main risk |
|---|---|---|
| Per lead | Lead lists with a clear definition | Arguments about what counts as a valid lead |
| Monthly retainer | Ongoing lists plus outreach | Client feels they pay whether or not it works |
| Per booked meeting | Experienced sellers with proven campaigns | You carry all the risk if the offer is weak |
| Setup fee plus retainer | Most new agencies | Needs a clear scope to justify the setup |
A sensible starting point for most freelancers is a setup fee plus a monthly retainer. The setup fee pays for the work that happens once: targeting, domains, warm-up, copy and the first list. The retainer covers ongoing list building, sending and reply handling.
Pay-per-meeting looks attractive because clients love it, but you do not control the client's offer, their reviews or how fast they answer. Only take that risk once you have run campaigns in that niche and know roughly what to expect.
Step 4: Define a valid lead in writing
This single step prevents most pricing disputes. For a per-lead or list service, agree on what each row must contain. For example:
- Business name, category, city and phone
- A working website
- At least one email that passed verification
- Owner name where it is publicly available
Then agree what does not count: duplicates, closed businesses, emails that bounce. Offer to replace those free. Running verification before delivery keeps replacements rare. If you build lists from Google Maps, our roundup of the best Google Maps scrapers compares what each tool returns per lead.
Step 5: Anchor the price to the client's value
Your cost sets the floor. The client's numbers set the ceiling. Ask two questions on the sales call:
- What is one new customer worth to you over a year?
- Roughly how many of the people you talk to become customers?
A solar installer with large job values can justify a much bigger retainer than a salon with smaller tickets, even if the work is similar. Our pages for solar installers and salons show how different those niches are.
A rule of thumb, not a law: if your monthly fee is a small fraction of what one or two new customers are worth to the client, the price is easy to say yes to. If it costs more than they expect to earn back, lower the scope, not just the price.
Step 6: Build three packages and send the quote
Clients compare more easily than they evaluate. Offer three tiers that differ by volume and service, not by vague extras:
- Starter: one city or niche, a monthly verified list, no outreach.
- Growth: several cities, list plus a campaign with follow-ups that adapt to opens and clicks (see conditional email branching), replies forwarded weekly.
- Full service: everything above, plus reply handling and a monthly report.
Put your floor price under Starter and price the other two from the value conversation. Write each tier as deliverables per month so the client knows what they get.
If you send outreach on a client's behalf, include compliance in the scope: a working unsubscribe link and a sender address, in line with rules such as CAN-SPAM. Rules differ by country, so check what applies to you and to your client's recipients. This is not legal advice.
Step 7: Protect your margin as you grow
Your time per client should drop after the first month. Reuse targeting, templates and follow-up flows. Batch list building on a fixed day; a weekly prospecting plan helps. Keeping the list, verification and campaign in one tool, as GetClient does, also removes the export and import steps between a scraper, verifier and sender, which is time you otherwise bill or lose.
Review your prices every few months. If you are always busy and nobody pushes back, your prices are probably low.