2025-10-11
How to Track and Attribute Recruiting Revenue by Source
Recruiting teams spend thousands of dollars every month on job boards, LinkedIn Recruiter, agency partnerships, and internal sourcing tools. Yet most recruiting departments can't answer a basic question: Which channels actually generate the most valuable hires?
Without proper attribution, you're flying blind. You might be pouring budget into expensive job boards that produce mediocre candidates while underinvesting in referral programs that actually land your best engineers.
This guide walks you through building a recruiting attribution system that connects every hire back to its source, calculates true ROI, and helps you allocate your recruiting budget more strategically.
Why Recruiting Attribution Matters
Revenue attribution in recruiting directly impacts profitability. Unlike marketing, where attribution models are well-established, recruiting teams often track hiring costs without understanding what those costs actually produce.
Here's the gap: A recruiter hires 12 developers in a quarter. The company spent $8,000 on job boards, $15,000 on LinkedIn Recruiter, $5,000 on agency partnerships, and $0 on referrals. But which channel produced the highest-performing engineers? Which ones stayed longest? Which ones generated the most revenue impact?
Without this data, you default to: - Assuming all channels are equally valuable - Cutting budgets based on gut feel instead of data - Missing opportunities to invest in high-ROI channels - Repeating expensive mistakes year after year
The business case is simple: If you can prove that referrals cost 60% less and produce 40% longer tenure, you'd reallocate budget accordingly. If you can show that a specific technical community sourcing effort produced three 10x engineers, you'd expand that program.
The Core Metrics You Need to Track
Before you can attribute revenue to source, you need foundational metrics in place.
Recruitment Cost Per Hire (RCPH)
This is the baseline metric: How much does it cost to fill one position?
Formula:
(Total recruitment spending) / (Number of hires) = RCPH
For a team that spent $100,000 on recruiting and hired 20 engineers: RCPH = $5,000
But this is misleading without attribution. You need Cost Per Hire by Source:
| Source | Quarterly Spend | Hires | Cost Per Hire |
|---|---|---|---|
| LinkedIn Recruiter | $15,000 | 3 | $5,000 |
| Stack Overflow Jobs | $4,000 | 4 | $1,000 |
| Referrals | $0 | 5 | $0 |
| Agency (retained search) | $20,000 | 2 | $10,000 |
| Career site organic | $1,000 | 6 | $167 |
Notice: Your cheapest-per-hire source (career site organic) might not be your best source overall. This is why you need additional metrics.
Time-to-Fill by Source
How long does it take to fill a position from each channel?
Slow sourcing channels eat into productivity and increase project delays. A hire that takes 90 days costs more than the recruitment fees alone — it costs in unshipped features and delayed projects.
| Source | Median Days to Fill | 90th Percentile |
|---|---|---|
| Referrals | 18 days | 28 days |
| Stack Overflow Jobs | 22 days | 35 days |
| LinkedIn Recruiter | 35 days | 55 days |
| Agency search | 45 days | 70 days |
Track this in your ATS (Applicant Tracking System) by tagging every hire with its source channel.
Time-to-Productivity (TTP)
This metric separates excellent hiring sources from mediocre ones: How long before a new hire is contributing meaningfully to the business?
- Referrals from current engineers: Often 6-8 weeks
- External technical hires: Often 10-14 weeks
- Mismatched hires: 16+ weeks or terminated before productivity
Calculate this by working backward from the first significant shipped features or completed projects by source cohort.
First-Year Retention Rate by Source
This is critical: Hiring someone who leaves in 8 months destroys ROI.
| Source | 12-Month Retention | 24-Month Retention |
|---|---|---|
| Referrals | 92% | 85% |
| LinkedIn Recruiter | 78% | 65% |
| Stack Overflow | 82% | 71% |
| Agency | 68% | 55% |
Why the difference? Referrals typically mean the candidate was vetted by someone who knows your culture. Agency placements may be optimized for speed, not fit.
Building Your Attribution Model
Now that you know what to measure, here's how to structure the actual attribution system.
Step 1: Tag Every Candidate in Your ATS
When a candidate enters your pipeline, tag them with:
Required fields: - Source channel (LinkedIn Recruiter, job board name, referrer name, agency name, etc.) - Date tagged - Hiring manager - Role/team - Hired: Yes/No - Start date - Current status (employed, separated)
Example:
Candidate: Sarah Chen
Source: LinkedIn Recruiter (Paid)
Tagged: 2025-03-01
Hired: Yes (2025-04-15)
Start Date: 2025-05-01
Current Status: Employed
Use a consistent naming convention. If you switch how you label sources, historical data becomes useless. Pick "LinkedIn Recruiter (Paid)" and stick with it, not "LinkedIn," "LI," or "LinkedIn Recruiter Lite."
Step 2: Capture Cost Data by Channel
Costs fall into categories:
Direct advertising costs: - LinkedIn Recruiter seat subscription: $3,000-$9,000/month per seat - Job board postings (Indeed, Stack Overflow, etc.): Ranges from $200/post to $1,000+ - Outbound email tools: $100-$500/month - Research databases: $500-$2,000/month
Agency/staffing costs: - Retained search: Usually 20-30% of first-year salary - Contingency placement: 15-25% of first-year salary
Internal costs (often missed): - Recruiter salary and benefits (allocate by time spent per source) - Hiring manager time (estimated 20-30 hours per hire, at their loaded hourly cost) - Interview panel time
Most teams only track direct costs. To be honest about attribution, include your internal labor:
Hire from LinkedIn Recruiter:
- Seat cost (allocated): $1,500
- Recruiter time (40 hours @ $50/hr): $2,000
- Hiring manager time (25 hours @ $150/hr): $3,750
- Interview panel time (15 people × 1 hour @ $75/hr): $1,125
Total True Cost: $8,375
Without this, you'll think LinkedIn Recruiter is cheaper than it is.
Step 3: Calculate Revenue or Value Contribution by Hire
This is the hard part. What's a developer worth?
Option 1: Base salary as proxy Use first-year loaded cost as a revenue multiplier. If an engineer's first-year cost (salary + benefits + equipment) is $150,000, assume they need to generate $300,000 in value to break even (2x multiplier). Better-than-average hires might generate 3-4x.
Option 2: Contribution margin For product companies, track revenue generated by shipped features. If an engineer helps ship a feature that generates $500K in annual recurring revenue, they contributed to that. Allocate proportionally.
Option 3: Risk-adjusted lifetime value Combine salary, tenure, and performance. A hire with: - $120,000 salary - 4-year average tenure - 1.2x performance multiplier
Has an adjusted value of roughly $576,000 ($120K × 4 years × 1.2).
Pick one method and be consistent. The exact number matters less than the comparison between sources.
Step 4: Build Your Attribution Dashboard
Track these metrics by source, refreshed monthly:
| Metric | Stack Overflow | Referrals | Agency | |
|---|---|---|---|---|
| Hires (YTD) | 8 | 12 | 9 | 3 |
| Cost per hire | $7,100 | $1,800 | $0 | $18,000 |
| Days to fill | 42 | 26 | 19 | 51 |
| % retained at 12mo | 75% | 79% | 89% | 63% |
| Adjusted value per hire | $420K | $480K | $520K | $380K |
| ROI | 1.82x | 3.44x | ∞ | 0.68x |
This dashboard answers: Where should we spend more money?
In this example, Stack Overflow and Referrals are crushing it. The agency is destroying value. LinkedIn is decent but could be optimized.
Advanced Attribution: Multi-Touch Models
In reality, most hires don't come from a single source. A developer might: 1. See a LinkedIn job post (LinkedIn) 2. Get referred by a friend who mentioned the role (Referral) 3. Apply through your career site (Direct/Organic)
Which source gets credit?
First-Touch Attribution
Credit the first interaction. The referral wouldn't have happened without LinkedIn exposure first. Pro: Simple. Con: Undervalues the warm introduction that actually got them to apply.
Last-Touch Attribution
Credit the last touchpoint before hire. The referral got them to apply, so referral gets 100% credit. Pro: Values the actual conversion. Con: Ignores top-of-funnel awareness costs.
Time-Decay Attribution
Early interactions get less credit; later ones get more. If the candidate had four touches, distribute 10% + 20% + 30% + 40% credit across them.
50-30-20 Model (Practical)
For technical hiring, this works well: - 50% to the source that actually generated the application - 30% to the source that first attracted them - 20% to any referral/warm introduction
This balances top-of-funnel investment with conversion power.
Implementation: In your ATS, when a hire is marked as sourced, tag all touchpoints and apply your attribution rule automatically (or use a spreadsheet formula).
Common Attribution Mistakes to Avoid
Mistake 1: Counting "Pipeline" Instead of "Hires"
LinkedIn might show 200 pipeline candidates but only convert 3 to hires. Stack Overflow might show 30 but convert 10. Measuring pipeline vanity metrics leads to bad budget decisions.
Fix: Measure conversion funnel by source.
| Source | Qualified Candidates | Interviews | Offers | Hires | Conversion Rate |
|---|---|---|---|---|---|
| 150 | 25 | 10 | 3 | 2% | |
| Stack Overflow | 40 | 18 | 12 | 10 | 25% |
Mistake 2: Ignoring Role Level and Specialization
Hiring a senior staff engineer is not the same as hiring a junior developer. A referral-sourced staff engineer might be worth 10x a junior hire from a job board.
Fix: Segment metrics by role level, tech stack, and specialization.
Mistake 3: Not Accounting for Hiring Manager and Team Preference
If your VP of Engineering insists on only LinkedIn hires but they're 3x more expensive and 2x slower than referrals, organizational politics might be overriding data. Acknowledge this.
Fix: Track not just what worked, but what the organization believes works and why.
Mistake 4: Blending Full-Time and Contract Hires
Contract and permanent hiring have different economics. Don't average them.
Fix: Separate attribution by employment type.
Optimizing Budget Allocation Based on Attribution Data
Once you have 2-3 quarters of data, you can make data-driven reallocation decisions.
The Reallocation Framework
- Identify your worst-performing channels — usually ones with lowest ROI
- Pilot a reallocation — move 20% of budget to high-ROI channels
- Monitor the impact — does high-ROI channel maintain quality as budget increases?
- Make permanent adjustments — scale what works
Example scenario: You're spending $50K/quarter on LinkedIn Recruiter but getting 2.0x ROI. Stack Overflow is getting 3.5x ROI but only getting $8K/quarter.
Test: Shift $15K from LinkedIn to Stack Overflow, moving your spending to $35K LinkedIn and $23K Stack Overflow.
Monitor for 2 quarters: Does Stack Overflow's ROI hold steady at higher volume? (Often it drops slightly as you exhaust the pool of quality candidates, but might still beat LinkedIn.)
Most likely outcome: You find a better balance. You might land at $25K LinkedIn, $30K Stack Overflow rather than the original ratio.
Tools and Platforms for Tracking Attribution
Spreadsheet-Based (Minimum Viable)
If your ATS doesn't have reporting, export your hire data and build a spreadsheet: - Candidate name, source, hire date, start date, status, salary, current performance rating - Add a column for cost by source (allocate shared costs proportionally) - Pivot tables by source - Simple ROI calculation
This works for teams hiring 10-30 people per year.
ATS Integration Approach
Most modern ATS platforms (Greenhouse, Lever, iCIMS, Workable) let you: - Tag candidates with source - Track dates and status - Export data to dashboards - Build custom reports
Use your ATS as the source of truth, then export to a BI tool (Tableau, Looker, Power BI) for visualization.
Dedicated Tools
Zumo helps you source developers by analyzing their GitHub activity — it's particularly useful for understanding the quality profile of hires from technical sourcing. Combined with your ATS data, you can see not just where hires came from but the technical depth and specialization of each source.
Setting Benchmarks and Goals
What's "good" recruiting ROI?
Industry benchmarks (2024-2025):
| Metric | Small Startup | Mid-Market | Enterprise |
|---|---|---|---|
| Avg cost per hire | $3,500-$5,000 | $5,000-$8,000 | $8,000-$15,000 |
| Avg time-to-fill | 35-42 days | 40-50 days | 50-70 days |
| Acceptable 12mo retention | 75%+ | 80%+ | 85%+ |
| Target recruiting ROI | 2.0x-2.5x | 2.5x-3.5x | 3.0x-4.0x |
Your benchmarks depend on: - Role level (junior roles have higher turnover, lower ROI expectations) - Market (competitive tech markets require higher spend) - Company stage (startups may accept lower retention for speed)
Set your targets conservatively. If you're breaking even (1.0x ROI) on hiring, you're actually negative when you factor in ramp time.
Reporting Attribution Data to Leadership
Non-recruiting executives need clear, simple reports. Don't show them pivot tables of dozens of metrics.
Monthly Recruiting Dashboard (One Page)
Key metrics: - Hires closed this month (by source) - Cost per hire (aggregate and by top source) - Current open requisitions by priority - Pipeline (qualified candidates in next 30 days)
Narrative: "We hired 4 engineers this month at an average cost of $4,200 per hire. Referrals generated 2 hires with zero acquisition cost. LinkedIn generated 1 hire at $6,500 cost. We have 12 candidates in final interview round; expect 3-4 closes next month."
Quarterly Attribution Report
Sections: 1. Summary: Hires, costs, and ROI by source 2. Efficiency: Time-to-fill, conversion rates by channel 3. Quality: Retention and performance by source 4. Budget reallocation recommendation: Where to shift dollars next quarter
This is where you make the case for reallocating budget based on data.
FAQ
How do I handle hires from referrals when the referrer is an employee but the candidate came through a job board?
Use a time-decay or multi-touch model. If the employee mentioned the role casually and the candidate found it on a job board two weeks later, credit the job board at 50-60% and the referrer at 40-50%. Adjust the weights based on your judgment of who actually drove the decision.
What if my ATS doesn't let me track source attributes?
Start with a separate tracking spreadsheet. Whenever someone is hired, log: candidate name, date sourced, source channel, hire date, current status. This is tedious but only takes 5 minutes per hire. After 12 months of data, you'll have enough to make decisions, and you can make the case to upgrade your ATS to something more capable.
Should I count internal transfers and promotions in recruiting ROI?
No. Attribution should measure external hire quality and efficiency. Internal mobility is a separate HR metric. Keep them distinct.
How do I know if an attribution model is working?
You should be making decisions based on it within 2-3 quarters. If you still can't confidently say "referrals are 2x better than job boards" or "this agency delivers lower-quality hires," your model is too noisy. Increase sample size or simplify your categories.
Can I use recruiting attribution to forecast hiring budget?
Yes. Once you have 2+ years of data, you can model: "To hire 50 engineers in 2026, assuming X% from each source at historical ROI/cost, we need Y recruiting budget." This helps CFOs plan and helps you request budget confidently.
Start Tracking Recruiting Attribution Today
Most recruiting teams leave money on the table simply because they don't measure where value comes from. You don't need perfect data — you need consistent data. After 2-3 quarters of rigorous tracking, you'll know exactly which channels deserve more investment and which ones are wasting money.
Start small: Pick one cohort of hires (maybe last quarter), tag each one with their source, note the cost, and calculate basic ROI. That simple exercise will likely surprise you. Then build from there.
To improve your sourcing quality, especially for technical roles, explore Zumo — it helps you source developers based on GitHub activity, giving you a data-driven view of technical depth before candidates even enter your pipeline. When combined with attribution tracking, you'll understand not just where your best hires come from, but why.