Two Pipelines, One System: Where Recruiting Software Usually Breaks
Candidates move through one process, clients through another, and they meet at submission. Most tools model one properly and treat the other as a contact list.
A recruiting agency runs two businesses at once.
One finds and manages people. The other finds and manages companies that need people. They have different stages, different timescales, different owners, and they touch at exactly one point: the submission.
Almost every tool in the market is strong at one and weak at the other. Applicant tracking systems are built around the candidate and treat clients as a place to file a job. Sales CRMs are built around the account and treat candidates as attachments.
Agencies end up running both, and the submission — the one place where the two pipelines actually meet — falls into the gap between them.
The two shapes
The candidate pipeline is sourced, screened, qualified, submitted, interviewing, offer, placed. Owned by a recruiter. Measured in candidates.
The client pipeline is prospect, contacted, meeting, terms agreed, role taken, filling, filled. Owned by a business development person, who at a small agency is the same human wearing a different hat. Measured in roles and revenue.
A submission is one candidate against one role. That means it's a many-to-many join, and it's where the useful questions live:
- How many candidates has this role had submitted?
- How many roles has this candidate been out for?
- How long has this submission been sitting with the client?
- Which recruiter sourced them, and which BD person owns the account?
If your system can't answer those, you have two lists, not a pipeline.
Where it actually costs money
Submissions that go quiet. The single biggest leak in recruiting. A candidate goes out on Tuesday, the client says they'll review, and nine days pass. The candidate takes something else. Nobody chased because nobody owned the gap between the two pipelines.
Every submission needs a clock and an owner. Past five days with no client response should raise its hand automatically. That's one rule and it recovers placements.
Candidates submitted twice. By two recruiters, to the same client, sometimes for the same role. Embarrassing, occasionally a fee dispute, entirely preventable with a duplicate check at submission.
Roles nobody's working. A client sends three roles. Two get attention, one sits. Client notices before you do, because your view is candidate-first.
Placements with no attribution. Who sourced and who sold, on the same record. Without it, commission is a monthly argument and desk profitability is unknowable.
What the join needs
The submission is a record in its own right, not a status on a candidate. It should carry:
- Candidate and role, obviously
- Submitted date, and days-since as a live number
- Status — with the client, feedback given, interview scheduled, rejected, offered
- Sourcing recruiter and account owner, separately
- Rate or salary submitted at, which is not always the candidate's target or the role's budget
- Rejection reason, when it comes. This is the most under-collected data in recruiting and the most useful — three rejections for the same reason means you're misreading the brief.
The client side deserves a real pipeline
Recruiters under-build this because BD feels like an activity rather than a process. But client relationships have exactly the shape a sales pipeline handles well, and treating them as a contact list costs money in three specific ways.
Dormant accounts. A client who used you twice last year and hasn't been contacted since. Cheapest business available and nobody's list has them on it.
Terms and margins per client. Different fee percentages, different payment terms, different rebate periods. Living in a PDF somewhere rather than on the account, which means margin reporting is manual.
Multiple contacts per client. The hiring manager, the HR contact, the person who signs. Losing one shouldn't mean losing the account, and it does when the relationship lives in one recruiter's inbox.
The numbers this unlocks
Once both pipelines are in one system joined at submission:
- Submission-to-interview rate, by recruiter and by client. The clearest measure of whether you understand a brief.
- Interview-to-placement rate.
- Time to first submission, from role taken. What clients actually judge you on.
- Submissions per placement. Rising means quality is slipping or the brief is wrong.
- Client responsiveness. Average days for a client to respond to a submission. Some clients are structurally slow, and knowing which lets you set candidate expectations honestly.
- Revenue per desk, split by sourcing and account ownership.
That last one settles a lot of arguments.
The honest caveat
None of this makes a placement. Recruiting is a relationship business and the best recruiters do well in bad systems because they carry it in their heads.
What a proper system does is stop the specific losses that come from the join being invisible: the submission nobody chased, the duplicate that cost you a client, the account that went quiet because it wasn't on anyone's list. That's a meaningful percentage of placements, and it's the percentage you can't see without it.
We build joined candidate and client pipelines for US recruiting and staffing agencies. See how it fits together, or tell us what you're running now.