Almost every piece of advice about applicant tracking systems starts from the same wrong premise: that an ATS is a robot judging your resume and deciding whether you deserve an interview. It is not. Understanding what one actually is changes which advice is worth following, and rules out most of it.
What an ATS actually does
An applicant tracking system is a database with a parser attached. When you upload a resume, the parser extracts text and tries to map it into structured fields: name, contact details, employment history with dates, education, skills. What lands in the database is that structured record, not your document.
A recruiter then searches and filters that database. They type a skill, a title, a location. Records that match come back. Records that do not are not rejected; they are simply not returned, which from your side is indistinguishable from rejection and rather more frustrating.
So there are exactly two ways an ATS costs you an interview. Your file parsed badly, so the record is wrong or incomplete. Or the record is fine but does not contain the terms anybody searched for. Every tip below addresses one of those two, and anything that addresses neither is noise.
The consequence most people miss
No applicant tracking system shows candidates a score. There is no number inside Workday or Greenhouse you can raise. Any ATS score you have seen, including ours, is a model built by whoever showed it to you. That is fine as long as they tell you how it works, which is why we publish ours in full.
1. Make the file parse before anything else
Formatting failures are the expensive ones, because they corrupt the record rather than weakening it. A resume that matches a job perfectly and parses into fragments loses to one that matches it adequately and parses cleanly.
The reliable failures are the same four every time. Multi-column layouts interleave: a parser reading left to right across the page produces alternating fragments of your sidebar and your job history. Tables flatten into a run of words with no structure left, which is why a skills grid so often disappears. Text placed in a document header or footer region is frequently discarded outright, which is why putting your phone number and email up there is the single most common way people become uncontactable. And icons carry nothing, so an envelope symbol beside an address leaves an address with no label.
One column, real body text, no tables, contact details in the first lines of the document itself.
2. Use the section headings a parser already knows
A parser maps headings against a vocabulary it was built with. "Experience", "Work Experience", "Professional Experience", "Education", "Skills", "Certifications" are all in it. "Where I've Made an Impact" is not.
When a heading does not map, the content beneath it does not get filed as employment history. It may survive as unstructured text, searchable but not filterable, so you drop out of any search that filters on years of experience. A distinctive heading buys you a moment of personality at the cost of a field.
3. Put keywords in the bullets, not just the skills list
A skills list is the weakest possible place to claim a tool. It is weak for a scoring model that weights where a term appears, and it is weak for the human who reads it next and finds no corroboration anywhere below.
Weak: Skills: Kubernetes, Terraform, AWS
Strong: Migrated 40 services onto Kubernetes, replacing hand-managed EC2 provisioning with Terraform modules the platform team still uses.
The second version contains all three terms, and it also survives the interview, which the first version does not.
4. Mirror the posting's vocabulary, including both forms of an acronym
Search is literal. A recruiter searching "SEO" will not find "search engine optimisation" unless the system expands it, and most do not. Write both, once: "search engine optimisation (SEO)". The same applies to spelling variants across markets, to "JavaScript" versus "JS", and to a certification's full name versus its initials.
Read the posting for terms it repeats. A word used three times in a job description is a word somebody will search for. A word used once, in the boilerplate about the company's values, is not.
5. Write dates one way, everywhere
"Jan 2021 - Present" on one role, "2019-2021" on the next and "March '18 to Dec '19" on a third gives the parser three formats to reconcile, and it will get at least one wrong.
The consequence is worse than untidy. A misparsed date produces an employment gap that does not exist, or a total years-of-experience figure that undercounts you, and both feed the filters recruiters run. Pick one format and use it for every single role.
6. Make your job title legible to an outsider
Internal titles are a private language. "Growth Ninja", "Customer Happiness Hero" and "Member of Technical Staff III" all describe real, often senior jobs, and none of them matches a search.
Put the industry-standard equivalent alongside it: "Growth Ninja (Marketing Manager)". You keep the accuracy of what you were actually called and gain the term somebody will search for. Do not simply replace it with a title you never held.
7. Turn duties into outcomes
This is the change with the most room left in almost every resume, and the only one that costs nothing but rewriting.
A duty describes the job you were given. An outcome describes what changed because you were the one doing it. "Responsible for the deployment pipeline" is the first. "Cut deployment time from 40 minutes to 6, which took releases from weekly to daily" is the second.
Take each bullet and ask what was different afterwards. If the honest answer is nothing, that bullet is costing you space it is not earning. Cut it.
8. Write links out as URLs
A hyperlink whose destination lives only in the file's metadata reaches the reviewer as the word "GitHub" and nothing else. Write the address as visible text. It is slightly less elegant and it is the difference between a portfolio somebody can open and one they cannot.
9. Name credentials in full, with the awarding body
"CPA" rendered as a badge image is not text. "AWS Certified Solutions Architect - Associate, Amazon Web Services, 2024" is text, contains the acronym and the expansion, and states when it was earned. In fields where a credential is the first filter applied, a credential a parser cannot find reads exactly like not having it.
10. Keep two versions and send the right one
The plain, single-column version goes to every application form. The designed version goes to the recruiter who emails you, to a referral, and into the interview loop, where a person is definitely the reader. Maintaining both costs nothing once the content is written, and it removes the false choice between a resume that parses and a resume somebody enjoys reading.
The metrics an ATS match score is made of
"ATS metrics" is a phrase people search for and rarely get a straight answer to, because most tools will not say what theirs are. Ours are seven, each scored from 0 to 100. The first five compare your resume against a posting and switch off without one. The last two read your resume on its own and are always scored:
- Keywords Match — how many of the skills, tools and domain terms the posting names appear in your resume.
- Title/Seniority Alignment — how close your titles are to the one being filled, in function and in level.
- Recent Experience — whether the relevant work is current, and whether the dates are legible at all.
- Achievements Quality — whether your bullets describe outcomes or duties.
- Education/Certs — whether the credentials the posting asks for are present and findable.
- Section Completeness — whether a summary, experience, education and skills section are all present.
- Bullet Quality — whether your bullets open on a weak phrase like "Responsible for", or are too short or too long to say anything.
The overall number is their weighted average. On a default profile, the first five carry keywords 40%, title alignment 25%, recent experience 15%, achievements 15% and education 5% of each other; section completeness and bullet quality then join at a flat 10% each and the whole set is scaled down to fit, landing around keywords 33%, titles 21%, recency 13%, achievements 13%, education 4%, completeness 8% and bullet quality 8%. Keyword match is then capped so it can never exceed 35 to 40% of that total however the profile is composed, with the excess redistributed to title alignment, recency and achievements, never to education. Those seven components carry 85% of your final score; a formatting check that reads your resume for parseability, not content, carries the other 15%.
That cap is the part worth knowing before you spend an evening on keywords. A model that lets keyword match run to 60 or 70% rewards pasting the job description into the footer in white text, and punishes a strong candidate whose vocabulary differs. Capping it means a resume cannot score well on terms alone, and cannot be sunk by them alone either. The full rubric, including a live worked example, is published on our methodology page.
How much of this changes with seniority
A great deal, and in a direction most advice gets backwards. The weights above are adjusted for the level of the role, and the adjustment is consistent: the more senior the job, the less keyword matching counts and the more your titles and outcomes do.
At intern and junior level, education is multiplied by 1.4 and title alignment by 0.7, because a graduate has no title history to align and the degree is the strongest evidence available. At director level, title alignment is multiplied by 1.4 and achievements by 1.2, while keyword match is multiplied by 0.8. At C-level, title alignment is multiplied by 1.6 and keyword match by 0.7.
The practical reading: if you are early in a career, name your coursework, your certifications and every tool you have genuinely used, because those components carry real weight for you. If you are senior, stop optimising the component that has just been multiplied by 0.8 and spend the time on scope. Team size, budget, remit, and what changed because you were there. A director-level resume dense with tooling keywords and thin on outcomes is optimised for the wrong half of the model, and reads that way to a person too.
What if there is no job description?
Two of the five metrics are questions about a specific posting: keyword match and title alignment both need something to match against. Score a resume with no job description and those components go inactive, their weight is redistributed across the rest, and what you get back is a general quality and readability score rather than a match score. It is useful for cleaning up a resume before you start applying. It is not comparable with a score produced against a real posting, and treating the two as the same number is the most common way people confuse themselves about their own progress.
What does not work
- White text keyword stuffing. Trivially detectable, and being caught reads as dishonesty rather than resourcefulness. It also does not achieve what people hope: keyword matching is capped in any competently built scoring model precisely because it is gameable, and a resume that matches on terms and nothing else fails the moment a person reads it.
- Claiming skills you do not have. It raises the keyword score and loses the interview. The model cannot tell; the interviewer can.
- Chasing a keyword count. There is no target number. Include the terms that are genuinely true of you and genuinely named in the posting, and stop.
- The one-page rule, applied universally. One page is right early in a career. Fifteen years of relevant experience compressed to one page reads as a candidate who cannot prioritise, not one who is concise.
How to check your own file
The cheapest test needs no tool at all. Open your PDF, select all, copy, and paste into a plain text editor. What you see is roughly what a parser sees.
- Is the reading order right, or do columns interleave?
- Did your contact details survive, or were they in a header region?
- Are the dates all there, in one format?
- Did the skills grid become a readable list or a run of words?
- Are your links visible as addresses?
If that text reads as a coherent document, the record built from it will be coherent too. If it does not, no amount of keyword work will help, because the keywords are landing in the wrong fields.
Where to go next
For what a match score is made of, including the exact weight each component carries and why keyword matching is capped, read our explanation of how ATS scores are calculated. For the format itself, the ATS resume examples show the same content with the presentation layer removed.
Check your resume against a real posting
Paste a job description and get the component breakdown: which terms are missing, which bullets read as duties, and where the points actually are. The method is published, so you can check the number rather than trust it.
Try the ATS checker free