04 Sept 2026

Job Application Tracker Template: Columns, Statuses, and Follow-Up Formulas

Job seeker updating a job application tracker spreadsheet with status and follow-up date columns

An unknown number calls you at 11:40 on a Tuesday. The voice says the company name, and you have no idea which role it is, which resume you sent, or whether you applied last week or three weeks ago. That gap between what you did and what you can recall is the whole problem.

Most advice about this points you at a video where someone builds a spreadsheet on camera, and the comments all ask the same thing: where do I download the file. A file would not fix much anyway. The part that breaks is the moment you decide whether a row is worth updating at all.

So this is a job application tracker template written as a specification instead of a download: which columns earn their place, one status vocabulary with rules for entering and leaving each state, date formulas that tell you what is overdue, and a thirty minute weekly review. Build it once in whatever tool you already open every day, so the file can show where you applied, what you sent, and who replied.

Quick answer: A working tracker needs about twelve columns, one status vocabulary, and two date fields that surface what is overdue on their own. Build it in the tool you already open daily, back-fill only the applications you can still act on, and update the row at the moment you hit submit. The follow-up date counts forward from the date applied, and an aging column counts days since last contact.

What a Job Application Tracker Template Has to Do

A tracker is external memory. You design it from the actions you take, not from how the sheet looks in a screenshot, and every column has to survive the test of being filled in while you are tired.

Four jobs matter. Everything else is decoration.

  • Remember where you applied. So you do not send a second application to the same role, and so you recognize the company when it calls you.
  • Tell you what to do today. One glance should produce a short list of rows that need something from you now.
  • Hold the evidence of each application. Which resume version went out, which posting text you answered, who you spoke to.
  • Show how many rows sit in each stage. A count per status, nothing more elaborate than that.

A feature that serves none of those four costs you fill-in time and gives nothing back. That filter explains the rest of this piece: twelve columns instead of thirty, nine statuses instead of a mood scale, four formulas instead of a dashboard.

The tracker also has a boundary. It records what happened. Reading the numbers to find where your search is breaking is a separate exercise, and it belongs with job search metrics.

The Core Columns of a Job Application Spreadsheet

These twelve columns carry the whole job application spreadsheet. For each one, the useful question is what breaks when it is missing.

ColumnWhat goes in itWhy it earns its place
CompanyThe name the way you will search for it later, including the short form people actually sayWithout it you cannot match an incoming call or email to a row in under five seconds
Role title exactly as postedCopy and paste, no cleanupYour shortened wording breaks search and interview prep, since the interviewer talks about the posted title
Date appliedThe day you submittedThe anchor for every date formula in the file
SourceCareer page, aggregator, niche board, referral, recruiter outreach, quick-apply, auto-applyShows which channels are eating your hours, and tells you where the confirmation email will come from
Job posting link and saved copyURL plus a note that the full text is savedThe link dies when the posting closes, and the text you need for interview prep dies with it
Resume versionThe exact file name you attachedPrevents the pre-interview scramble where three tailored versions look almost identical
Cover letterFile name, or a dash if you sent noneYou need to know what claims you already made before you repeat or contradict them
StatusOne value from the status list, never typed by handFree text turns one state into three spellings and kills every count
Next actionThree words: follow up, prep call, send referencesTurns the row into a task instead of a record
Next action dateThe date that action is dueMakes the file able to answer "what is on me today"
Last contactThe date of the most recent message either directionFeeds the aging column and the ghosting rule
Contact name and channelPerson plus where you talk to them, email, phone, or a platformWithout it you write "following up" into a void and cannot tell who owes you an answer

Six more columns earn a place when your situation calls for them: location and time zone, work model, salary as printed in the posting, referral name, confirmation number, and a small notes field. Add one only if you can name the moment it would change what you do next.

Two habits keep the notes field from becoming a liability. Write notes you would be comfortable showing to the person they describe, and keep the file in your personal account. No document numbers, no passwords, no salary figures belonging to other people.

