A Free Job Application Tracker That Tells You Who to Chase
Job hunting goes wrong in two places: forgetting who has gone quiet, and never noticing which channel actually works. This tracker handles both — it flags applications that have heard nothing for too long, and counts interviews per source so you can see where your time is worth spending.
⬇ Download the Job Application Tracker (.xlsx)
Free, no email required. Works in Excel 2016 and later. Prefer Google Sheets? Open a copy in your own Drive.
The rest of this guide explains how it decides what needs chasing, and why the two rates it reports are kept separate.
Two columns are calculated. Everything amber has gone quiet past the threshold; everything grey is finished with.
What it does
| Sheet | What it's for |
|---|---|
| Applications | One row per application. You fill in six columns; Days quiet and Action calculate themselves. |
| Summary | Where everything stands, your response and interview rates, and which sources produce interviews. |
| Lists | The drop-down options, and the one setting that controls when something counts as gone quiet. |
Measuring silence
The tracker needs to know how long it's been since anything happened — which isn't simply the date you applied:
=IF($A2="","",TODAY()-MAX($D2,$F2))
MAX picks the later of the two dates. If they've replied, the clock restarts from the reply; if they haven't, it runs from the application date.
This works because an empty Last contact cell counts as zero, and any real date beats zero. It's a small trick, and it saves an extra nested IF that would otherwise be needed to handle "have they replied yet".
Deciding what needs chasing
=IF($A2="","",
IF(OR($E2="Offer",$E2="Rejected",$E2="Withdrawn"),"Closed",
IF($G2>=Lists!$E$1,"Follow up","Waiting")))
Closed cases are removed from consideration first — there's no point chasing a rejection. OR lets one test cover all three outcomes rather than three separate nested IFs.
Everything still live is then compared against the threshold. Note where that threshold lives: Lists!$E$1, a single cell. Change it from 10 to 14 and all 150 rows re-read it.
⚠️ This is worth doing with any number a formula depends on. Typing >=10 into 150 formulas works fine until you want to change it — then you're editing 150 cells and will miss some. One cell, referenced absolutely, is the difference between a sheet you can adjust and one you rebuild.
If nested IF logic is unfamiliar, the IF formula guide covers the ordering rules that matter here.
Three colour rules, in priority order
| Order | Formula | Fill |
|---|---|---|
| 1 | =$E2="Offer" | Green |
| 2 | =$H2="Follow up" | Amber |
| 3 | =$H2="Closed" | Grey |
An offer is technically closed, so without an order it would go grey — which is the wrong signal for the one row you want to see. Putting the Offer rule first, with Stop If True ticked, means it wins.
In Excel, rule order is set in Conditional Formatting → Manage Rules, and rules are evaluated top to bottom. Most people never look at that dialog, which is why overlapping rules so often produce colours nobody intended.
Two rates, deliberately separate
Response rate = replies ÷ applications sent
Interview rate = (interviews + offers) ÷ applications sent
Rejections count as replies. That feels wrong the first time you see it, and it's the point: the two numbers diagnose different problems.
- Low response rate — your applications aren't landing. That's a CV, cover letter or targeting problem
- Healthy response rate, low interview rate — you're getting read and then filtered out. Something later in the process is the issue
- Both healthy, no offers — the interviews themselves are where to focus
One combined "success rate" would hide all three distinctions behind a single discouraging number.
Which source actually works
The Summary counts applications and interviews per source:
=COUNTIFS(Applications!$C$2:$C$151, "LinkedIn",
Applications!$E$2:$E$151, "Interview")
+COUNTIFS(Applications!$C$2:$C$151, "LinkedIn",
Applications!$E$2:$E$151, "Offer")
Two COUNTIFS added together, because a row's status is either Interview or Offer, never both — so there's no double counting. That caveat matters: adding COUNTIFS results is only safe when the conditions can't overlap, as covered in the COUNTIFS guide.
The pattern this reveals is usually stark. Twenty applications is often enough to show that one channel produces nearly every interview and the others produce none — which changes where you spend the next month.
Building it from scratch
- Lists sheet — statuses in column A, sources in column B, and the follow-up threshold in a single cell.
- Applications sheet — Company, Role, Source, Applied, Status, Last contact, Days quiet, Action, Notes.
- Data validation on Status and Source, pointing at the Lists columns.
- The
MAXformula in Days quiet, the nested IF in Action. - Three conditional formatting rules, ordered with Offer first.
- Summary sheet — COUNTIF by status, the two rate formulas, COUNTIFS pairs by source.
Does this work in Google Sheets?
Yes. TODAY, MAX, OR, nested IF, COUNTIF, COUNTIFS and formula-based conditional formatting all behave identically. Rule order is set by dragging the rules in the conditional formatting panel.
When it misbehaves
Days quiet shows a huge number
The Applied date is wrong, or was entered as text. Excel reads a text date as zero, so the count runs from 1900.
Everything says Follow up
The threshold cell is empty. An empty cell reads as zero, and every application has been quiet for at least zero days.
Rows don't change colour
Usually a status typed by hand instead of chosen — "interview" with a lowercase i still matches, but "Interviewing" doesn't. Use the drop-down.
The offer row is grey rather than green
Rule order. Move the Offer rule to the top in Manage Rules and tick Stop If True.
Common questions
Should I really log rejections?
Yes. They're what makes the response rate meaningful, and a rejection from a company you liked is worth having on record when they advertise again in six months.
What's a reasonable follow-up window?
Ten working days after applying, or one week after any conversation. The template ships with 10; adjust it in the Lists sheet once and every row updates.
What response rate should I expect?
It varies far too much by field, seniority and market to give a number worth quoting. Its value is as a personal baseline: change one thing about your CV, send twenty more applications, and see whether your own figure moves.
Can I add interview dates and stages?
Add columns for them. If your process regularly runs to several stages, a Stage column with its own drop-down is more useful than stretching the Status list.
The short version
MAXof the application date and the last reply is what measures silence correctly.- Close out finished applications before testing how quiet they are.
- Keep the threshold in one cell and reference it — never type the number into every row.
- Order your conditional formatting rules, or an offer will show as closed.
- Response rate and interview rate diagnose different problems. Keep them apart.
- Count interviews per source after twenty applications, and reallocate your time.
Next steps: the Action column is nested IF logic, the source analysis is COUNTIFS with two conditions, and the same overdue mechanic drives the invoice tracker if you're chasing payments as well as employers.

Comments
Post a Comment