Why don't job adverts list the salary?
Because withholding it has historically favoured the employer in negotiation, and until recently almost nothing compelled them to publish it.
The reasons employers give:
Flexibility. They want to pay according to the candidate's experience, and a published figure anchors expectations.
Internal equity. Publishing a range that exceeds what current staff earn causes immediate and entirely reasonable problems.
Competitive secrecy. They do not want rivals knowing their pay structure.
The reasons rarely given but operating:
Information asymmetry. The employer knows the budget; you do not. Whoever names a figure first in that situation is disadvantaged, which is why candidates are asked for expectations early.
They can pay less. Candidates who underestimate their value save the employer money.
What "competitive salary" actually means: in practice, nothing. It is a placeholder. Studies and surveys consistently find that candidates rank missing salary information among the biggest frustrations in job hunting, and many will not apply without it.
This is changing. Pay transparency legislation has spread quickly — several US states including California, Colorado and New York require ranges in job postings, and the EU Pay Transparency Directive requires member states to ensure applicants receive pay information before interview and bans employers from asking about pay history, with transposition due by June 2026. Salary history bans exist in numerous jurisdictions specifically because using previous pay perpetuates existing gaps.
Practical approach if no figure is given:
Ask early, politely and directly — at first contact with a recruiter is entirely normal, and it saves everyone time.
Deflect the expectations question by asking for the budgeted range for the role, which is a reasonable request.
Research the market using salary surveys and published ranges for comparable roles.
Treat persistent refusal to indicate a range as information about how the employer negotiates.