How to build a lead gen agency in 2026: client onboarding, infrastructure setup, reporting systems, and pricing structure for a scalable outbound agency operation.
James Whitfield
Lead gen agency owner, 50+ campaigns/month · Updated June 24, 2026
Last updated: June 2026 · James Whitfield, lead gen agency owner, 50+ campaigns/month
TL;DR — 7 things to know before reading
Most "how to start a lead gen agency" content covers how to find clients and how to pitch. This guide covers the operational system that makes the agency work once clients are signed. Getting clients is a marketing problem; keeping clients is an operations problem.
The unique angle of this guide is agency operations: the internal systems that determine whether 1 client becomes 10 or whether the agency collapses under the weight of poorly isolated infrastructure, inconsistent reporting, and ad hoc onboarding that produces unpredictable results.
The agency operations system has four components: onboarding (understand the ICP and the offer deeply enough to build a high-performing campaign), infrastructure (per-client domain and inbox isolation that protects client deliverability), execution (outreach campaigns managed consistently to benchmark), and reporting (monthly reviews that demonstrate value and provide the data needed to improve campaigns).
Client onboarding is the process that converts a signed contract into a configured, validated outreach campaign. The quality of the onboarding determines the quality of the first campaign — and the first campaign determines whether the client renews.
Every new client completes a structured onboarding questionnaire before any infrastructure or copy work begins. The questionnaire covers:
ICP definition:
Offer and positioning:
Proof and evidence:
Campaign parameters:
After reviewing the questionnaire, conduct a 30-minute ICP validation call with the client. The purpose is to test the ICP definition against actual customer evidence. Ask the client to describe the top 3 customers in detail: their title, company size, industry, what problem they had, and what triggered them to evaluate a solution.
The ICP definition from the call should match the questionnaire. If it doesn't, use the call to refine it. The call output should be a 1-page ICP document that both the agency and the client sign off on before any copy is written.
| Week | Deliverable |
|---|---|
| Week 1 | Questionnaire completed, ICP validation call held, ICP document signed off |
| Week 1–2 | Cold email domains purchased, Inframail inboxes provisioned, warmup started |
| Week 2 | Email sequences drafted (3 versions per ICP segment), client review and approval |
| Week 3 | Contact list sourced from Quarvio, validated, imported to Instantly |
| Week 3–4 | Campaign launched at 20–30 sends/inbox/day (warmup ramp) |
| Week 4 | First performance data reviewed, copy optimised based on open rate and reply rate |
Every client must have their own dedicated cold email domains and their own dedicated Inframail inboxes. Never share domains or inboxes between clients.
Why this is non-negotiable: if Client A's campaign generates spam complaints (because their offer is less resonant with their ICP, or because a batch of bad contacts was imported), those spam complaints damage the domain reputation of the shared infrastructure. Client B's campaign, which is performing well, will see deliverability decline because their emails are now being sent from damaged infrastructure.
Infrastructure isolation means Client A's domain problems can never affect Client B's deliverability.
| Target meetings/month | Domains | Inboxes (3/domain) | Daily send capacity |
|---|---|---|---|
| 5–10 | 2 | 6 | 240/day |
| 10–20 | 3 | 9 | 360/day |
| 20–30 | 4 | 12 | 480/day |
| 30+ | 6 | 18 | 720/day |
Use a consistent naming convention for client domains so infrastructure can be identified by client at a glance:
[client-identifier]-outreach.io or [client-identifier]-growth.io
Example for a client called "Acme Corp": acme-growth.io, acme-outreach.io, acme-sales.io
The client identifier in the domain is internal notation; it does not appear in the email "From" name (which shows the rep's name and company).
For agencies managing multiple clients, Instantly's agency features allow sub-workspaces per client. This provides: client-specific inbox groups, client-specific campaigns and contact lists, client-specific analytics reporting, and the ability to generate per-client reports without mixing data across clients.
Alternatively, some agencies run separate Instantly accounts per client. This is cleaner from a data separation standpoint but increases subscription cost. The sub-workspace approach is recommended for agencies with 5+ clients to keep costs manageable.
Each client typically has 2–4 active campaigns running simultaneously, covering:
Step 1: Write 3 Email 1 variants
Based on the ICP document from onboarding, write 3 versions of Email 1. Each version should use a different opening angle:
Run all 3 variants in the first campaign (A/B/C split in Instantly). After 200+ sends per variant, identify the best-performing variant for subsequent campaigns.
Step 2: Write Email 2, 3, and 4 based on the winning Email 1 angle
Do not write the full sequence until the Email 1 angle is validated. The Email 2 and 3 should extend the argument from Email 1, not introduce a different angle.
Step 3: Write the LinkedIn connection note
The LinkedIn connection note should be brief (under 200 characters), non-commercial, and reference the email: "Sent you a note about [topic] earlier this week — dropping a connection here in case that works better."
Step 4: Client review and approval
All copy must be approved by the client before the campaign launches. The approval process: agency sends a Google Doc with all sequence steps and the LinkedIn note. Client reviews and approves within 48 hours. Changes are incorporated and the document is re-approved. Campaign does not launch until written approval is received.
Quarvio contact packages for agency clients:
Monthly contact sourcing cadence:
Quarvio packages for agencies:
Agency pro tip: Order contact data for 60–90 days of campaign supply when onboarding a new client. Having 90 days of contact supply prevents campaign gaps when the client's first campaign performs well and needs to be scaled quickly. Credits are valid for 12 months, so ordering ahead does not create waste.
Client reporting is the mechanism that demonstrates agency value and provides the data needed to improve campaigns. Agencies that deliver clear, attributable, consistent reports retain clients significantly longer than agencies with ad hoc or vague reporting.
Each client receives a monthly report covering:
Performance summary:
Campaign analysis:
Quality metrics:
Next month plan:
Deliver reports by the 5th of the following month. Use a consistent template — clients should be able to compare this month's report to last month's report at a glance. Include a 30-minute monthly review call where the report is presented and questions are answered.
Clients renew when they can see that the agency is generating a positive return. Three metrics determine renewal decision:
Calculate cost per meeting for each client monthly: (Monthly retainer + contact data cost for the month) ÷ meetings booked = cost per meeting. Show this in the report. A client paying $3,000/month retainer + $400 contact data cost and receiving 30 meetings is paying $113/meeting. If their ACV is $15,000, that is a positive ROI even with a 10% meeting-to-close rate.
The retainer model charges a fixed monthly fee that covers campaign management, contact sourcing (or contact sourcing fees passed through), reporting, and the monthly review call.
Retainer pricing tiers:
| Client size | Monthly target meetings | Monthly retainer | Contact data (pass-through) |
|---|---|---|---|
| Starter | 10–15/month | $2,000–$2,500 | $150–$200 |
| Growth | 15–25/month | $2,500–$3,500 | $200–$300 |
| Scale | 25–40/month | $3,500–$5,000 | $300–$500 |
| Enterprise | 40+/month | $5,000+ | $500+ |
Contact data (Quarvio) is typically passed through to the client at cost or with a small agency markup. This keeps the retainer focused on agency labour and campaign management, not variable costs.
Some agencies charge per meeting booked ($150–$300 per meeting). This model has one advantage (lower upfront risk for the client) and several disadvantages for the agency: (1) meeting quality is not in the agency's control (the client's closers determine whether meetings convert), (2) payment timing is delayed (meetings happen in the middle of the month, payment calculations take time), (3) definition disputes ("that meeting didn't have the right job title" or "they cancelled before showing").
The retainer model eliminates all three disadvantages and better reflects the agency's actual work: building and managing an outbound system, not just booking individual meetings.
| Component | Setting | Value |
|---|---|---|
| Domains per client | Minimum | 2 (for 5–10 meetings/month) |
| Inboxes per client | Minimum | 6 (3 per domain) |
| Warmup period (new client setup) | Weeks | 2–4 weeks before production |
| Contact volume sourcing (monthly) | Per client | Based on meeting target × 6 (sends/meeting ratio) |
| Campaigns per client (active) | Minimum | 2–3 simultaneously |
| Sequence length | Steps | 4 (3 substantive + 1 break-up) |
| Reporting delivery | Timing | By the 5th of the following month |
| Monthly review call | Frequency | Monthly (30 minutes) |
| LinkedIn (Aimfox) | Per client | 1 account per client contact list |
The first client's infrastructure setup (domain naming, inbox configuration, Instantly workspace setup, Postmaster setup) takes 3–4 hours. Document it as a repeatable checklist with exact steps. By the third client, the infrastructure setup should take under 1 hour because the template is complete and the process is muscle memory. A well-documented infrastructure template is the difference between an agency that can scale to 10 clients and one that collapses at 4.
As the agency works with multiple clients in adjacent industries (e.g., SaaS companies with similar ICPs), the best Email 1 angles and offer framings become reusable patterns. Maintain a private library of validated email copy patterns indexed by: industry, job title, problem type, and proof type. New client copy can be built from proven patterns rather than from scratch, reducing copy writing time and improving first-campaign performance.
For every new client, run the first 30 days at 50% of planned send volume. This "kickoff" period has three purposes: (1) verify that the ICP definition produces relevant contacts in the Quarvio sourcing, (2) test the Email 1 angles against real replies, (3) allow the infrastructure to warm up before production send volume. The kickoff period is the validation gate before committing to full campaign volume. Clients understand this when it is explained as "the period where we validate your ICP and sequence before scaling."
For each active client campaign, score five metrics weekly on a red/yellow/green basis: bounce rate (green: under 2%), open rate (green: 25%+), reply rate (green: 8%+), positive reply rate (green: 40%+), meetings booked (green: on track for monthly target). Any red metric triggers an investigation and fix plan before the next week's review. The scorecard keeps campaign health visible across all clients without requiring deep analysis of every campaign's analytics dashboard weekly.
Lead gen agency clients who get consistent results (15+ meetings/month, clear pipeline attribution) become natural referral sources. Build a formal referral programme: offer clients a credit (contact data package or retainer discount) for each referred client who signs. Frame the referral ask as: "We're growing the agency and would love to work with companies like [client's company]. If you know anyone who would benefit from this kind of outreach, we'd really appreciate the introduction." Agency growth through referrals produces clients who start with higher trust, lower churn, and lower acquisition cost than outbound-acquired clients.
Symptom: First campaign for a new client has run for 3 weeks with 500+ sends and reply rate is below 5%.
Cause 1: The ICP definition from onboarding does not reflect the actual buyer profile. The client described their ideal customer but that description does not match the contacts producing replies. Cause 2: The offer positioning is too generic for the ICP.
Fix: Pull the Unibox reply distribution: are the few replies coming from the ICP profile or from people outside it? Review the top 3 positive replies — do those contacts match the signed-off ICP document? If the positive replies are outside the ICP, the ICP definition needs refining. Schedule an emergency ICP alignment call with the client before week 4 of the campaign.
Symptom: Client's Postmaster domain reputation dropped to "Low" two weeks into the production campaign.
Cause: Either too-aggressive ramp-up (sent at full volume before sufficient warmup), or the contact list contained a higher-than-expected proportion of catch-all or invalid emails that generated bounce and complaint signals.
Fix: Pause production sends for the client immediately. Switch all inboxes back to warmup-only mode. Check MXToolbox for blacklist status on the client's domains. Increase warmup duration to 6 weeks before resuming production. Review the contact list quality: if catch-all domain contacts represent more than 15% of the list, separate them into a low-volume sub-campaign for the recovery period.
Symptom: The client wants to scale from 15 to 30 meetings/month, but the Quarvio contact supply for the current ICP definition is nearly exhausted.
Cause: The ICP definition is too narrow for the increased meeting target.
Fix: Expand the ICP definition along one dimension (additional job title, additional industry vertical, or slightly larger company size range). Source an expanded Quarvio contact list for the expanded ICP. Write a new Email 1 variant for the expanded ICP segment. Run the expanded ICP in a separate campaign to test performance before merging with the core ICP campaign.
Symptom: Client with 3 months of consistent results wants to switch from a monthly retainer to a pay-per-lead model, claiming it is "fairer for both sides."
Cause: The client is attempting to shift cost risk to the agency after the agency has proven it can deliver.
Fix: Decline the switch to pay-per-lead. Explain that the retainer covers the labour of running the system (infrastructure management, contact sourcing, sequence optimisation, reporting), not just the output (meetings). Offer instead: a performance guarantee added to the retainer ("If we don't deliver X meetings in any month, we credit you with Y"). This keeps the retainer structure while addressing the client's desire for accountability.
Symptom: As the client roster grew from 1–2 to 5+, average campaign performance across all clients dropped from 10% reply rate to 6%.
Cause: Infrastructure isolation has broken down (shared inboxes), ICP validation calls are being skipped, or reporting and optimisation time has been squeezed by client volume.
Fix: Audit each client's infrastructure for isolation compliance. Confirm no shared domains or inboxes between clients. Review the last 3 months of ICP documents — are they still current and is the contact sourcing still matching them? Build a weekly time block for campaign optimisation that is protected from being consumed by client communication. At 5+ clients, the operations system must be running from documented checklists, not from memory.
Symptom: Multiple clients have requested LinkedIn outreach after seeing results from email. The agency needs to scale LinkedIn capacity.
Cause: LinkedIn automation requires a dedicated account per client — the agency's personal LinkedIn account cannot be used for client outreach without conflating the agency's own brand with the client's outreach.
Fix: Options: (1) Include a LinkedIn account cost in the agency retainer for new clients (the client provides access to a LinkedIn account set up for outreach, or the agency charges for managing a dedicated account). (2) Use Aimfox Business plan (supports multiple LinkedIn accounts) to manage multiple client LinkedIn accounts from a single dashboard. Each client account has its own outreach campaign and daily limits independent from other clients.
Symptom: The agency is booking 20 meetings/month for a client but has no visibility into whether those meetings are converting to qualified opportunities or pipeline.
Cause: The reporting process does not include meeting outcome data, and the client is not providing feedback on qualified meeting rate.
Fix: Add a meeting outcome form to the agency workflow: after each meeting the client holds, the client (or their AE) completes a 3-question form (Did the meeting show? Was the contact ICP-qualified? Did it convert to a pipeline opportunity?). This data feeds into the monthly report and enables the agency to optimise for qualified meeting rate, not just meeting volume. Frame the form to the client as "the data that helps us improve campaign quality over time."
Symptom: The agency can only onboard 1–2 new clients per month because infrastructure setup takes too long.
Cause: Infrastructure setup is not yet systematised with documented checklists and template configurations.
Fix: Build a "new client infrastructure playbook": domain purchase checklist, Inframail provisioning steps with screenshots, DNS configuration verification commands, Instantly workspace creation steps, Postmaster setup guide. Each step should take under 5 minutes with the playbook. Test the playbook by timing a new client setup end-to-end. Target: full infrastructure setup in under 2 hours, warmup activation in under 30 minutes.
Woodpecker's 2025 cold email benchmark study documents that lead gen agencies running systematic outbound operations (documented ICP process, per-client infrastructure isolation, regular performance reporting) consistently achieve 12–15% reply rates across client campaigns. This is significantly above the 8.5% average, suggesting that the system discipline of agency operations — running the same validated process across multiple clients — produces above-average results compared to individual in-house outbound teams running ad hoc campaigns.
Mailmodo's B2B email marketing statistics reports that B2B email sequences with 3+ touchpoints consistently outperform single-email campaigns. The agency model — running fully configured multi-step sequences for each client rather than one-off blasts — aligns with this finding: agencies that invest in proper sequence architecture on behalf of clients outperform the average B2B email sender.
"The thing that made our agency profitable at scale was the onboarding questionnaire and the ICP validation call. Before we standardised those, our first campaigns for new clients were guesses. After, the first campaign almost always hits above 8% reply rate because we've validated the ICP before writing a single email. The system doesn't start with copy — it starts with the customer profile." — G2 reviewer, Instantly reviews on G2
| Component | Tool | Notes |
|---|---|---|
| Contact data (all clients) | Quarvio | One-time purchase per client, 12-month credit validity |
| Client infrastructure | Inframail | Per-client isolation, flat-rate inboxes |
| Campaign management | Instantly | Sub-workspaces per client, centralised analytics |
| LinkedIn outreach | Aimfox | Business plan for multi-account management |
How many clients can one person run at a lead gen agency?
One experienced operator with fully systematised processes can manage 5–7 clients at 15–25 meetings/month each. Above 7 clients, the operational load of infrastructure monitoring, reply management oversight, contact sourcing, and monthly reporting requires additional headcount or significant process automation. The constraint is usually reply management oversight (ensuring Interested labels across all clients are responded to within 2 hours) and monthly reporting quality, not campaign management itself.
Do I need separate Instantly accounts or sub-workspaces per client?
Sub-workspaces within one Instantly account is the standard agency approach. It provides client-specific data separation while keeping management in one dashboard and reducing subscription cost. Separate accounts per client add subscription cost and require switching between accounts. Use sub-workspaces unless a specific client requests complete account separation for security or compliance reasons.
What is the minimum client retainer for a lead gen agency to be profitable?
Minimum viable retainer depends on cost structure. Base monthly costs per client: Inframail inboxes ($80–$120), Instantly sub-workspace ($0–$15 amortised), Quarvio contacts ($150–$300 depending on meeting target). Labour: 15–20 hours/month per client for campaign management, reporting, and client communication. At $50–$100/hour, that is $750–$2,000 in labour cost. Minimum viable retainer: $2,000/month. Below that, the agency is covering costs but generating no profit.
How do I validate the ICP before signing a new client?
Before signing a new client, run a brief "ICP validation test": ask the client to identify their top 5–10 customers and describe the common characteristics (title, company size, industry). Source 100 contacts from Quarvio matching those characteristics and review the list with the client. If the client confirms 80%+ match rate, the ICP is specific enough to build a campaign. If the client says "some of these aren't right," refine the criteria before signing — or price the first campaign as a "discovery" phase at lower retainer.
How long does it take for a new agency client to see results?
First meetings typically arrive 6–8 weeks after signing: 2–3 weeks for infrastructure setup and warmup, 1 week for copy approval, 1–2 weeks of campaign running before positive replies convert to meetings. Set this expectation in the contract: "First meetings expected 6–8 weeks from campaign launch." Clients who expect meetings in week 2 will churn when results arrive on the normal timeline.
Should I specialize the agency in one industry or serve multiple industries?
Specialisation produces higher margins and faster client acquisition because the offer positioning copy library, ICP knowledge, and case studies become increasingly strong with each successive client in the same industry. A SaaS-focused lead gen agency has validated email copy patterns for SaaS ICPs that a generalist agency builds from scratch for each client. Specialise in 1–2 verticals until you have 5+ clients in each, then expand to adjacent verticals.
How do I handle it when a client's offer is too generic to write specific email copy for?
Decline to run the campaign until the offer is made specific. A generic offer ("we help companies grow their revenue") cannot be translated into a specific Email 1 problem statement because there is no specific problem being named. Tell the client: "To build a campaign that produces above-5% reply rates, we need to be able to name one specific problem your target buyers experience on a regular basis, and one specific result your best customers have achieved. Can you give us that?" Most clients can provide this with some prompting; the ones who genuinely cannot have an offer problem that outreach cannot solve.
What is the right number of active campaigns per client?
2–3 simultaneously for most clients: one core ICP campaign (largest volume), one secondary ICP or sub-segment campaign, and one LinkedIn campaign via Aimfox. Adding more campaigns before these three are optimised dilutes management attention without adding proportional meetings. Scale to 4–5 campaigns when the client has validated 2 ICP segments and both are performing above 8% reply rate.
How do I handle a client who wants to write their own email copy?
Accept it for Email 1 review and editing only. The client often has better domain knowledge of their buyer's specific language than the agency. Have the client draft the Email 1 opening line based on the ICP document. The agency then edits for length, clarity, and structure, and writes Emails 2–4 based on the client's Email 1 direction. Client-written copy (with agency editing) often outperforms fully agency-written copy because it uses the client's authentic understanding of the buyer's problem.
Agency campaigns start with reliable contact data.
Every client campaign the agency manages runs on verified contact data. Quarvio delivers pre-verified B2B contacts filterable by job title, company size, and industry. One-time purchase per client, credits valid for 12 months.
Browse Quarvio contact packages →