Resume Keyword Matching: How ApplyEze Tailors Each Resume

What ApplyEze's keyword matching adds to a resume, what it never touches, the code check behind it, and why you should check each resume it writes.

3D illustration of keyword chips flying from a job card into slots on a resume card with small padlocks
Illustrative image, generated with AI.
On this page 11 sections
  1. Why keyword matching matters
  2. What ApplyEze reads in a posting
  3. What it rewrites
  4. What it brings onto your resume
  5. What it never touches
  6. The code check
  7. No ATS score, by design
  8. What to do about added skills
  9. Where this fits
  10. Frequently asked
  11. Sources

Resume keyword matching means rewriting your resume so it uses the job posting's own words: the tools it names, the skills it asks for, the phrases it uses for the work. ApplyEze does this for every posting it applies to, and it also brings the posting's named skills and tools onto your skills line. This post explains exactly what that adds, what it never touches, the code check behind the line between the two, and what to do about it. It is written by the people who make ApplyEze, for a reader who is skeptical of it. That is the right reader to have.

Why keyword matching matters

The case is mechanical. Greenhouse, one of the most widely used applicant tracking systems, explains to candidates that its system "uses AI to analyze job descriptions and suggest relevant keywords" and synonyms "for recruiters to use in their search," and that "when recruiters search for these terms, they'll find exact matches in candidates' applications." Its full text search lists matching candidates with "a small snippet under their name" showing how the search terms are used in their profile.

So a recruiter who searches for "carrier performance" finds the resume that says "carrier performance". A resume that says "vendor delivery metrics" for the same work may not come up. Employers know this costs them people. In the Harvard Business School and Accenture "Hidden Workers" survey from September 2021, 88% of employers believed qualified high-skills candidates were screened out because they did not match the exact criteria in the job description, and 94% believed it for middle-skills workers. That is employer belief, not a measured rejection rate.

It is also more honest than the figure you will see everywhere else, that "75% of resumes are rejected by an ATS". Fortune traced that number in 2014 to a company called Preptel, a job search services firm, and even then said it "probably" came from there. No method behind it has been published. Keyword matching does not need the myth. Exact-match search is reason enough.

If you want the manual version of the method first, our guide to resume keywords walks through one invented posting by hand.

What ApplyEze reads in a posting

The tailor starts from the posting, not from your resume.

  1. It strips the parts about the employer. Company blurbs, pay and benefits text come out before anything is read for requirements, so "dental" in a benefits paragraph does not become a skill.
  2. It extracts the requirements without a language model. Skills, years of experience, degree and seniority are pulled by the same rule-based extractor our job discovery uses. That keeps the requirements list the same every time for the same posting.
  3. It splits required from preferred. Required skills carry more weight in what follows.

Only then does it look at you.

What it rewrites

Your real bullets are scored against those requirements and the strongest are kept. Skill groups, and the items inside them, are reordered so the evidence the posting cares about is read first.

A model then rewrites the kept bullets and writes a short summary for this posting. The instruction is direct: use the posting's keywords where they are true, inside the sentence, never tacked on and never repeated across bullets.

Here is an invented example. The company, the candidate and every detail are made up.

Posting: Operations Analyst, Fernhill Freight. Required: SQL, Tableau, Excel, carrier performance reporting. Preferred: Python, Snowflake.

Source bullet (Logistics Coordinator, two years): "Built weekly Power BI reports on delivery times for 14 regional depots."

Rewritten: "Built weekly carrier performance reports in Power BI covering delivery times across 14 regional depots."

The posting's phrase "carrier performance" is now in the bullet, so a search for it finds this resume. Power BI is still named, because a named tool beats a generic phrase like "business intelligence tools". The 14 is still 14. The title is still Logistics Coordinator, not Operations Analyst.

What it brings onto your resume

This is the part to read twice.

ApplyEze brings the posting's named skills and tools onto your skills line, even when your own record does not list them. There is no step to remove one before a live run, so use a dry run to see what it writes, and be ready to discuss anything on the page. Each skill the posting names as required or preferred joins the group it fits best. In the example above, the candidate's own skills line read "Excel, SQL, Power BI". The tailored one also lists Tableau, Python and Snowflake, because the posting names them.

Sentences work differently. The code check below rejects a rewritten sentence that names a skill your resume does not list, within the limits given there. So the skills line can say Tableau while the bullet still says Power BI.

It is built this way because keyword search is literal, and many candidates have adjacent skills they never wrote down. Someone who builds dashboards in Power BI can usually talk sensibly about Tableau; someone who writes SQL every day has often touched Snowflake. Adding them is a deliberate choice for getting past keyword screening. It is also the reason the next two habits are not optional:

  • Be ready to discuss anything on the page. A recruiter who finds you by searching for Snowflake will ask about Snowflake.
  • Check the tailored resume. Open it, at least for the first few applications in a new kind of role. A certification the posting asks for is not added unless you hold it, but any other skill the posting names can be on the page.

If that trade is wrong for you, the section below says what you can do about it.

What it never touches

Your employers, job titles, dates, schools, degrees and certifications come from your own record:

FieldExample from the invented candidate
EmployersFernhill Freight is never added to the history; the real employer stays
Job titlesLogistics Coordinator stays Logistics Coordinator
DatesStart and end dates print as you entered them
Schools and degreesPrinted from your education, never rewritten
CertificationsPrinted from your list as issued

These are not just instructions to the model. Employer names, dates, schools, degrees and certifications are rendered from your source data, not written as prose by the model, and the response it returns has no place to edit them. The model writes the summary and the bullets. Everything structural on the page is assembled from your resume. Code rejects a rewrite that adds a figure, employer, school or credential your record does not hold.

