ATS Keywords List: How to Build One From a Single Job Ad
There is no universal ATS keywords list. Every downloadable "top 200 ATS keywords" file has the same flaw: an applicant tracking system does not hold a master vocabulary. It holds whatever a recruiter types into a search box, and what they type comes from their own requisition. The only list that can help you is the one you build from the ad you are about to apply to.
An ATS keywords list is the set of terms one specific job ad screens on, written in that ad's wording. The good news is that building one is a mechanical, roughly fifteen-minute job with a clear finished product. This page walks the whole thing end to end on a worked example: pull the raw terms, sort them into tiers, fix their wording, place them, and check the result. You finish with a table you can hold next to your resume, not a principle you have to interpret.
What an ATS keywords list is actually for
The list buys you visibility in a recruiter's search, not immunity from an automatic rejection. That distinction is worth being exact about before the method, because the popular framing is wrong in a way that leads to bad resumes.
Keywords mostly govern whether a recruiter can find you, not whether software throws you away. Greenhouse's own support documentation describes recruiters entering search terms in a Full Text Search field, after which "any candidates matching your search terms will display on the right side." That is a person searching a database. Nothing in it scores you.
The screening that is automatic tends to run on something else entirely. Greenhouse's auto-reject rules fire "based on an applicant's answer to a question," and the documentation restricts them to Yes/No, single-select and multi-select question types - your resume is not consulted. Oracle's Taleo works the same way: its ACE prescreening documentation defines a Required criterion as one that "absolutely has to be selected for the candidate to be considered for the job" and an Asset criterion as one that "would distinguish this candidate compared to others" - both of them competencies and questionnaire answers, not resume text.
So what does the keyword list do?
- Puts you in the result set when a recruiter searches their database for the role's core terms.
- Gives Workday's skills matching something to match. Workday's administrator documentation states its machine learning "uses logic to consider matches from the entire uploaded resume, not just the Skills section," and that "recruiters can select required or optional skills for job requisitions."
- Makes the six-second human skim land on the right words, which is the step everyone forgets is the actual gate.
Which is to say: build the list because it makes your resume legible to a search and to a person in a hurry. Do not build it because you believe a robot is counting. If you want the sourced version of that argument, we collected the measured numbers in the 2026 ATS statistics roundup, including where the famous "75% of resumes are rejected" figure came from. For the per-vendor detail, our ATS resume checker has a page per system - Workday, Taleo, Greenhouse and the rest - covering which of them scores keywords and which never does.
The job ad we are working from
Here is a mid-level data analyst posting. It is representative rather than copied from one employer - it is assembled from the phrasing that recurs across real postings for this role, so nothing here is one company's copyrighted ad text. The structure is the part that matters, and it is the structure every posting shares.
Senior Data Analyst - Commercial Analytics
You will own reporting for the commercial team, turning raw transactional data into decisions the business acts on. You will work closely with Finance and Sales stakeholders to define metrics, build dashboards and answer ad-hoc questions quickly.
What you will do
- Write and optimise SQL queries against our data warehouse
- Build and maintain Tableau dashboards used daily by commercial stakeholders
- Own the ETL pipelines feeding the reporting layer, working with our data engineers
- Run cohort and retention analysis to explain revenue movements
- Present findings to non-technical stakeholders and influence roadmap decisions
Requirements
- 4+ years in an analytics or business intelligence role
- Advanced SQL is essential
- Hands-on experience with Tableau or a comparable BI tool
- Strong stakeholder management and communication skills
- Experience with data modelling and data quality processes
Nice to have
- Python for analysis and automation
- dbt or a similar transformation framework
- Exposure to A/B testing or experimentation
- SaaS or subscription business experience
Step 1: Pull the raw terms into six buckets
Read the ad once with a blank document open and copy out every term that names something concrete. Six buckets catch almost everything, and using buckets stops you from collecting fifteen tool names and no methods:
- Job title and its variants. "Senior Data Analyst", "business intelligence", "analytics".
- Tools and technologies. SQL, Tableau, Python, dbt, data warehouse.
- Methods and processes. ETL, data modelling, cohort analysis, retention analysis, A/B testing, data quality.
- Qualifications and hard gates. "4+ years", degree requirements, certifications, licences, work authorisation, language requirements.
- Domain and business nouns. Commercial analytics, revenue, SaaS, subscription, Finance, Sales.
- Behavioural phrases the ad names explicitly. Stakeholder management, communication, presenting to non-technical audiences.
Two rules keep this bucket pass honest. Copy the ad's exact wording, even when it is clumsy - "stakeholder management" goes in as "stakeholder management", not as "worked with the business". And ignore boilerplate: benefits, the equal-opportunity paragraph and the company's mission statement contain no screening terms, however many nice words they use.
That pass on the ad above produces about thirty raw strings. Roughly a third will not survive the next step, which is fine - over-collecting then cutting is faster and more reliable than trying to judge each term as you read.
Step 2: Tier the terms using signals in the ad itself
You cannot cover thirty terms without writing a keyword-stuffed resume that a human will not read. So rank them, and rank them from evidence in the posting rather than from instinct. Four signals do the work:
- The ad's own labels. "Requirements", "essential", "must have" versus "nice to have", "preferred", "bonus". This is the single strongest signal and it is handed to you for free.
- Repetition. A term appearing in the title, the summary and the responsibilities is what this job is. In our ad, "stakeholder" appears three times in three different sections.
- Position. Terms in the first third of the ad are usually the ones the hiring manager wrote; the tail is often HR boilerplate or a wish list.
- Presence in the job title. Anything in the title is Tier 1 by definition, because it is the most likely thing a recruiter types into the search box.
Three tiers is enough. Tier 1 is required and must appear. Tier 2 is preferred and should appear if it is true of you. Tier 3 is context that makes the resume read as belonging to this world, worth one mention if it fits naturally.
Step 3: Fix the wording before the list is finished
A term you have written a different way is, to a recruiter's search, a term you do not have - recruiter search matches the literal text in your parsed profile. This is the step most guides skip, and it is where a list quietly stops working.
- Write acronyms both ways, once. "Extract, Transform, Load (ETL)" on first use covers a recruiter searching either form. Doing it once is enough; doing it every time reads as padding.
- Match the ad's spelling and spacing. "A/B testing" and "AB testing" are different strings. So are "data modelling" and "data modeling" - if the ad is British, be British.
- Do not substitute a synonym for the exact term. Add yours next to theirs instead. "Business intelligence (BI) reporting" carries both.
- Name the tool, not the category. "BI tool" matches nothing. "Tableau" matches the search a recruiter actually runs.
The finished ATS keywords list
Here is the completed artifact for the ad above: twenty-two terms, tiered, with the evidence that put each one in its tier and the section of the resume it belongs in. This is what "an ATS keywords list" should mean in practice.
| Term (as the ad writes it) | Tier | Why | Where it goes |
|---|---|---|---|
| Senior Data Analyst | Tier 1 | In the job title | Headline / target title |
| SQL | Tier 1 | Listed as "essential" | Skills + two bullets |
| Tableau | Tier 1 | Requirements, plus a responsibility | Skills + a bullet |
| stakeholder management | Tier 1 | Requirements, and "stakeholder" appears 3x | Summary + a bullet |
| business intelligence | Tier 1 | Named in the years-of-experience gate | Summary |
| data warehouse | Tier 1 | First responsibility listed | A bullet |
| ETL | Tier 1 | An owned responsibility, not a nice-to-have | A bullet, written out on first use |
| data modelling | Tier 1 | Under Requirements | Skills + a bullet |
| 4+ years | Tier 1 | Hard gate | Summary, stated as a number |
| dashboards | Tier 1 | Daily-use responsibility | Two bullets |
| data quality | Tier 2 | Requirements, but listed last | A bullet |
| cohort analysis | Tier 2 | Named responsibility, single mention | A bullet |
| retention analysis | Tier 2 | Named responsibility, single mention | Same bullet as cohort |
| communication | Tier 2 | Requirements, but generic | Summary |
| Python | Tier 2 | Explicitly "nice to have" | Skills |
| dbt | Tier 2 | Explicitly "nice to have" | Skills |
| A/B testing | Tier 2 | "Exposure to" - a soft ask | A bullet, if genuine |
| commercial analytics | Tier 2 | In the title suffix and the summary | Summary |
| SaaS / subscription | Tier 3 | Nice-to-have domain context | Employer descriptor line |
| revenue | Tier 3 | Appears once, as an outcome | A quantified bullet |
| Finance and Sales | Tier 3 | Names the internal audience | Stakeholder bullet |
| non-technical stakeholders | Tier 3 | Phrasing of a Tier 1 idea | Presentation bullet |
Notice how few of these are exotic. The value of the list is not that it found rare words; it is that it is finite, ranked, and tied to one posting, so you can check your resume against it line by line instead of vaguely "adding keywords".
Step 4: Place the terms, and spread them
A keyword list dumped into a skills block is the most common way this goes wrong: every term is present and none of them has evidence behind it. That is why the last column of the table is doing real work.
Workday's documentation is useful here, because it says explicitly that its skills matching considers the whole uploaded resume rather than only the Skills section. So a term inside a bullet counts, which means you can and should put the important ones where the proof is.
A simple placement rule
- Title and headline: the target job title, honestly framed.
- Summary: two or three Tier 1 terms plus the years-of-experience gate.
- Skills block: tool names, in plain comma-separated text - no tables, no columns, no icons.
- Bullets: every method and process term, attached to the thing you actually did with it.
- Nowhere: white text, hidden margins, keyword footers. These are visible to any recruiter who selects the text, and they read as an attempt to cheat.
If you want the full rewrite process rather than just placement, the seven-step guide to tailoring a resume to a job description covers reordering, cutting and the before/after of a rewritten bullet. And if you would rather not build the list by hand, our job description keyword finder pulls the same terms out of a posting in one step.
Step 5: What to do about a term you cannot honestly claim
Every list produces two or three terms you do not have. There are exactly three legitimate moves, and inventing experience is not among them - the term will come back at you in a technical screen.
- Find the adjacent truth. The ad wants dbt; you have written scheduled transformation jobs in SQL. Say that, in the ad's vocabulary: "built and scheduled SQL transformation models feeding the reporting layer". You have not claimed dbt, and a reader sees the transferable work.
- Demote it and move on. A Tier 2 or Tier 3 term you lack costs you very little. Leave it out and spend the space on a Tier 1 term you can prove.
- Treat a missing Tier 1 term as information. If you cannot support two or three Tier 1 terms, this posting is probably not a good use of an application. That is a genuinely useful output of the exercise, and the reason building the list before applying beats building it afterwards.
Step 6: Check the list against the resume you are about to send
The final pass is mechanical. Open your resume, search it for each Tier 1 term as written, and confirm the term is present, in the section you assigned it, and attached to evidence. Anything missing is a concrete edit, not a vague worry.
Two automated checks are worth running at this point, both free. The Job Description Keyword Finder does the whole extraction and comparison for one posting and returns the missing terms ranked, which is a good way to catch what your manual pass dropped. The free ATS Resume Checker answers a different question - whether the file parses cleanly at all - which matters because a resume whose text cannot be extracted has no keywords in it regardless of what you wrote.
Related resources
- Job Description Keyword Finder - paste one ad and your resume, get the missing terms
- How to tailor a resume to the job description - the seven-step rewrite
- ATS resume checker - score your resume against Workday, Taleo, Greenhouse and the rest
- ATS statistics for 2026 - the measured numbers, and the ones with no study behind them
Frequently Asked Questions
What is an ATS keywords list?
It is the set of terms one specific job ad screens on, written in the wording that ad uses. It is not a universal list you can download once and reuse. Recruiters search their applicant tracking system by typing terms they took from their own requisition, so the list that matters is always the one you build from the posting in front of you.
How many keywords should be on my resume?
Count requirements, not keywords. A typical ad yields roughly 18 to 25 usable terms once you have pulled the job title, the tools, the methods, the qualifications and the domain nouns. Aim to cover every Tier 1 term you can support honestly and as many Tier 2 terms as your real experience allows. There is no vendor-published density target, and no evidence that hitting a percentage helps.
Should I copy keywords exactly as the job ad writes them?
Copy the exact string, then add your own variant beside it. Recruiter search matches the text in your parsed profile, so if the ad says stakeholder management and your resume only says worked with the business, the term is not there to find. Write acronyms in full on first use with the short form in brackets, for example Extract, Transform, Load (ETL), so both spellings exist in the document.
Do applicant tracking systems reject resumes for missing keywords?
Rarely, and not in the way most advice implies. Greenhouse's auto-reject rules fire on an applicant's answer to a job post question, not on resume content. Oracle Taleo's ACE prescreening ranks candidates on competencies and questionnaire answers marked Required or Asset. Missing keywords usually cost you visibility in a recruiter's search rather than triggering an automatic rejection.
Where should the keywords go on my resume?
Spread them. Put the target job title in your headline, the core tools in a plain-text skills block, and the methods and domain terms inside the bullet points that prove you used them. Workday's documentation states that its skills matching considers the entire uploaded resume rather than only the Skills section, so a term buried in a bullet still counts, and a term that appears only in a skills list has no evidence behind it.
Conclusion
An ATS keywords list is a per-ad artifact with about twenty-two rows in it, and building one takes fifteen minutes of mechanical work: six buckets, three tiers, a wording pass, a placement column, and an honest reckoning with the terms you cannot claim. Do that for the next posting you care about, and the resume you send will match the search a recruiter runs and the skim a hiring manager gives it. Do it before you apply, and the list will occasionally tell you not to bother - which is worth the fifteen minutes on its own.