Columns to Skip, and Why Trackers Get Abandoned in Week Three

Trackers rarely die from lack of discipline. They die because each new row started costing ninety seconds instead of fifteen, and at four applications a day that is a chore you will quietly stop doing. Subtracting columns is the maintenance work nobody demonstrates on camera.

  • Interest score from 1 to 10. You cannot calibrate it, and it changes nothing about your next action.
  • A priority column next to status. It duplicates status and the two drift apart within a week.
  • A salary range you guessed. Invented numbers get treated as facts by your future self.
  • One column per interview round. Ten mostly empty columns for the two rows that got that far. Put rounds in the notes.
  • A KPI block with fifteen measures. Counts by status are enough inside the tracker.
  • Seven color codes. Two colors carry meaning; the rest become wallpaper.
  • Manual totals you retype. A formula does this without lying to you.
  • A separate tab per month. Splitting the data breaks every count and every filter you will want later.

The filter is simple: a column stays if filling it takes seconds and it changes your next action. Everything else is a thing you will maintain for two weeks and resent for the rest of the search.

One Status Vocabulary: Saved, Applied, Screening, Interviewing, Offer

Dropdowns are easy. Definitions are the part that gets skipped, which is why the same kind of application ends up in Applied on Monday and Screening on Thursday. Nine statuses, each with a rule for entering and leaving it, keep the file consistent enough to count.

One status vocabulary for a job application tracker: applied, screening, interviewing, offer
StatusWhat it means exactlyEnter it whenLeave it when
SavedA role you intend to apply toYou find a posting worth answeringYou submit, or the posting closes
AppliedSubmitted, no human contact yetYou hit submitAny person responds, or your ghosting timer expires
ScreeningA recruiter or HR is talking to you before any hiring team roundA screening call is offered or scheduledYou are moved to a hiring team round, rejected, or you withdraw
InterviewingYou are in rounds with the hiring teamThe first hiring team interview is scheduledAn outcome arrives in either direction
OfferTerms are on the table in writing or verballyThe company states an offerYou accept, decline, or the offer is withdrawn
RejectedThe company said noYou receive the no, at any stageNever, unless they reopen the role with you
GhostedSilence past your own timer after contact or submissionThe timer runs out with no replySomeone finally replies, and you move it back
WithdrawnYou stopped itYou take yourself out for any reasonNever
ClosedThe role is gone: pulled, filled, frozenYou see the posting removed or hear it is filledNever

Two states cover different silences, and the difference matters when you scan the file. Ghosted means nobody said anything to you. Closed means the role itself ended, whether or not you were told.

Ghosted Is a Timer, Not a Feeling

Pick one number of days since last contact and apply it to every row the same way. For example, you might choose fourteen days or twenty one days. The number itself is your call, and no number here is a claim about how employers behave. What matters is that the same rule closes every row, so the file stops holding dozens of open applications that ended months ago.

Silence after real contact stings more than silence after a submit button, especially when someone wrote to you first, booked a call, and then vanished. That silence says nothing about your candidacy. What to do about it is covered in what to do when a recruiter ghosts you. Inside the tracker, it is only a timer.

Formulas That Handle Follow-Up Dates, Aging, and Counts

Four mechanics do all the work. Write them against your own cell references, and expect the syntax to differ by tool: spreadsheet functions and Notion formula properties are different languages, so each mechanic below is given per tool.

Put the nine statuses on a separate sheet or list, then point a data validation rule at it so the Status column can only take those values. In Notion, the equivalent is a select property with nine options and nothing typed by hand. Once one state exists as "applied", "Applied", and "APPLIED", every count in the file is wrong and you will not notice for weeks.

The Follow-Up Date That Fills Itself

