A candidate sourcing tracker is a spreadsheet built specifically around how candidates actually reach you, not a generic pipeline sheet with a single "source" column. The version that holds up under real outreach volume gives LinkedIn, GitHub, event/community and referral candidates their own tracking fields, plus a shared scoring and status flow that keeps every channel comparable.
Search for "candidate sourcing tracker template" and most results look the same: name, email, stage, source, next step. That structure works fine when applicants come to you. It falls apart the moment you have to go hunting for people yourself, because a LinkedIn Sales Navigator lead, a GitHub profile, a warm intro at a meetup and a referral from your best engineer all need different information logged next to them before you can judge whether outreach is actually working.
- A generic five-column sheet cannot tell you whether your LinkedIn InMail response rate is healthy or whether you are one flagged campaign away from a restricted account.
- Manually reviewing a single GitHub profile for commit activity and code quality takes roughly one to two hours, so the tracker needs to protect that time rather than waste it.
- Referral hires close about two weeks faster than job-board hires, a gap only visible if the referrer's name and relationship depth are logged, not just the word "referral."
- Candidates who are not right for this role but worth keeping need a tagging system, or your "future talent pool" turns into an unusable pile of names.
What Columns Belong in a Candidate Sourcing Tracker?
A candidate sourcing tracker needs eleven core columns that apply regardless of channel, covering who the candidate is, when you reached out, how they responded and what happens next. Build these as the header row of a blank Excel workbook or Google Sheet, freeze that row, and every candidate you source gets logged the same way from day one.
| Column | What it captures | Example entry |
|---|---|---|
| Source channel | Where this candidate was found | LinkedIn Sales Navigator |
| Candidate handle / URL | Direct link to profile, portfolio or repo | linkedin.com/in/janedoe |
| Role match | Open requisition this candidate fits | Senior Backend Engineer |
| Seniority | Career level read from experience | Senior, 7+ years |
| First-outreach date | Date the first message went out | 3 Feb 2026 |
| Response | Whether and when they replied | Yes, 5 Feb 2026 |
| Meeting scheduled | Screening call date and time | 10 Feb 2026, 15:00 |
| Screen result | Outcome of the initial screen | Pass, moving to hiring manager |
| Pipeline stage | Current funnel stage | Phone screen |
| Notes | Free-text context and flags | Open to relocation, 4-week notice |
| Next action | What happens next and by when | Follow-up email by 12 Feb |
This base structure is what most free recruitment tracker templates already offer. Where it earns its keep as a genuine sourcing tool is the layer most generic sheets skip: channel-specific columns that capture what actually predicts a good outreach outcome on each platform.
How Do LinkedIn, GitHub, Event and Referral Columns Differ?
Each sourcing channel needs two or three extra columns beyond the base eleven, because the signal that predicts a good candidate is different on LinkedIn than it is on GitHub or through a referral.
LinkedIn Sourcing Columns
Add a Sales Navigator lead status, an InMail type field (Standard or Open) with a response flag, and a message-length note. LinkedIn InMail messages average an 18 to 25 percent response rate, with well-personalized campaigns from top performers reaching 30 to 40 percent. Short messages under roughly 400 characters get about 22 percent higher response rates than longer ones, and most replies arrive fast: 65 percent within 24 hours, 90 percent within a week. Logging message length next to each send lets you see that pattern in your own outreach instead of guessing at it.
Good to know: LinkedIn now enforces a minimum InMail response-rate threshold on Recruiter accounts, warning or restricting profiles that fall below roughly 13 percent over a 14-day window once 100 or more InMails have gone out. Late in 2025, LinkedIn also cut Open InMail sends from around 800 a month to under 100, an 87 percent reduction. Track response rate per InMail type in your sheet so you catch a dip before it becomes an account restriction.
GitHub Sourcing Columns
Add a repo/profile URL with primary language, a last-commit-date field, and a short quality note covering commit messages, pull-request merges and README depth. These are the signals GitHub recruiting guides point to as the clearest read on a serious engineer, which matters because an estimated 70 to 75 percent of software engineers are passive candidates who rarely touch their LinkedIn profile. Reviewing one GitHub profile against these signals properly takes about one to two hours, and most technical roles need 50 or more candidates sourced, so the notes column is where that review time earns a return instead of getting redone from scratch later.
Event and Community Columns
Add an event or community name and a warm-intro-giver field. A conference, meetup or online community rarely gives you candidates in bulk. What actually converts is how warm the connection is, so the tracker needs to hold onto who made the introduction and what was actually discussed, since a name collected at a booth tells you nothing on its own. There's no standard response-rate benchmark for this channel like there is for InMail, so your own notes are the only benchmark you'll get. Over time they become the benchmark.
Referral Columns
Add a referrer name, a relationship-depth field (direct report, former colleague, professional acquaintance) and the referrer's team. Referral hires close in around 29 days on average, against roughly 39 to 44 days for job-board and career-site hires, and a large majority of employers, commonly cited between 82 and 88 percent across independent surveys, rate referrals as their best source of quality hires. None of that shows up in a tracker that only logs "referral" as a source. Relationship depth is what eventually tells you which referrers consistently send strong candidates, a pattern this referral-metrics framework breaks down further if you want to formalize it beyond a single tracker.
What Response Rates Should You Expect by Sourcing Channel?
Response-rate expectations vary sharply by channel, which is exactly why a single "response" column without channel context misleads you. LinkedIn InMail sits at 18 to 25 percent on average, GitHub and cold community outreach run lower because most of those candidates are not looking, and referrals are better judged by speed and quality than by a reply percentage.
| Channel | Typical first-touch signal | What to log in the tracker |
|---|---|---|
| LinkedIn InMail | 18-25% average, 30-40% for personalized top performers | Message length, InMail type, personalization note |
| GitHub outreach | No fixed benchmark; treat as passive-candidate outreach | Commit recency, review time spent, touch count |
| Event/community | No fixed benchmark; warm intro raises response sharply | Warm intro giver, discussion context |
| Referral | Judged on speed and quality over reply rate | Referrer, relationship depth, time-to-hire |
Open InMail volume dropped by roughly 87 percent since late 2025, so the response-rate column now tells you more than the outreach-volume column ever did. A recruiter sending fewer, better-targeted InMails and logging what worked builds a real personal benchmark faster than one still chasing send counts.
Why Does the Two-Touch Rule Belong in Your Next-Action Column?
The two-touch rule means you never write someone off after one message. The next-action column is where you either follow through on a second touch or quietly let it slide. Analysis of nearly 8 million recruiting outreach sequences shows cumulative replies reach about 15.8 percent by the second message and climb to roughly 21.3 percent by the fifth, after which additional touches add almost nothing.
A separate study of 12 million cold emails found that adding just one follow-up lifts total reply rates by about 65.8 percent compared with a single send. In passive-candidate recruiting sequences specifically, first-touch replies typically run only 10 to 15 percent, while 40 to 42 percent of a sequence's total replies arrive only after follow-ups two through four. If you stop at "sent, no reply" after one message, you're missing most of the replies you'd otherwise get.
Rule of thumb: Send touch one, wait three to five days, send touch two, wait about a week, send touch three with a different angle or channel. Only mark a candidate "Not Now" in the next-action column after touch three still gets nothing.
How Do You Tag "Not Now" Candidates for a Future Talent Pool?
Tag every "not now" candidate with three fields at minimum: a nurture-reason tag, a role-affinity tag and an engagement-level tag. Skip that structure and your nurture list is just a dump of names nobody ever opens again.
- Nurture-reason tag: why they are in the pool right now, such as silver medalist, timing mismatch, or future fit.
- Role-affinity tag: which role type or team they would realistically fit next time a req opens.
- Engagement-level tag: how warm the relationship currently is, active, warm or cold.
Example row: "Silver medalist, Backend, Warm" tells you instantly this person almost got an offer, fits engineering, and is worth a check-in call before a generic re-outreach email.
Add a "last touched" date next to these three tags. A talent pool nobody looks at for a year is worth nothing, no matter how many names are in it.
When Should Your Sourcing Tracker Graduate to an ATS?
A spreadsheet-based tracker works well for the first 20 to 50 candidates sourced per role, a range that reflects practitioner consensus rather than one verified study, and it converges with GitHub-sourcing guidance that puts the volume most technical roles need at 50 or more. Three concrete signals mark the point where it stops working: you are sourcing for more than one open role at once, two or more recruiters or hiring managers are editing the same sheet, or you cannot answer "how many candidates do we have for this role" without manually counting rows.
Since 2026, a fourth pressure has piled on that the spreadsheet era never had to handle: candidates increasingly arrive through overlapping channels at once. Once candidates who applied through a career page, LinkedIn, a referral and a job board get cross-matched, industry cleanup analysis puts the real duplicate rate at 15 to 20 percent, well above the roughly 5 percent most teams assume, a single-source estimate worth treating as directional rather than exact. A spreadsheet has no reliable way to catch that the "new" GitHub lead you just added is the same person your colleague already messaged on LinkedIn last month.
Sourcing itself now runs across more platforms than it used to. Modern AI-assisted sourcing platforms aggregate candidate signal well beyond LinkedIn, pulling from GitHub, Stack Overflow, patents and research publications, with several tools indexing 700 to 850 million combined profiles across sources. That is the practical shift from LinkedIn-only sourcing to multi-signal sourcing, and it is exactly the point where an AI sourcer that surfaces and de-duplicates candidates automatically, such as Sprad's AI Recruiter, starts doing work a spreadsheet structurally cannot.
Once that moment arrives, the tracker's column logic hands over cleanly to a pipeline system. Source channel, response, screen result and next action map directly onto an ATS candidate record, so nothing gets lost in the move. Sprad's free ATS is built for exactly that handoff, giving LinkedIn, GitHub, referral and community signals one shared pipeline of record alongside one recruiter's personal spreadsheet habits, now finally in sync across the whole team.
Where This Tracker Takes Your Sourcing Next
Honestly, the eleven columns matter less than the habit behind them. What pays off is logging channel, touch count and tags the same way from your very first candidate, because that habit is exactly what transfers cleanly into a pipeline system the day the spreadsheet stops scaling.
If you build this habit early, switching tools later barely registers as a change. Response rate, touch history and talent-pool tags already exist as clean data, so the switch is a lift-and-shift, not a rebuild.
Start with one open role. Build the eleven base columns plus the channel-specific fields for however you are sourcing today, run it for that first 20 to 50 candidates, and watch for the three graduation signals rather than waiting for the spreadsheet to visibly break.
Frequently Asked Questions
How many columns should a candidate sourcing tracker have before it becomes unwieldy?
Eleven base columns plus two to three channel-specific fields is the practical ceiling before a sheet becomes hard to scan. Beyond roughly 15 to 16 total columns, most recruiters stop reading rows carefully and start missing follow-ups, which defeats the tracker's purpose.
Can one spreadsheet track multiple open roles at once?
Yes, for a short period, using the role-match column to filter or sort by requisition. It gets unreliable once you are running more than two or three roles simultaneously, which is one of the three concrete signals that a dedicated pipeline system is overdue.
How do I handle a candidate who came through two channels, like a referral who is also active on GitHub?
Log the channel that generated the first genuine outreach as the primary source, and note the second channel in the notes field. This avoids double-counting the same person across your response-rate benchmarks while keeping both signals visible for context.
What is a reasonable response time to log before marking a candidate as unresponsive?
Wait three to five days after the first touch and about a week after the second before sending a third message. Only mark a candidate unresponsive in the next-action column after that third touch, since most recruiting replies that arrive at all come within the first week of a given message.
Should candidates who reply "not interested right now" be deleted from the tracker?
No, tag them for the future talent pool instead of deleting the row. A nurture-reason, role-affinity and engagement-level tag turns a "not now" into a warm lead for the next relevant opening, rather than a lost contact you have to resource from scratch.



