Quick answer
An outbound sales dashboard needs six numbers: positive reply rate, total reply rate, meetings booked, show rate, qualified-meeting rate, and bounce rate as a deliverability guard, each cut by segment and reviewed weekly, plus pipeline and revenue per channel reviewed monthly. Open rate and total sends do not belong on it. Below is the row-by-row structure, the formulas, and a 20-minute build.
What goes on the dashboard
I'm Hlib Storchak. I build and run outbound systems for B2B founders and sales teams, and this is the literal spreadsheet structure behind the 2000+ meetings booked for B2B clients I've run, not a theoretical framework. There are six rows that matter, and everything else is noise dressed up as data.
| Row | What it is | Cadence | Why it's on the dashboard |
|---|---|---|---|
| Positive reply rate | Replies that are interested, not just replies | Weekly | The one number that tracks offer and targeting quality |
| Total reply rate | All replies, interested or not | Weekly | Catches copy or deliverability problems before positive rate drops |
| Meetings booked | Calendar holds from the sequence | Weekly | The outcome number, by segment and by rep |
| Show rate | Booked meetings that actually happen | Weekly | A booked meeting that no-shows is not a result |
| Qualified-meeting rate | Held meetings that pass your ICP bar | Weekly | Booked and held is not the same as worth having |
| Bounce rate | Hard bounces as a share of sends | Weekly, as a guard | The number that tells you to stop sending before it tells you anything else |
| Pipeline and revenue per channel | What the qualified meetings turned into | Monthly | The number that actually justifies the budget |
That is the whole template. Seven rows, each with a plain-language definition, a formula, and a cadence. The rest of this article is the detail behind building it properly, because the detail is where most dashboards go wrong.
Why opens and sends are not on it
Open rate and total sends are the two numbers every default sending-tool dashboard puts front and center, and they are the two I delete first. Open tracking depends on a pixel loading, which most corporate mail clients now block or pre-fetch automatically, so the number measures your recipients' mail client settings more than it measures your email. Total sends measures effort, not result, and a team can hit its send target while its positive reply rate quietly drops to zero. I've already written about why these specific numbers mislead and what to track instead in the metrics that actually measure outbound, and the dashboard here is the operational version of that argument: a sheet you actually fill in every week, not just a list of principles.
Tip. If a tool's default report leads with open rate, don't delete it entirely, just move it off the dashboard. It's still worth a glance once a quarter as a rough deliverability signal, it just should never be the number a review meeting is organized around.
The six numbers, defined
Precision matters here because sloppy definitions are how two people in the same meeting argue about a number that means two different things.
- Positive reply rate. Replies you would categorize as interested, a question, a referral, or a "not now, check back in Q2," as a share of contacts reached. Not a share of sends, a share of unique contacts, so one person replying three times to a three-touch sequence doesn't inflate it.
- Total reply rate. Every reply, including "unsubscribe" and "stop emailing me," as a share of contacts reached. This is your early-warning number.
- Meetings booked. A calendar hold accepted by the prospect, counted the week it's booked, not the week it happens.
- Show rate. Booked meetings that actually occur, as a share of booked meetings, counted the week the meeting was scheduled for.
- Qualified-meeting rate. Held meetings where the account matches your stated ICP criteria, as a share of held meetings. This is a judgment call, so write the criteria down once and apply them consistently.
- Bounce rate. Hard bounces as a share of sends, checked daily during a new domain's ramp and weekly after.
The formulas
Each of these is a simple ratio, but the denominator is where people get it wrong.
| Metric | Formula |
|---|---|
| Positive reply rate | Positive replies ÷ unique contacts reached |
| Total reply rate | All replies ÷ unique contacts reached |
| Show rate | Meetings held ÷ meetings booked |
| Qualified-meeting rate | Qualified meetings held ÷ meetings held |
| Bounce rate | Hard bounces ÷ total sends |
| Cost per meeting | Fully loaded monthly spend ÷ qualified meetings held that month |
That last row, cost per meeting, is the one I add for any client asking whether outbound is worth the spend. Assume a monthly all-in cost, salary plus tooling plus your own time valued at something, and divide by qualified meetings held, not meetings booked. Booked-but-no-showed meetings cost you money and tell you nothing, so they shouldn't be in the denominator that justifies the budget.
How to slice it: segment, channel, rep, week
A single blended number across your whole program hides more than it shows. The same seven rows need to repeat, at minimum, by:
- Segment. Industry or company size band. A 3% blended positive reply rate might be a healthy 6% in your best-fit segment and a dead 0.5% in a segment you should probably drop.
- Channel. Cold email and LinkedIn separately, never combined into one reply rate, because they measure different things and respond to different fixes.
- Rep, if you have more than one. Not to rank people against each other in a meeting, but because a rep running 40% below the team average on positive reply rate is either working a worse list or needs copy help, and you can't tell which without the number.
- Week. Cold outbound numbers are noisy at low volume. A single bad week at 150 contacts reached is not a trend. Four bad weeks in a row is.
Build it in 20 minutes
You don't need a BI tool for this. A spreadsheet works for the first year of running outbound and arguably longer.
- One tab per week, or one tab with a week column if you'd rather keep history in one place. I prefer one running tab, it makes month-over-month trend lines trivial.
- Columns: week, segment, channel, contacts reached, positive replies, total replies, meetings booked, meetings held, qualified meetings held, hard bounces, total sends. Everything else, the seven ratios above, is a formula column computed from these.
- Pull the raw counts from your sending tool and your calendar tool, weekly, same day each week. Consistency in the pull day matters more than the day you pick.
- One summary row at the top that auto-averages the last 4 weeks, so a single noisy week doesn't dominate what you see first.
- Conditional formatting on positive reply rate and bounce rate only. Color every other row neutral. If everything is red or green, nothing is, and you stop looking at the sheet.
Where the raw numbers actually come from
Reply counts and bounce counts come out of whatever you send through, and most sending tools export both cleanly. If you send through Salesforge, that's the stack I run for clients, the reply and bounce fields export in a format that drops straight into a sheet without much cleanup, but the same is true of most dedicated cold email tools, this isn't a feature unique to one vendor. Meetings booked and held usually live in your calendar tool or your CRM's meeting-outcome field, and this is where the CRM you picked actually matters: if you're still deciding, I compared the calling and sequencing gap between two common choices in Pipedrive vs Close for outbound teams, and that gap shows up directly in how much manual logging this dashboard costs you every week.
Weekly review vs monthly review
Positive reply rate, total reply rate, meetings booked, show rate, and bounce rate get checked weekly, because they move fast enough to catch a problem while it's still cheap to fix. Pipeline and revenue per channel get checked monthly, because a single qualified meeting takes weeks to resolve into a yes, a no, or a stall, and checking it weekly just adds noise without adding signal. Trying to manage a sales cycle on a weekly cadence is how teams end up chasing numbers that haven't finished happening yet.
Key takeaways
- Seven rows: positive reply rate, total reply rate, meetings booked, show rate, qualified-meeting rate, bounce rate, and pipeline/revenue per channel. Nothing else earns a spot.
- Open rate and total sends measure effort and mail-client behavior, not results. Keep them off the dashboard that drives decisions.
- Every ratio needs a denominator of unique contacts reached, not sends, or one engaged person inflates the whole number.
- Cut every row by segment and channel at minimum. A blended number hides the segment you should drop and the one you should double down on.
- Review the fast-moving rows weekly and pipeline/revenue monthly. Matching the cadence to how fast each number actually moves is most of the discipline.
What healthy looks like next to what's sick
These are operating ranges from running this for clients, not a cited industry benchmark, so treat them as a sanity check rather than a target to hit exactly. For a more detailed breakdown of realistic meetings-per-rep volume specifically, see the 100 meetings a month playbook, which builds the backward math from reply rate to booked meetings in full.
| Signal | Looks healthy | Warning sign |
|---|---|---|
| Positive reply rate | Steady or climbing week over week within a segment | Falling for 3+ weeks in the same segment with no copy change |
| Bounce rate | Under roughly 2% | Climbing past 3 to 5%, stop sending from that domain and investigate |
| Show rate | Most booked meetings happen | Below roughly 70%, the booking process or reminder cadence likely needs fixing |
| Qualified-meeting rate | Most held meetings match ICP criteria | Below roughly 50%, the targeting or the ICP definition itself needs a rewrite |
| Cost per qualified meeting | Stable or trending down as the program matures | Rising steadily month over month with no segment change to explain it |
Mistakes that make a dashboard lie to you
The mistake I see most often when I take over an account from a previous setup is a dashboard built entirely around activity, sends and opens, because whoever built it wanted something that always looked busy, not something that could tell you to stop. A few more specific ones worth naming:
- Counting booked instead of held. A meeting that gets booked and then no-shows did not produce a result. If your dashboard only has a "booked" row, you're measuring calendar activity, not pipeline.
- Blending channels into one reply rate. Cold email and LinkedIn respond to different levers. Blending them means a LinkedIn improvement can mask an email problem, or the reverse.
- Reading a single week as a trend. At under a few hundred contacts reached in a week, one strong or weak week is usually noise. Look at a 4-week rolling average before reacting.
- No row for qualified-meeting rate at all. Without it, a team can hit its meetings-booked target entirely with the wrong accounts and nobody notices until the pipeline number lags a quarter later.
- Changing the denominator mid-quarter. If you redefine "contacts reached" or "qualified" partway through, the trend line breaks and you can't tell whether a number moved or the definition did. Write the definitions down once, in the sheet itself, and change them deliberately if you must.
The version I actually run for clients
What I just described is the template, stripped down to what's portable to any team. In practice I run one extra tab per client: a rolling 90-day view that shows whether the program is trending toward the agreed meetings target, built once a client's first month of data exists so the trend line has something to compare against. I don't hand clients a tool they then have to learn, I hand them a sheet that answers one question every Monday: is this still working, and in which segment. If you want help setting this up as part of a done-for-you outbound engine, as a fractional Head of GTM reviewing it with your team weekly, or as a dashboard your own team owns once I've built it with you, that's the three ways I work with people, and the details are below.
FAQ
What metrics should be on an outbound sales dashboard?
Positive reply rate, total reply rate, meetings booked, show rate, qualified-meeting rate, and bounce rate, reviewed weekly and cut by segment and channel, plus pipeline and revenue per channel reviewed monthly. Open rate and total send volume are not worth a row.
How often should I review outbound metrics?
Weekly for reply rates, meetings booked, show rate, and bounce rate, since these move fast enough to catch problems early. Monthly for pipeline and revenue per channel, since a sales cycle takes weeks to resolve and checking it weekly just adds noise.
What is a good positive reply rate for cold email?
It varies enormously by segment, offer, and list quality, which is exactly why a single industry benchmark number is less useful than your own trend line. Watch whether your positive reply rate within a given segment is steady or climbing, not whether it matches a number from a different company's list and offer.
Should I track open rate at all?
Not as a decision-driving metric. Pixel-based open tracking is blocked or pre-fetched by most corporate mail clients now, so the number mostly reflects mail client settings. A quarterly glance as a rough deliverability check is fine, but it shouldn't anchor a weekly review.
What tool should I build this dashboard in?
A spreadsheet, Google Sheets or Excel, is enough for most teams for the first year or more of running outbound. The structure in this article, seven rows cut by segment, channel, rep, and week, works in any tool. A BI tool only starts earning its complexity once you're pulling from multiple CRMs or need live, shareable views for a larger team.