Next action date starts as Date applied plus a fixed number of days, and you can overwrite it whenever reality says otherwise. In Google Sheets, with the applied date in column C, that is =C2+7, or =WORKDAY(C2,5) if you would rather land on a business day. In Excel, inside a formatted table, the same idea reads =[@[Date applied]]+7 or =WORKDAY([@[Date applied]],5). In Notion it is a formula property along the lines of dateAdd(prop("Date applied"), 7, "days").

The rule that keeps the file alive: this field is never empty. Every row always names a date on which you will look at it again. What to actually write when that date arrives belongs to following up on a job application, and no message templates live in the tracker.

Days Since Last Contact

An aging column tells you which rows have gone quiet without your having to read them. In Sheets and in Excel this is =TODAY()- your last contact cell, formatted as a plain number. In Notion, use dateBetween(now(), prop("Last contact"), "days"). Sort by that column once a week and your Ghosted candidates line up at the top.

Then let the file point at overdue work. A conditional formatting rule that highlights a row when Next action date is not empty and is on or before today does the job in both spreadsheets. In Notion, a filtered view called Due today does the same without any color. Two colors maximum: one for overdue, one for Offer.

Counts by Status

One small block of counts, off to the side or on a second sheet, is all the reporting a tracker needs. In Sheets, =COUNTIF(Applications!H:H,"Applied") counts one status, with a row per status value. In Excel, =COUNTIF(Applications[Status],"Applied") does the same against a table column. In Notion, group a board or table view by the status property and the counts appear in the group headers.

Those counts answer one question: how many rows sit in each stage right now. Comparing them to each other, or to last month, is analysis rather than record keeping.

Which Resume Did You Send? Versions and Saved Job Postings

Tailoring resumes creates a filing problem. Four versions of the same document, similar file names, and an interview tomorrow for a posting that was taken down last week. A naming rule and a five item save routine fix it.

Name every outgoing file the same way: company_role_yyyy-mm-dd_v2. The company and role make it searchable, the date makes it sortable, and the version number tells you which draft the company has. Use the same pattern for the cover letter, and put the exact file name in the Resume version column.

Before you click submit, save these five things:

  • The PDF of the resume exactly as you sent it, not the editable master.
  • The cover letter, if you wrote one.
  • The full text of the posting, as a screenshot or pasted into a document.
  • The posting URL, even though it will eventually stop working.
  • The contact name and channel, when the application involves a person.

Keep one folder per application, named the same way as the files. In Notion, the row itself is a page, so everything lives inside it. The tracker then stores only the link to that folder or page, which keeps the sheet narrow.

You reread that saved posting text the night before an interview, and it also tells you whether your resume answered the stated requirements. The tracker only stores which version went out; what to change in each version is a separate question.

Google Sheets, Excel, and Notion: The Same Tracker in Three Tools

The tool that wins is the one already open on your screen every day. A tracker you have to remember to open is one you will update on Sunday from memory, which is the same as not having one. The spec above is identical in all three; only the mechanics have different names.

Job Application Tracker in Google Sheets

One sheet for applications, one narrow sheet holding the status list, and a small counts block. Point data validation at the status list, and use filter views rather than new tabs so that "due today" and "everything at Screening" do not fragment your data. Editing a status from your phone works well enough to update a row on the train. If you log most applications on the go, a linked form that appends a row is worth ten minutes of setup.

Job Application Tracker in Excel

Same layout, with one difference that matters: format the range as a table so formulas fill down automatically and structured references stay readable. Conditional formatting handles the overdue highlight, and slicers give you one-click filters by status or source. A file in a synced cloud folder is editable from a phone; a file that lives only on a laptop means logging applications in batches, so set a repeating reminder that will reach you.

Job Tracker in Notion

A database rather than a spreadsheet. Status becomes a select property, dates become date properties, and the aging and follow-up fields become formula properties in Notion's own formula language. The advantage is that each row is a page, so the posting text, your notes, and the sent files sit inside the application. The cost is that Notion invites you to build views for an hour instead of applying. One table view, one board grouped by status, one Due today filter, then stop.

