How Applicant Tracking Systems (ATS) Actually Work, and How to Get Your Resume Past One
"The ATS will reject your resume if it's not optimized" is repeated so often that it's treated as settled fact, and it's led to some genuinely bad advice — invisible white text stuffed with keywords, resumes that read like keyword soup for a human, elaborate formatting workarounds for problems that don't exist at most companies. Here's what an ATS actually does, and what's worth doing about it.
What an ATS is actually for
An Applicant Tracking System is, first and foremost, a database and workflow tool for recruiters — it stores applications, lets a hiring team leave notes, tracks a candidate through stages, and schedules interviews. Parsing and ranking resumes is one feature among many, not the system's entire purpose. The popular image of an ATS as a strict autonomous gatekeeper that auto-rejects resumes missing the right keywords describes a minority of setups, mostly at very large companies with very high application volume. At most small and mid-size companies, a human still opens and reads every application; the ATS is where they do it, not a filter that decides for them.
Where the real risk is: parsing, not scoring
The genuine, well-documented failure mode isn't "the algorithm decided you're not a match" — it's parsing errors: the software misreads your resume's structure and drops or garbles information before a human ever sees it. This happens for specific, avoidable reasons:
- Multi-column layouts and tables — many parsers read left-to-right, top-to-bottom in a single stream, so a two-column layout can interleave your work history with your skills list into nonsense.
- Text inside images, headers, or footers — a name or contact info placed in a document header/footer, or a skills section rendered as an image, is often invisible to a parser entirely.
- Unusual section headings — "Where I've Been" instead of "Experience" can fail to map to the field a recruiter is searching by, even though a human would understand it instantly.
- Uncommon file types — a .pages file or a scanned image-based PDF may not parse at all; a standard, text-based .pdf or .docx is the safe choice.
The fix for all of these is the same: a single-column, standard-section, plain-text-based resume. Not because it looks more "optimized," but because it's mechanically readable by software that is often less sophisticated than people assume.
What keyword matching actually rewards
Where systems do rank or filter by keywords, they're generally matching literal terms from the job posting against literal terms in your resume — not evaluating whether you're a good fit in any deeper sense. This means two things are simultaneously true: keyword stuffing in invisible text is a bad idea (some systems flag it, and any human reviewer who opens the file directly will see it and lose trust in the rest of the resume), and honestly mirroring the posting's real terminology is good practice, not a trick. If the posting says "stakeholder management" and your resume says "worked closely with clients," rewriting your bullet to say "stakeholder management" — when that's an accurate description of what you did — helps both the software and the human reviewer recognize the match faster.
A short, honest checklist
- Single-column layout, standard fonts, no text boxes or embedded images for content that matters.
- Standard section headings: Experience, Education, Skills — not creative alternatives.
- Save as .docx or a text-based .pdf (never a scanned image or an unusual format).
- Mirror the posting's real terminology where it's an honest description of your experience, concentrated in the top third of the document.
- Spell out both the acronym and the full term at least once ("Search Engine Optimization (SEO)") since you don't know which form a given system searches for.
None of this replaces having genuinely relevant, well-described experience — it just makes sure that experience actually gets read instead of getting lost to a parsing error. The harder problem underneath all of this is usually the one this checklist can't fix: writing a resume and application answers that are specifically true for each posting rather than generic. That's a content problem, not a formatting one, and it's what tailoring your resume per application actually solves. If you want that tailoring done from a real bank of your stories instead of rewritten from memory each time, that's what Story Bank is for — free tier, no card required.