Most outbound programs don’t fail at sending. They fail at measurement, and they fail in a specific way: the team counts activity (emails sent, calls made, LinkedIn touches) and never counts the four numbers that decide whether the program lives. I’ve audited enough outbound setups at KomsGro to know the pattern. So here is the measurement guide I wish someone had handed me: the formula, the funnel metrics that matter, how to actually attribute meetings to revenue, and the benchmarks to hold each channel against.
The formula (and why most teams compute it wrong)
Outbound ROI is one line of arithmetic: take the revenue attributable to outbound, subtract the fully-loaded cost of the outbound program, divide by that cost.
ROI = (attributed revenue - program cost) / program cost
Two mistakes make this number meaningless. First, using gross revenue instead of gross profit: if your margin is 30%, a “3x ROI” on revenue is barely break-even in profit terms. Second, hiding costs: the program cost isn’t just tooling subscriptions, it’s the SDR or founder hours (valued honestly), data subscriptions, domains and mailboxes, and the agency retainer if you use one. A program that costs $4,000 a month all-in and closes $12,000 of gross margin a month is a 2x, and 2x is a real, workable result. Anything under 1x for three consecutive months is a rebuild, not a tweak.
For a services business or early SaaS, I’d also track payback period: how many months until the closed revenue repays the program cost. Outbound that pays back inside one to two quarters is healthy at small scale.
The funnel: five metrics between “sent” and “signed”
Everything between the send and the signature is a conversion step, and each step has a benchmark to hold it against.
1. Deliverability and list health. Bounce rate under 2 to 3 percent. If you’re above that, your list quality is broken and every downstream number is fiction. This is the most common root failure I find: teams measuring reply rates on a list that’s landing in spam.
2. Reply rate. Overall replies per delivered email. Recent industry data puts cold email averages around 3 to 5 percent, with tightly targeted campaigns doing multiples of that. This number is mostly a list quality and personalization signal, not a copywriting score.
3. Positive reply rate. Replies that move toward a meeting divided by total replies. If half your replies are “not interested” or “wrong person”, the targeting is off even when the copy works. I treat positive reply rate as the first honest number in the whole funnel.
4. Meetings booked (and held). Replies that convert to a scheduled call, then actually show up. Track booked and held separately; no-show rates above ~30% mean the qualification or the calendar friction needs work, and no-shows were never really meetings.
5. Pipeline and closed revenue. Meetings that became qualified pipeline, pipeline that became revenue, attributed to outbound. This is where the formula lives, and where most teams lose the thread, so let’s do attribution properly.
Attribution without a data team
You don’t need a RevOps platform to attribute outbound revenue. You need discipline and one source of truth. The minimum viable setup:
- Every outbound-generated meeting is created in the CRM with the campaign and channel marked on the contact record.
- A unique domain or email thread per campaign, so “where did this come from” has a factual answer.
- Monthly reconciliation: for every deal won in the month, one question asked and recorded: did outbound touch this account first? (LinkedIn touches and email sequences count; the answer is recorded even when the buyer says “I don’t remember”, because patterns emerge over quarters.)
That’s it. Tools like HubSpot or Close make this cleaner, and enrichment platforms like Apollo or Clay make the campaign marking automatic, but the discipline matters more than the tooling. The teams that can’t attribute outbound revenue are almost always the ones that never decided, up front, what a “source” is.
The unit economics that actually decide the program
Once you have revenue attribution, four numbers run the whole program:
Cost per meeting. Fully-loaded monthly cost divided by held meetings. If that number is $300 and your average deal’s first contract is $10,000 with a 20% close rate, you’re paying $1,500 per customer, which is either brilliant or insane depending on their lifetime value. Which is why the next number exists.
Cost per opportunity. Meetings per opportunity (qualified, not just “took the call”) tightens the metric against tire-kickers.
Close rate from outbound pipeline. Outbound-sourced deals often close differently (longer cycles, more stakeholders) than inbound. Track the two separately or you’ll average away the truth.
LTV to CAC and payback. The final arbiter. A channel with a 6-month payback at 5x LTV:CAC deserves more budget; a “high volume” channel with 18-month payback is a slow leak, even if the demo count looks great.
Benchmarks I hold each channel to
- Cold email: 3 to 5% reply rate as the floor for decent targeting, with positive replies (not “not interested”) as the real metric. Bounce under 3%.
- Cold calling: dials-to-conversations and conversations-to-meetings matter more than connect rates; a 2 to 5% conversation-to-meeting rate is workable with good lists.
- LinkedIn: reply quality over volume; if positive replies fall while volume rises, the automation is showing.
- Direct mail and events: cost per held meeting, always, and measure the 90-day window after the touch, since these channels pay late.
Where each metric lives (tooling, cheaply)
One practical note before the closing, because “set up the funnel” can sound heavy. The minimum stack for all of the above:
- CRM: any of HubSpot free, Close, or even a disciplined pipeline sheet. One field: “source campaign”. That field is the whole attribution system.
- Email infrastructure: Smartlead or Instantly logs sends, opens, replies per campaign natively; export the funnel weekly.
- LinkedIn: export your outreach tool’s reply log into the same sheet.
- The spreadsheet: one tab, four columns (reply rate, positive reply rate, meetings held, cost per meeting), one row per week. The trend line is the program.
Total tooling cost for all of this: under $150 a month at small scale. The expensive part was never the software; it’s the discipline of recording the same four numbers every week without deciding anything on partial data.
A worked example (the arithmetic, end to end)
Formulas hide more than they reveal, so here’s a real-shaped month with round numbers:
- Program cost, fully loaded: agency fee plus tooling plus domains and mailboxes, $4,000. Half an SDR’s time valued at $2,000. Total: $6,000.
- Volume: 3,000 emails, 400 dials, retargeting impressions on the touched accounts.
- Funnel: 210 replies (5.5%), 60 positive, 22 meetings booked, 17 held, 9 qualified opportunities, 2 closed at $9,000 each.
- The math: attributed revenue $18,000. ROI = (18,000 - 6,000) / 6,000 = 2.0x for the month. The program paid for itself inside the month it ran.
Now the honest part: that client’s first month looked nothing like this. Month one was 1.2x and boring. The curve bent in months two and three as list hygiene improved and weak sequence lines got cut. That’s the last thing the formula hides: outbound ROI is a trajectory, not a snapshot. Judge month one for learning, quarter one for trend, month four for the go or no-go.
The four measurement traps
- Counting activity. Emails sent, dials made, touches logged. Activity is effort; only metrics downstream of a reply get to govern decisions.
- Last-touch-only attribution. A deal touched by outbound, then retargeting, then two LinkedIn comments belongs to the system. Decide the attribution rule at launch and never change it mid-program.
- Small-sample panic. Two hundred sends is not a dataset. A scary reply rate after one week of small volume is statistically unremarkable; judge trends over hundreds of touches.
- Averaging across personas. If CFOs convert at twice the rate of managers, the blended average is hiding your best and worst lists. Segment every metric before deciding anything.
And the meta-trap: measurement theater. Dashboards with twelve metrics and no decisions. Four numbers, reviewed weekly, out-manage a wall of charts every time.
The honest closing argument
Outbound measurement fails for one of two reasons: the program was never designed with a measurable funnel, or the numbers existed but nobody tied them to revenue. Both are fixable in an afternoon with a spreadsheet, a CRM field, and the discipline above.
One more thing worth saying, because I see the opposite advice everywhere: outbound is not supposed to look cheap next to inbound. It’s supposed to look fast. The honest comparison is cost per meeting and time to pipeline, and outbound usually wins those; inbound usually wins on compounding cost over years. Run both, measure both per the formulas above, and let the numbers, not the ideology, decide your mix.
If you want this built with the plumbing already in place (ICP lists, deliverability infrastructure, CRM attribution), that’s KomsGro’s outbound marketing service. And the channel-by-channel tactics that feed this measurement live in the outbound marketing channels guide.