What B2B lead generation actually costs in South Africa
Nobody publishes a price, so the question gets answered in sales calls where the answer is shaped by what you seem willing to pay. This page sets out the four models you will be quoted under, what genuinely moves the number, and the one comparison that tells you whether any of it is worth doing.
Why nobody publishes a number
Search for this and you will find listicles of agencies and almost no prices. Part of that is legitimate: 'B2B lead generation' describes a data export and a fully managed sales function equally well, and those are not the same purchase.
The rest is less legitimate. Where price is set in the room, it is set partly by what the buyer appears able to pay, and the absence of a public anchor is what makes that possible.
You cannot fix that by demanding a number before scope exists. You can fix it by knowing which model you are being sold, what should drive the price within that model, and what the number needs to be beaten by to be worth paying at all.
The four models you will be quoted under
Almost every proposal you receive is one of these, or a blend. The differences matter more than the headline figure, because they determine who carries the risk when it does not work.
- Per-record data: you buy contacts. Cheapest per unit and the least useful — a list is not a pipeline, and bought data is stale and generic enough to damage your sending domain.
- Monthly retainer: a fixed fee for a defined scope of activity. Predictable, and the risk sits with you — you pay the same whether the sequences work or not.
- Per-lead or per-meeting: you pay on delivery. Risk appears to shift to the supplier, but the incentive becomes volume of meetings, so qualification must be defined in the contract or you buy a full diary and an empty pipeline.
- Performance-based: commercials tied to outcomes further down the funnel. Hardest to structure honestly because it needs agreed definitions and shared visibility, and the strongest alignment when it is done properly.
What actually drives the number
Within any model, the price should move on things that genuinely change the work. If a quote does not move when these do, it was not calculated from your business.
Deal size is the first, and it sets the ceiling on what any of this can rationally cost. ICP complexity is the second — a list of 80 named accounts with three buying roles each is a different research job to a broad SME segment. Whether a CRM already exists and is trusted is the third, because building the diagnostic layer from nothing is real work that retainers often hide.
The fourth is whether you have reps. Running outbound into a team that can handle the replies is a different engagement to running it into a business with nobody to receive a booked meeting, and pricing that ignores the distinction is pricing that has not read your situation.
The comparison almost nobody runs
The instinctive benchmark is an SDR's salary against an agency retainer, and it is misleading because it compares one cost to four.
The full cost of the in-house function is the salary, plus the tooling stack, plus the manager time to run and coach the person, plus three to six months of ramp during which output sits well below steady state. Sales development also has high turnover — so there is a real probability of paying the ramp cost twice inside a year.
None of that makes hiring wrong. It makes hiring wrong at the wrong moment. Hire when you already know the ICP, have a message that converts, and have someone who has personally run the motion and can coach it — then you are buying execution capacity, which is what a rep is. Hire before that and you are paying someone to invent a strategy during their ramp.
Convert everything to cost per qualified opportunity
Monthly cost is not comparable across models. Cost per qualified opportunity is, and the discipline of calculating it kills most bad proposals without an argument.
Write the qualification standard down before you sign anything — what makes an opportunity real, in specific terms your own team would apply the same way. Then take the total monthly cost, including your team's time, and divide by the number of opportunities that meet that standard. Do it for the agency quote and for the in-house option over twelve months, not three, so ramp is included where it belongs.
Then hold it against deal size and close rate. If the cost per opportunity cannot clear the value of a closed deal at your actual close rate, the engagement does not work at any level of execution quality — and that is worth discovering on a spreadsheet rather than two quarters in.
Questions worth asking any supplier
The answers to these separate a priced engagement from a negotiating position quickly.
- What do you need to know about my business before you can quote, and why does each one change the price?
- What is your definition of a qualified opportunity, and is it in the contract?
- Who owns the CRM, the sequences and the target account list when the engagement ends?
- What happens to the price if the sequences underperform — does anything change for you?
- Are no-shows and unqualified meetings billable?
- What do you need from my team, and what breaks if we do not provide it?
Common questions
How much does B2B lead generation cost in South Africa?
There is no single number, because the term covers everything from a data supplier exporting a contact list to a managed team running your entire top of funnel. In practice South African buyers encounter a spread from a few thousand rand a month for list building to six figures a month for a fully managed function. The number only becomes meaningful once you convert it to cost per qualified opportunity, which is the figure this page argues you should be comparing.
What is a good cost per lead in South Africa?
Cost per lead is the wrong denominator, and it is cheap to game — a supplier can halve it by loosening the definition of a lead. Cost per qualified opportunity, measured against a qualification standard you wrote down in advance, is the number that survives scrutiny. What counts as good depends entirely on your deal size: a business with a R40,000 average contract and one with a R2m contract can rationally pay very different amounts for the same conversation.
Is a per-lead or per-meeting model cheaper?
It looks cheaper because the risk appears to sit with the supplier, and sometimes it genuinely is the right structure. The failure mode is that it pays for volume of meetings rather than quality of them, so the incentive is to book anyone who will accept an invitation. If you use this model, define qualification in the contract and count no-shows and unqualified meetings as non-billable, or you will pay for a full diary and an empty pipeline.
Is it cheaper to hire an SDR than use an agency?
Comparing an SDR's salary to an agency retainer is the most common costing mistake, because it omits three real costs: tooling, the manager time to run the person, and three to six months of ramp at below steady-state output. Add those and the gap narrows sharply. The honest comparison is total cost of the function over twelve months, including the risk that the rep leaves before month twelve and the ramp cost is paid again.
Why will an agency not quote a price up front?
Sometimes because the price depends on scope that has not been established yet, which is legitimate. Sometimes because the price depends on what they think you will pay, which is not. The way to tell the difference is to ask what specifically they need to know before quoting. A real answer names variables — deal size, ICP complexity, whether a CRM exists, whether you have reps. A vague one is a negotiating position.
What does Peak charge?
Peak is performance-based, so the structure is set against outcomes rather than quoted as a flat monthly rate before anyone has looked at your business. The scoping conversation establishes deal size, ICP, existing infrastructure and team, and the commercial terms follow from that. We would rather tell you the engagement is wrong for your economics than sell you a retainer that cannot pay for itself.