Spreadsheet or Tracker App? A Decision Table

Plenty of job seekers are between paychecks and tired of every recommended tool asking for a card. A spreadsheet covers the whole spec on this page with no purchase, and paid tools buy convenience rather than capability.

Your situationWhat actually fitsWhy
A few applications a week, one resume versionSpreadsheet, twelve columnsVolume never exceeds what manual entry handles comfortably
High volume with many tailored versionsSpreadsheet plus a strict folder and naming ruleThe bottleneck is file management, and no tool removes that for you
You log from a phone and switch devices oftenA cloud spreadsheet or NotionSync and mobile editing decide this one, nothing else
You need reminders you cannot missYour calendar, with the tracker as the recordTrackers show a date; calendars interrupt you
You want counts by stageSpreadsheet with COUNTIF, or a Notion grouped viewFour formulas cover it
No money for tools right nowSpreadsheet, full stopEvery capability in this spec exists without paying anyone

If you are considering a paid tracker anyway, ask four questions before you enter a card. Can you export everything to a spreadsheet in one click. Does it capture the posting text or only the link. Does it let you define your own statuses. What happens to your data when you stop paying. No tool is being ranked here; those answers separate tools that fit your process from tools that expect you to fit theirs.

Setting It Up in One Evening (Including the Applications You Already Sent)

Build in this order and nothing blocks anything else:

  1. Type the twelve column headers in one row and freeze it.
  2. Add a separate sheet or list with the nine statuses.
  3. Attach the drop-down to the Status column.
  4. Add the two date formulas: follow-up date from date applied, and days since last contact.
  5. Add the overdue highlight and the counts block.
  6. Back-fill your recent applications.

Step six is where people stall. "I already sent eighty applications, it is too late to start" is the usual version, and it is wrong in a specific way: you do not need eighty rows, you need the rows you can still act on. Back-fill only applications where a follow-up, an interview, or a reply is still plausible. Everything older goes into one row-per-batch note, or straight to Closed in bulk.

Spend the evening on setup rather than archaeology. If you catch yourself reconstructing March from your inbox, stop and move on. If you are building this because recent applications went quiet, what to do when applications get no response handles that diagnosis separately.

The Weekly Review That Keeps a Job Search Tracker Alive

A job search tracker dies from staleness, not from bad design. Thirty minutes at the same time every week, with the same five item agenda, is what keeps the file trustworthy enough to act on.

  • Update statuses from your inbox, not from memory. Search the last week of mail, move rows, and correct dates you guessed at.
  • Clear everything whose Next action date has arrived. Do the action, then set the next date. Nothing leaves this step with an empty date field.
  • Apply the ghosting timer. Sort by days since last contact and move rows past your number to Ghosted, mechanically, without rereading them.
  • Refresh the counts block. Read the current number per status, confirm it matches what you believe, and leave it there.
  • Pick next week's applications from your Saved rows. You already researched them; that is what the status is for.

Keep the review to maintenance. Deciding what the pattern of counts means, or what to change in response, is a different task on a different day, and it belongs to job search metrics rather than to your Sunday cleanup.

One thing worth saying plainly: the only fair comparison for your numbers is your own file from a month ago. There are no benchmarks here, and any number you see elsewhere describes someone else's search. On how much volume to aim for, how many jobs to apply to per week takes that up directly.

Where the Rest of the Search Lives: Folders, Email, and Calendar

The tracker is one of five places, and pretending otherwise is how it becomes bloated. Each place holds one kind of thing.

  • The tracker. Status, dates, and pointers to everything else.
  • One folder or page per application. The sent PDF, the cover letter, the saved posting text.
  • A label and filter in your email. So confirmations and replies stop sinking under newsletters.
  • Your calendar. Interviews, and the follow-up dates you cannot afford to miss.
  • One reusable answers document. Employment dates, reference details, standard answers to the questions every application form repeats.

