Good Jobs Guide

Why Pay Transparency Laws Did Not Fix Everything

A growing number of places now require employers to post a pay range. That sounds like it should have solved the mystery of what a job pays. It did not, not fully, and understanding why helps you read a posted range for what it actually tells you.


A few years ago, seeing an actual number on a job posting was rare. Today, in a growing list of states and cities, it is often required by law. That is real progress, and if you have been job searching long enough to remember the old way, you have probably noticed the difference. More postings show a number now than used to.

But if you have been paying close attention, you have also probably noticed that a posted range does not always feel like the win it was supposed to be. Sometimes it is so wide it barely narrows anything down. Sometimes the job is posted from a location the law does not cover, and the number quietly disappears. The laws changed the rules. They did not change every employer's incentives, and that gap is worth understanding.

What these laws actually require

Pay transparency laws generally do one specific thing: they require an employer to disclose a pay range, usually a minimum and a maximum, somewhere in or alongside a job posting once certain conditions are met, like company size or where the role is based. That is genuinely useful. It moves the first real number in the conversation from you to them, which changes the negotiating dynamic in your favor before you ever apply.

What these laws do not typically require is a narrow range, a complete picture of total compensation, or coverage everywhere. The law sets a floor, not a ceiling on how vague a company is still allowed to be while technically complying.

Where the gap shows up

The most common gap is range width. A posting that says a role pays somewhere between 120,000 and 240,000 has satisfied the letter of most transparency laws while telling you almost nothing useful, because the top and bottom of that range describe two very different jobs at two very different levels. A wide range like that usually means one of two things: the company has not actually decided what level it is hiring for, or it is checking a legal box without committing to a real number yet.

The second gap is geography. These laws vary from place to place, and coverage depends on where the job is based and sometimes on company size. A fully remote-friendly company can still post a role from a location the law does not reach, and the range disappears even though nothing else about the posting changed. The law did its job. It just did not reach that particular listing.

The third gap is what counts as "pay" in the first place. A posted range is often just base salary. It may leave out bonus targets, commission structure, equity, or other pieces of total compensation that can matter a lot for the actual number that lands in your bank account. A range that looks modest on its own can be a very different offer once the rest of the package is on the table, and a posting that satisfies the law is not required to spell that part out. If you want a clear way to think about the difference between what is quoted and what you actually take home, our guide on how base pay, on-target earnings, and total comp differ walks through it.

None of this means the laws failed. It means a posted range is a floor of honesty, not the whole picture, and you still have to read it with a little bit of judgment.

This is still a live problem even with the laws on the books

Across the roughly 29,000 live tech jobs we track at GoodJobsOnly, about 4 in 10 postings still do not show a salary we can read at all, even with transparency laws expanding in more places every year. Some of that is postings from locations the laws do not cover. Some of it is simply employers who have not caught up yet, or who are betting that the cost of noncompliance is lower than the cost of showing their hand. Either way, the honest takeaway is that a missing or vague number is still common enough that you need a plan for it, not just a hope that the law will handle it for you.

How to read a range once you actually see one

Treat a very wide range as a caution flag, not a green light. If the spread between the low and high number is large, ask early in the process what level or band they actually expect to land on for you, rather than assuming you will be offered the top.

Ask what is included. If a posting shows a base number, it is fair to ask in a first conversation whether there is a bonus target, commission, or equity on top of it, and roughly how those pieces typically work out. A team that is serious about hiring you will usually give you a straight answer.

Know your own number going in. A posted range only helps you if you know how it compares to what the role should actually pay for your level and location. Walking in with a sense of your own market rate means a wide or vague range stops being intimidating and becomes just one more thing to clarify.

Do not assume no range means no answer. If a posting is silent on pay because the location falls outside a transparency law, it is still completely reasonable to ask directly before you invest real time in the application. Plenty of companies will tell you if you ask, even when they are not required to post it. For more on what a missing number usually means and how to handle it, see our guide on why so many postings still hide the salary.

How GoodJobsOnly helps with this

We built GoodJobsOnly so you do not have to guess whether a posted range, or the absence of one, is telling you something real. When an employer lists pay, we show it to you plainly and line it up against what the wider market pays for that kind of role, so a wide or narrow range means something concrete instead of just sitting there. When a posting does not list pay, we say so honestly instead of filling in a number that was never there. Listed pay against the market is a central part of the 0 to 100 Worth Score we put on every posting. It is an algorithmic opinion, not a guarantee, but it means you spend less time decoding ranges and more time on the roles that are actually upfront with you.