The code check

Instructions to a model are not a guarantee, so every rewritten sentence goes through a check in code before it can reach the page. The check compares the sentence against everything your own resume says.

  • Numbers. Any figure, percentage or money amount in the rewrite that is not in your resume is rejected. If the model turns "reworked the route assignment spreadsheet" into "cut late shipments 18%" and your resume never said 18%, the rewrite fails.
  • Names. A proper noun in the rewrite that appears nowhere in your history is rejected.
  • Skills. A named skill in a rewritten sentence that your resume does not list is rejected. The posting's skills reach the page another way: they are added to the skills line after the writing step, and this check does not hold that line to your resume. That is the deliberate gap, and it is why posting skills can appear.

When a sentence fails, the model is told exactly which claim was unsupported and gets one chance to fix it. If the fixed sentence still fails, the original bullet is printed instead. A clumsier true sentence beats a polished false one.

Two limits, in plain terms. The skill check reads skills with a taxonomy that is strongest on technical tools, so it reads "Python, dbt, Snowflake" well and competency language such as "stakeholder management" poorly. And the check proves a sentence adds no new number or name; it cannot prove you are good at what the sentence describes. That is why the advice to read the result stands.

After the check, the resume, and a cover letter when the form asks for one, are rendered as PDF and DOCX, and each file is read back the way a parser reads it, checking contact details, completeness, reading order and dates, before it is uploaded.

There is also a minimum keyword coverage setting, default 90, which makes the tailor rerun when too few of the posting's requirements appear. Treat it as a target the tailor works toward, not as a measure of how well you fit. Added skills count toward it, so a high number says the posting's words are on the page, not that you have done the work.

No ATS score, by design

ApplyEze does not give you an "ATS score", because no applicant tracking system exposes one to candidates. Greenhouse says its AI "doesn't score or rank applications" and that its auto-rejection rules are set by recruiters. Third-party scores measure the vendor's own formula. Jobscan, which sells a match rate, recommends aiming for 75% and warns on its homepage that it "might not be possible to score above 75% without overstuffing your resume with keywords." Our post on the resume ATS score covers where these numbers come from.

What we check instead is what can be verified: that a parser can read the file, in the right order, with your contact details intact.

What to do about added skills

Do not plan on switching the additions off. We cannot promise that any setting keeps the posting's skills off your skills line, so treat them as something you check. There is also no approval step before Submit, so do the checking first:

  • Put the skills you genuinely have into your source resume. A skill your record already holds is yours, not an addition.
  • Use dry run first. It fills the form and stops before Submit, and uses no credit as long as you have one left, so you can read a few tailored resumes before anything is sent.
  • Leave a posting out of your queue if its resume lists something you could not discuss. You choose what you queue.
  • Read your receipts. Each run's receipt includes the documents sent, so you can see what went to which employer.

This suits you if you apply to many keyword-screened roles, you have real adjacent experience, and you will read the result. It may not suit you if you work in a field where a listed skill reads as a credential, or if you want every word on the page to be one you wrote or approved. In that case tailor by hand.

Where this fits

Keyword alignment is one step in a longer run. ApplyEze writes a resume for every posting and a cover letter when the form asks (how the letter is built is in AI cover letters, one per posting), then completes the application on 12 platforms: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Oracle Recruiting Cloud, JazzHR, BambooHR, Rippling, Pinpoint and Recruitee (Workday and Oracle need a connected application inbox). It runs in a visible browser on your own machine, and a dry-run mode fills the form without clicking Submit, which is a good way to read a few tailored resumes before anything is sent. New accounts get 50 free credits, once per email address, with no card, and a credit is used only when an application is confirmed as submitted. Listed plans are Starter at $19 a month for 700 and Pro at $99 a month for 3,000. The whole pipeline is described in job search automation, and if you would rather tailor by hand, the tailor resume method shows each step. For how other tools draw the line on what they add, see best AI for resume tailoring.

Frequently asked

What is resume keyword matching?

It is rewriting a resume so it uses the same words as the job posting, especially the named tools, skills and job terms a recruiter is likely to search for. Greenhouse, a widely used applicant tracking system, says that when recruiters search for suggested terms they find exact matches in candidates' applications. A resume that describes the right work in different words can be missed by that search.

Does ApplyEze add skills to my resume that I do not have?

It can. ApplyEze brings the posting's named skills and tools onto your skills line even when your source resume does not list them. There is no step to remove one before a live run, so use a dry run to see what it writes, and be ready to discuss anything on the page. A certification the posting asks for is not added unless you hold it. Your employers, job titles, dates, schools, degrees and certifications come from your own record, and code rejects a rewrite that adds a figure, employer, school or credential your record does not hold.

Can I stop ApplyEze adding the posting's skills?

Do not plan on it. We cannot promise that any setting keeps the posting's skills off your skills line, so treat them as something you check. Put the skills you really have into your source resume, use dry-run mode to read a few tailored resumes before anything is sent, and leave a posting out of your queue if its resume lists something you could not discuss.

Does ApplyEze give my resume an ATS score?

No. No applicant tracking system exposes a score to candidates, so any third-party ATS score measures that vendor's own rules. ApplyEze checks what can be verified instead, by reading each PDF and DOCX back the way a parser reads it before upload.

Do I need to stuff my resume with keywords?

No. Greenhouse tells candidates directly that the belief you must stuff your application with keywords "isn't the case with Greenhouse." Using the posting's words for the work you did is enough; repeating terms with nothing behind them reads badly to the person who opens the file.

Sources