All five live in your personal accounts and on your own device, not in a work account you might lose access to on short notice. If you are searching while employed, how to job search while employed covers the separation in more detail.

Keeping the Job Application Log Honest When You Apply Fast

Not every application involves you typing into a form. Quick-apply buttons, a staffing agency submitting you, a friend passing your resume along, and automated tools all create applications without ever passing through your keyboard. Your job application log has to catch them anyway.

The rule is unforgiving because it has to be: if an application exists, it exists in the file. Otherwise the file lies to you, and you apply twice to the same role or fail to recognize the company that just called. When a third-party recruiter pitches you, ask for the company name and the exact role before they submit you. Without those two facts there is no row to create.

Automation raises the same requirement rather than removing it. Global Work AI includes AI Auto Apply, which sends applications by your rules and with your confirmation, and AI Job Recommendations, which surfaces roles matching your profile. Whatever sends the application, the row still needs the company, role, date, and resume version. On where automation helps and where it does not, see what to automate in job applications.

Frequently Asked Questions

What should a job application tracker template include at minimum?

Company, role title as posted, date applied, source, posting link with a saved copy, resume version, status, next action, next action date, last contact, and contact details. That prevents duplicate applications, missed follow-ups, and the pre-interview scramble for a posting that no longer exists. Add optional columns only when you can name the decision they change.

Is it better to track job applications in Google Sheets, Excel, or Notion?

The one you already open every day. Sheets can work well for phone edits, Excel for familiar formulas or offline work, and Notion for keeping posting text and notes inside each row. The spec is identical in all three, so the choice is about which file you will touch on a Wednesday night.

When should I mark an application as ghosted?

Pick one number of days since last contact and apply it to every row. You might set that at two or three weeks, and consistency matters more than the number. Ghosted is a bookkeeping state, so move the row back if someone replies later.

How far back should I go when I start tracking job applications?

Only as far as the applications you can still act on, usually the last few weeks. Everything older goes to Closed in bulk. Reconstructing months of history from your inbox burns the evening you meant to spend building the file.

Should I pay for a job tracker app or keep using a spreadsheet?

A spreadsheet covers every capability in this spec without any purchase, so start there and let a paid tool prove it saves time you can feel. If you do consider one, check whether it exports to a spreadsheet, captures posting text, allows custom statuses, and leaves your data readable if you stop paying.

How do I log applications I did not submit myself?

Create the row the moment you learn the application exists, whether it came from a quick-apply button, a recruiter, a referral, or an automation. Use the Source column to record the channel. When an agency contacts you, get the company name and role title before they submit anything.

How long does the weekly review take, and what if I skip a week?

Plan about thirty minutes for the five agenda items once the file is built. After a skipped week, avoid reconstructing it in detail: update statuses from your inbox, clear the overdue rows, apply the ghosting timer, and carry on from today.

Job Application Tracker Checklist

Build it once

  • Twelve columns in one header row, frozen.
  • A separate sheet or list holding the nine statuses.
  • A drop-down or select property on the Status column.
  • Follow-up date calculated from date applied.
  • Days since last contact calculated from today.
  • A conditional highlight for rows that are due or overdue.
  • A small counts block, one row per status.
  • The whole file stored in a personal account you control.

Every application

  • Create the row at the moment you submit, not that evening.
  • Paste the role title exactly as posted.
  • Record the resume version file name.
  • Save the posting text, the sent PDF, and the link in one folder or page.
  • Set a next action and a next action date before you close the tab.
  • Record the contact name and channel when a person is involved.

Every week

  • Update statuses from your inbox rather than memory.
  • Clear every row whose next action date has arrived, and set the next one.
  • Apply your ghosting timer by sorting on days since last contact.
  • Refresh the counts block.
  • Choose next week's applications from your Saved rows.

Before an interview

  • Open the row, the saved posting, the exact resume version you sent, and your notes.

Your next step today is small on purpose: type the twelve headers, then enter your five most recent applications. That small version is easier to keep using.

Related articles