Lead gen client report template
The monthly report a lead generation agency sends each client: six sections, 14 metrics with formulas, and a one-page summary.
- Published in full
- No email required
- 14 metrics with formulas

The short answer
- A lead gen client report should open with meetings held and cost per meeting, then show the activity that produced them.
- This SalesCrew template has six sections: headline, deliverability, replies, meetings and pipeline, cost by channel, and what changed plus next month's plan.
- Each of the 14 metrics comes with its formula, so every agency on the account calculates reply rate and cost per meeting the same way.
- The report ends with one decision the client must make, which turns a monthly update into a working meeting.
What clients read first
Your client reads the first three lines and skips to the cost. So put meetings held, pipeline created and cost per meeting at the top. Sends, opens and bounces go lower, as the explanation for the headline.
The second thing clients want is proof you're steering. A short "what we changed and why" section shows judgment, and it's the part they forward to their boss.
The one-page summary
Paste this at the top of the report or into the email that carries it. Fill every field from the metrics below.
{{client_name}}: outbound report, {{month}} {{year}}
HEADLINE
{{meetings_held}} meetings held ({{meetings_held_change}} vs last month).
{{opportunities}} opportunities created, worth {{pipeline_value}} in pipeline.
Cost per meeting held: {{cost_per_meeting}}.
WHAT WORKED
{{best_segment}} replied at {{best_segment_reply_rate}}, our best segment this month.
{{best_step}} produced {{best_step_share}} of positive replies.
WHAT WE CHANGED
1. {{change_1}} because {{reason_1}}
2. {{change_2}} because {{reason_2}}
NEXT MONTH
Plan: {{next_month_plan}}
Decision we need from you: {{client_decision}} by {{decision_date}}Section 1 to 3: deliverability, replies and meetings
Report every rate with the count behind it.
| Metric | Formula | Why the client cares |
|---|---|---|
| Emails sent | Count of emails that left your mailboxes | The volume behind every other number |
| Delivered | Sent minus hard bounces | What actually reached an inbox server |
| Bounce rate | Hard bounces ÷ sent | List quality and domain health |
| Unsubscribe rate | Unsubscribes ÷ delivered | Message fit with the audience |
| Reply rate | Replies ÷ delivered | Whether the message earns attention |
| Positive reply rate | Interested replies ÷ delivered | Real demand, minus out-of-office and no-thanks |
| Meetings booked | Count of meetings on the calendar this month | Your leading indicator |
| Meetings held | Booked meetings that took place | The number the retainer is judged on |
| Show rate | Meetings held ÷ meetings booked | Lead quality and reminder discipline |
Metric definitions from the SalesCrew lead gen client report template, September 2026.
Section 4 and 5: pipeline and cost by channel
One row per channel: email, LinkedIn, inbound, marketplaces.
| Metric | Formula | Why the client cares |
|---|---|---|
| Opportunities created | Deals opened from meetings held | Meetings that turned into a real sales process |
| Pipeline value | Sum of open deal amounts from this month's opportunities | What the work could be worth |
| Channel spend | Tools, data, ads and hours charged to the channel | Where the money went |
| Cost per meeting held | Channel spend ÷ meetings held | The number to compare channels on |
| Cost per opportunity | Channel spend ÷ opportunities created | Cost against pipeline, not activity |
Metric definitions from the SalesCrew lead gen client report template, September 2026.
Section 6: what changed and next month
List at most three changes, each with its reason in one line. "Paused step 4 because it produced 0 positive replies from 1,200 sends" is a change. "Optimised messaging" isn't. Then write next month's plan and the one decision you need from the client, with a date.
The decision line matters most. It might be approving a new segment, sharing a case study, or adding a sales rep to take meetings. Without it, the report is a reading exercise.
Building the report from SalesCrew data
In SalesCrew, each client gets their own instance with their own database, so one client's numbers never mix with another's. The report pulls from the same records your team works in. Over MCP the sources are campaign_send_stats for sends and bounces, campaign_reply_stats for replies, meeting_outcomes for held and no-show meetings, and channel_economics for meetings, deals and cost by channel.
Marketing spend from GA4, Google Ads, Meta Ads and Bing sits in the same database as the deals, so cost per meeting by channel is a query rather than a spreadsheet. Tag every link the same way with the UTM naming convention and the channel split holds up. The weekly-report Claude Skill writes a draft of this report from those tools.
Report cost per meeting held, not per meeting booked
Run every client in their own instance
SalesCrew Agency includes the marketing module and all agents for $1,200 a month.