Google ranks a page for a synonym but not the exact term because it understands meaning, not just strings. Through semantic matching, it reads what a page is genuinely about and connects it to queries phrased differently, so your page can surface for synonyms and related wordings it judges you answer well. The exact term you expected, meanwhile, is being decided in a separate, often tougher contest, and you are simply not winning that one yet. The page matched the meaning; it didn’t win the exact-term competition.
The exact phrase usually has its own pool of competitors. If those pages target that precise term head-on, with more authority, links, or a tighter match to its intent, they hold the visible positions while your page lands far enough down that you never notice it ranking for the exact term at all. You see the synonym traffic because you face lighter competition there, and you miss the exact-term traffic because stronger pages are absorbing it. Same page, two different battles, two different outcomes.
There is also intent nuance to watch for. An exact phrase and its synonym can carry subtly different expectations. The wording you rank for might map to a research or how-it-works intent your page satisfies, while the exact term you want leans transactional or comparative, where Google judges other formats a better fit. So even with strong relevance, your page can be the right answer to the meaning of the synonym and the wrong shape for the exact term, which keeps it out of the top results for one and not the other.
The reflex to fix this by cramming the exact term into the page more often usually misreads the problem. Ranking for synonyms is proof Google already understands your topic, so the missing piece is rarely word frequency. Instead, look at who ranks for the exact term and what intent the SERP rewards there. If those pages are stronger or serve a different stage, your work is to out-compete on authority and intent-fit, not to repeat the phrase.