A hiring spreadsheet almost always starts the same way. One tab, one row per applicant, columns for name, role and the date the application arrived. For the first two weeks it is the best tool in the building. Then a second person joins the hiring, a second role opens, and somebody sends a rejection to a candidate who had already been booked for a second interview.
That failure is not a formatting problem, and no amount of conditional colouring fixes it. It happens because a spreadsheet records what a candidate is, and hiring runs on who is doing what about them next. Most applicant tracking templates on offer are built around the first question and quietly assume a single person is answering the second. This is what to put in the template, what to define before anyone types into it, and where the shape stops holding.
The columns that earn their place on day one
Start narrower than the templates suggest. A tracker with forty columns collects thirty empty ones, and empty columns train people to skip the tracker entirely.
| Column | What it is for | Who fills it |
|---|---|---|
| Applicant name | The row label | Copied from the application |
| Role and requisition | Separates two open roles that share a pipeline | Copied from the application |
| Date received | The clock every other date is measured against | Copied from the application |
| Source | Where the application came from | Copied from the application |
| Stage | Where the candidate is now | The owner |
| Owner | The one person responsible for the next move | The hiring lead |
| Next action and date | What has to happen and by when | The owner |
| Last contact | The date the candidate last heard anything | The owner |
| Outcome and reason | Why the process ended | The owner |
| Link to documents | Where the CV and portfolio actually live | Whoever received them |
Four of those columns describe the candidate and are pure transcription. Six describe the process, and those are the ones that decide whether the tracker is worth keeping open. A template that ships with fifteen candidate attributes and one status column has the ratio backwards.
Two columns are worth arguing about. Last contact is the single most useful field in the sheet, because silence is the failure mode nobody notices. A candidate stuck in screening for nine days looks identical to one stuck for two unless a date is written down. And the link column exists because attachments do not belong in a spreadsheet cell. Put the files in one folder per role, name them by candidate, and link to them, so the tracker stays small enough to open on a phone.
Avoid free text scoring columns at this size. A column called notes fills with half sentences that mean nothing three weeks later, and a column called score fills with numbers that three people calibrated differently. If interview feedback matters, it belongs in a structured form with the same questions for every candidate, which is a separate exercise from the tracker.
Statuses only work when somebody writes down what they mean
Pick five stages, no more, and write a one line definition of each next to the tracker. The definitions matter more than the names.
A workable set for a small team: New, Screening, Interview, Offer, Closed. What turns that from decoration into a system is the entry condition. New means nobody has looked at it. Screening means one named person has it and has not decided. Interview means a time is booked or an invitation has been sent. Offer means terms have gone out. Closed means the candidate has been told, in writing, that the process has ended.
That last definition is the one teams skip, and it is why rejection backlogs form. If Closed simply means the team lost interest, the sheet will show a tidy pipeline while a dozen people are still waiting for an answer. Tie the status to an action taken towards the candidate rather than to a feeling inside the team, and the tracker starts reporting reality.
Two mechanical points. Use a dropdown, not free typing, because Screening, screening and Screen will not group in a filter and somebody will eventually report the wrong number to a manager. And keep a separate outcome column rather than expanding the status list into Closed - no reply, Closed - rejected, Closed - withdrawn. Stage answers where they are, outcome answers why it ended, and merging them produces a list of eleven statuses that nobody can hold in their head.
The four things a shared sheet cannot do
These limits show up at roughly the same point in every team, usually in the second month.
A cell has no owner. A name typed into an owner column is a label, not an assignment. Nothing prompts that person, nothing tells them the row has been reassigned, and nothing stops two people editing the same row within the same minute. Both edits save, the last one wins silently, and the earlier one is only recoverable through version history if somebody notices it is gone.
The reply is somewhere else. The tracker says contacted on the eleventh. What was said lives in one person's sent folder. When that person is on leave and a candidate replies asking about the salary band they were quoted, the answer is unavailable to everybody else on the team.
Access is all or nothing. A hiring manager who needs to see six candidates for their own role gets the whole sheet, including salary expectations and outcomes for every other role. Google Sheets can protect a range, and Excel can lock cells on a protected sheet, but both protect against editing rather than against reading, and a candidate list is a set of personal records that a team has a duty to keep narrow.
There is no record of who changed what. Version history exists in both Google Sheets and Excel on OneDrive or SharePoint, and it is genuinely useful for recovering a deleted block. It is not a usable audit trail for a specific candidate, because reconstructing one person's history means stepping through file level revisions looking for a single cell.
None of this is an argument that spreadsheets are the wrong tool. For one role, one recruiter and thirty applications, the spreadsheet wins on speed and nothing else comes close. The argument is that these four gaps are structural, so they do not close by adding columns.
What has to be kept, and for how long
Retention is the part of hiring that a template will never remind anybody about, and it cuts both ways.
For employers in the United States, the EEOC states that its regulations require employers to keep all personnel or employment records for one year, and that where an employee is involuntarily terminated, their personnel records must be retained for one year from the date of termination. That is a floor rather than a target, and industry or state rules can sit on top of it. The practical consequence for a tracker is that deleting rows to tidy the sheet is the wrong instinct. Archive the tab instead.
The opposite pressure applies to everything that is not a record. Unsuccessful applicants' CVs, portfolios, identity documents and interview notes accumulate in shared drives and inboxes with no expiry date attached. Decide the retention period once, write it into the same document that holds the status definitions, and put a date in the calendar. A folder per role makes this an afternoon rather than a project, which is the practical case for the link column described earlier.
One more habit worth forming early. If a candidate asks what has been recorded about them, the answer should be findable without a search across three inboxes. A tracker where every application keeps its documents, its history and its replies in one place makes that a two minute job. A tracker that is only a spreadsheet makes it a small investigation.
When to add a column and when to change the shape
The honest signal is not the number of applications. It is the number of people who need to act on them.
| Situation | What holds | What breaks first |
|---|---|---|
| One recruiter, one role | A single spreadsheet tab | Nothing, until somebody else joins |
| One recruiter, several roles | Spreadsheet plus a role column and filtered views | Reporting, once statuses drift |
| Two or three people acting on the same list | Spreadsheet plus a strict owner column | Duplicate contact and lost replies |
| Hiring managers who see only their own role | Not a shared sheet | Confidentiality, immediately |
| Applications arriving through a form every day | A form tool that keeps owner and status on each response | Manual copying, and the errors it creates |
The middle rows are where most small teams sit, and they are also where the choice is usually framed too dramatically. The alternative to a spreadsheet is not a six figure recruiting suite. It is any tool where the submission itself carries a status, an owner and the thread of replies, so the record and the work happen in the same place. Several categories of tool do this, including form builders built around response management. Looking at how other teams route incoming submissions is a faster way to judge the fit than reading a feature list.
Three questions decide it. Does every application need exactly one named owner at all times. Does the reply need to be readable by somebody other than the person who sent it. Does anyone outside the core team need to see part of the list without seeing all of it. Two yeses out of three, and columns will not solve it.
Rejections belong in the template
The part of the pipeline that a tracker is least likely to cover is the end of it, which is also the part candidates talk about publicly.
Add two things. A column holding the date the outcome was communicated, separate from the date the decision was made, because the gap between those two dates is the entire problem. And a small set of standard messages, kept next to the tracker rather than in somebody's drafts, so that sending one is a thirty second job. Most rejection backlogs are not caused by callousness. They are caused by each message feeling like a piece of writing.
Keep the reason short and internal. The tracker needs enough to answer a later question about why a strong candidate was passed over, and the message to the candidate does not need to reproduce it. Where a team intends to contact somebody again for a future role, record that as an explicit outcome rather than leaving the row open, and give it a review date. An open row with no owner is a promise nobody has made.
What to change first
Add an owner column and a last contact column, then write one line defining each status and pin it to the top of the sheet. Those three changes remove most duplicate contact and nearly all silent stalls, and they cost an hour. When a single named owner and a visible reply history start to matter more than the flexibility of a grid, move the list somewhere each submission carries its own owner and status, whether that is Halict or any tool built on the same idea.
Q1. What columns should an applicant tracking template have?
Ten are enough: name, role, date received, source, stage, owner, next action and date, last contact, outcome and reason, and a link to the documents. Four of those are copied straight from the application and six describe the process. Templates that ship with dozens of candidate attributes and one status column collect empty cells.
Q2. How many hiring stages should a small team use?
Five, with a written definition for each. A usable set is New, Screening, Interview, Offer and Closed, where Closed means the candidate has been told in writing rather than meaning the team lost interest. Keep the reason for the outcome in a separate column so the stage list stays short enough to remember.
Q3. When does a hiring spreadsheet stop working?
When more than one person needs to act on the same list. A cell has no owner, so nothing prevents two people contacting the same candidate, and the last edit silently overwrites the earlier one. The trigger is the number of people acting, not the number of applications.
Q4. How long do job applications need to be kept?
In the United States, the EEOC states that its regulations require employers to keep all personnel or employment records for one year, with an extra year from the date of termination where an employee is involuntarily terminated. Local and industry rules can extend that, so treat one year as a floor. Archive rather than delete, and set a separate expiry for material that is not a record, such as unsuccessful applicants' documents.
Q5. Should interview feedback go in the tracker?
No. A free text notes column fills with fragments that mean nothing weeks later, and a score column fills with numbers that different interviewers calibrated differently. Use a structured feedback form with the same questions for every candidate, and link it from the tracker row.
Q6. Can a spreadsheet show only one role to a hiring manager?
Not safely. Google Sheets can protect a range and Excel can lock cells on a protected sheet, but both restrict editing rather than viewing, so anyone with the link can read every row. Where a manager must see only their own role, the list needs to live somewhere that controls access per record.