Outreach ROI: Know Your Cost Per Lead and Cost Per Won Deal

Most freelancers and agencies can tell you how many proposals they sent last month. Almost none can tell you what a lead actually costs them, or which channel wins work at a profit. This page gives you the math — cost per lead, hours per lead, cost per won deal, and channel-level ROI — with worked numbers you can copy and rerun with your own.

Why This Number Changes Behavior

"We should do more LinkedIn" is an opinion. "LinkedIn costs us $107 per lead and Upwork costs $59" is a decision. Once outreach has a price tag, arguments about where to spend rep time end quickly.

The Problem: Outreach Feels Free Because Nobody Prices the Hours

Outbound doesn't show up on an ad invoice, so it feels free. It isn't. A rep spending half their month bidding and following up is a real monthly cost — salary, platform fees, tool subscriptions — and if you don't allocate that cost to the leads it produces, you can't compare outreach to ads, referrals, or anything else. Teams that skip this math routinely keep pouring hours into their least profitable channel because it's the one that feels busiest.

The fix is one honest calculation, repeated monthly. Here it is.

Cost Per Lead: The Formula and a Worked Example

Cost per Lead = (Outreach labor cost + Platform & tool fees) ÷ Qualified leads generated

"Qualified lead" means a reply that turned into a real conversation about work — not every response. Count auto-replies and "no thanks" as touches, not leads.

Worked Example: One Rep, One Month

Rep pay: $3,000/mo ÷ 160 working hours$18.75/hr
Hours spent on outreach this month80 hrs
Outreach labor cost (80 × $18.75)$1,500
Platform fees + tools (Upwork Connects, email tool, LinkedIn)$300
Total outreach cost$1,800
Qualified leads generated24
Cost per lead ($1,800 ÷ 24)$75

The only input people fudge is the 80 hours. If your reps don't track time on outreach, you're guessing the biggest line item — which is why this calculation works best when outreach activity and time tracking live in the same system.

Beyond CPL: The Four Numbers That Complete the Picture

Cost per lead alone can mislead you — a cheap lead that never closes is expensive. Extend the same example:

Hours per lead = Outreach hours ÷ Qualified leads

80 ÷ 24 = 3.3 hours per lead

Win rate = Wins ÷ Qualified leads

6 ÷ 24 = 25%

Cost per won deal = Total outreach cost ÷ Wins

$1,800 ÷ 6 = $300 per won deal

Outreach ROI = (Revenue attributed to outreach − Outreach cost) ÷ Outreach cost

6 wins × $2,000 avg first contract = $12,000 → ($12,000 − $1,800) ÷ $1,800 = 567% ROI

Two attribution rules keep this honest. First, count first-contract revenue only in the monthly number — if you include lifetime value, track it as a separate, clearly-labeled figure, or every channel looks amazing. Second, attribute each win to the channel of first recorded touch. It's imperfect, but a consistent simple rule beats a sophisticated rule applied inconsistently. Consistent attribution starts with tagging every opportunity by source — that setup is covered in lead sources & attribution.

Per-Channel Example: Upwork vs. Cold Email vs. LinkedIn

Split the same month by channel and the averages stop hiding things. Same rep rate ($18.75/hr), real fees per channel:

Channel Touches Hours Cost (labor + fees) Leads Wins CPL Cost / Win Revenue ROI
Upwork bidding 60 bids 30 $563 + $150 = $713 12 4 $59 $178 $7,200 910%
Cold email 500 emails 20 $375 + $120 = $495 6 1 $83 $495 $2,500 405%
LinkedIn 150 touches 30 $563 + $80 = $643 6 1 $107 $643 $4,000 522%

Read it carefully — the table argues with itself, which is the point. Upwork has the best CPL and the best ROI this month, so it earns more hours. LinkedIn has the worst cost per lead but a bigger average deal ($4,000 from one win), so the right move isn't to kill it — it's to watch it for another month or two before deciding. Cold email's cost per won deal ($495 against a $2,500 contract) says the sequence needs work before it deserves more volume. One month of data suggests; three months decides.

How Corcava Computes This Automatically

Everything above works in a spreadsheet — once. The reason most teams calculate ROI exactly one time is that the four inputs live in four different tools. Corcava keeps them on one record:

1

Activity — every bid, email, and touch is an outreach record tagged with channel and owner, so touches and leads per channel are a filter, not an export

2

Time — reps track outreach hours with the built-in time tracker, so the labor cost line comes from actual hours, not a guess

3

Outcomes — opportunities carry their source through the deal pipeline, so wins per channel use first-touch attribution automatically

4

Revenue — won deals become projects and invoices in the same system, so "revenue attributed to outreach" is invoiced money, not pipeline optimism

Because the chain is connected end to end, CPL, cost per won deal, and per-channel ROI are standing reports instead of a quarterly archaeology project. What to do with those reports each week — spotting the bottleneck and picking one action — is a different skill, covered in the reporting dashboard guide.

Your Monthly ROI Checklist

Copy this and run it on the first of every month. Twenty minutes if your data is in one place, an afternoon if it isn't:

Mistakes That Break the Math

Counting labor as free

If you skip rep hours, cold email always "wins" because its fees are small. Labor is usually 70-90% of true outreach cost.

Counting every reply as a lead

"Thanks, not interested" is not a lead. Inflated lead counts make CPL look great and cost per won deal look mysterious.

Mixing lifetime value into monthly ROI

First-contract revenue for the monthly number; LTV as a separate annual view. Blending them lets any channel justify itself.

Killing a channel on one bad month

Small numbers swing hard — one win more or less doubles or halves channel ROI. Decide on rolling 3-month figures.

Inconsistent attribution

If a lead came from Upwork but closed after a LinkedIn nudge, pick one rule (first touch) and apply it everywhere, every month.

Go Deeper

Measure Outreach Cost and ROI

Connect activity, rep time, wins, and invoiced revenue in one system — and know your cost per lead every month

No credit card required