# Pay transparency job posting salary range requirements: write compliant ranges on Mac

> Pay transparency job posting salary range requirements: which postings need a range, what to list, and how to fix gaps before you publish.

URL: https://www.lazur.app/for/recruiters/problems/pay-transparency-job-posting-salary-ranges
Updated: 2026-11-09

A compliant pay transparency job posting shows a real salary range for the job, in the posting itself. Colorado, for example, requires the rate of compensation or a compensation range, plus a general description of benefits, on each covered posting. This page covers what to include, where the rules apply, what missing ranges cost, and fixes you can make without buying anything.

## Quick answer

- Put a real low and high number in the posting body, not in a link or attachment.
- Get the range approved and written in one sheet before any posting goes live.
- Check each state's law for the place where the job is open, and ask legal about remote roles.
- Colorado sets fines of $500 to $10,000 per violation, counted per covered posting.
- Many candidates say they would skip a posting with no range, so a blank costs you applicants too.

## What posting compliant pay ranges costs you

- **Legal exposure in places like Colorado.** Colorado's law sets fines of $500 to $10,000 per violation. The count is per covered posting that is missing a compensation range, according to a National Law Review article. A team that posts many roles with blank ranges can accumulate violations quickly. Other states set their own penalties, and this page did not verify them.
- **Candidates who never apply.** In a Patriot Software survey of 1,000 US adults who applied for a job in the past year, 44% said they are unlikely to apply to a posting with no listed range. The survey comes from a payroll software vendor and was not peer reviewed. Treat it as a directional signal about candidate sentiment, not a rate you can plan around.
- **Trust that is hard to earn back.** The same survey found 84% believe companies hide pay to reduce workers' negotiating power. A vague range confirms that belief. Candidates then ask for the number on the first call, which starts the conversation from suspicion instead of from the offer.
- **Time spent on fixes and questions.** No reliable public benchmark for this time cost turned up in the research for this page. Your own log will be more useful than any survey here. For one month, note each range fix, each hiring manager question and each candidate question about pay. That count is your real cost.

## Why it happens

1. **Pay is set after the posting goes live.** The budget often gets approved late. The posting goes out with a placeholder, or with no range, and nobody returns to it. A range that was never approved cannot be accurate. Fix this by making the approved range a step before publishing, not a step after.
2. **Templates carry old ranges.** Teams copy a posting from an earlier requisition. The range comes along with it, together with a level, city and budget that no longer match the role. Old numbers look official, so they often get published without a second look.
3. **Three systems, three numbers.** The applicant tracking system, the spreadsheet and the offer letter each hold a range. When the numbers differ, the recruiter tends to use whichever one they see first. Pick one source of truth, and copy from it everywhere.
4. **Nobody owns the pay line.** A hiring manager approves the role. A comp partner approves the band. The recruiter writes the posting. When no one owns the final number, the posting waits, or it goes out without one. Name one owner for the range on every role.
5. **Multi-state and remote roles.** A role that can be filled from more than one place may fall under more than one rule. The sources here do not settle which rule applies to a remote job, and the research for this page excluded remote job guidance. Ask your legal team how they want these roles handled, and write the answer down.
6. **Benefits and range sit in different places.** Some teams keep the pay range in the applicant tracking system but leave the benefits note in a separate document. The posting then looks incomplete to a reader. Keep both in the body text, next to each other.

## How to fix it

- **Build one sheet for every open role.** Make a Google Sheets tracker with one row per role. Use columns for role, level, location, low number, high number, approver and date approved. Store it in a shared folder. Ask the comp partner to fill the low and high cells before any role is posted. If a formula confuses you, ask Lazur to explain it on screen.
- **Get an approved range before you write the posting.** Ask the hiring manager and the comp partner for a low and high number. Write both into the sheet with the approver's name and the date. A range without an approver is a guess. Do not publish until the row has both numbers.
- **Put the range in the body of the posting.** Paste the low and high numbers into the main text of the posting, in the same currency and pay period as the offer. Do not leave them only in an attachment, a PDF or a link. Add one sentence that names the level and location the range covers.
- **Add a general benefits note to every template.** Write one short paragraph that describes benefits in general terms, such as health coverage, retirement plans and time off. Keep it inside the template so nobody deletes it by accident. The Colorado rule described in the sources asks for a general description of benefits.
- **Copy from one source, then check the match.** Copy the numbers from the sheet into the applicant tracking system and the posting. Paste them as plain text, then compare all three places. If they differ, the sheet wins, and you correct the other two before publishing.
- **Read each live post the way a candidate would.** Open the live post in your browser, not the draft. Find the range without scrolling far. Check the numbers against the sheet. Repeat the check after every edit, because a draft can look right while the live post is wrong.
- **Run a monthly check on open roles.** Once a month, open the sheet and list every open role. Compare each row with its live post. Note any role missing a range, showing a wrong number or carrying an old level. Give each fix to one named person, with a due date.

## What a compliant pay range has to show

The core rule is simple. The posting has to show a pay range, or the rate of compensation, in the place the law names. Colorado's rule, as summarized by the National Law Review, asks for the rate of compensation or a compensation range, plus a general description of benefits. Other states and cities write their own wording, so read the rule for each place where you hire.

A range that exists on paper can still fail the test. The range needs real numbers. A phrase such as competitive pay or DOE gives a candidate nothing to compare. Put the low and high figures in the posting text itself, not in a link or an attachment.

- A low number and a high number, in the same currency and pay period as the offer.
- The job title and level the range applies to, so candidates know which role it covers.
- The location or locations the range applies to, when pay differs by place.
- A short, general note on benefits, such as health coverage, retirement plans and time off.
- The same numbers as your sheet and your applicant tracking system, so no one sees a different figure.

> **Read it as a candidate:** Open the draft in the same browser you use for job applications. Find the range without searching the page. If you have to hunt for it, a candidate will too.

## Which postings need a range, and where the rules apply

Start with the place where the job is open, then read that state's law for its own definition of coverage. Laws differ on what counts as covered. The sources for this page confirm a few places. Maryland's law took effect October 1, 2024. Indeed Hiring Lab's economist also pointed to California and New York, where pay disclosure laws had been in effect for over a year.

| Place | What the sources confirm | Where it came from |
| --- | --- | --- |
| Colorado | Rate of compensation or a compensation range, plus a general benefits description. Fines of $500 to $10,000 per violation. | NatLawReview |
| Maryland | Law took effect October 1, 2024. | HR Dive |
| California and New York | Pay disclosure laws in effect for over a year, per Indeed Hiring Lab commentary. | HR Dive |

_Confirmed in the sources for this page. Check each agency's own site before you rely on it._

Two situations cause the most confusion. The first is a role that can be filled from more than one state. The second is a posting copied to a new city. In both cases, ask your legal team which rule applies, and write down the answer. Do not assume that a range that works in one place works in the next.

## What a missing or vague range costs you

The first cost is legal. In Colorado, fines run from $500 to $10,000 per violation. The count goes by covered posting. A batch of blank ranges is a batch of potential violations, so the exposure grows with every role you publish.

The second cost is candidates. In a Patriot Software survey of 1,000 US adults who applied for a job in the past year, 44% said they are unlikely to apply to a posting with no listed range. That survey came from a payroll software vendor and was not peer reviewed. Read it as a signal, not a rate.

The third cost is trust. The same survey found that 84% believe companies hide pay to reduce workers' negotiating power. A vague range confirms that belief. Candidates then ask for the number on the first call, and the conversation starts from doubt.

The fourth cost is your own time. The research for this page did not turn up a reliable public benchmark for it, so this page does not put a number on it. Keep a simple log for one month instead. Note each range fix, each hiring manager question and each candidate question about pay. That log is your real cost.

- **57.8%** of US postings on Indeed listed some pay information in September 2024, up from 52.2% a year earlier ([source](https://www.hrdive.com/news/salary-transparency-is-trending-up-but-at-a-slower-pace/731502/))
- **44%** of 1,000 US job applicants surveyed are unlikely to apply to a posting with no listed pay range (vendor survey) ([source](https://www.patriotsoftware.com/blog/payroll/pay-transparency-hiring-survey/))
- **$500 to $10,000** fine per violation under Colorado's pay transparency law, counted for each covered posting missing a range ([source](https://natlawreview.com/article/colorado-s-pay-transparency-law-survives-preliminary-injunction-next-steps-employers))
- **30 percentage points** rise in the share of postings with salary info after state disclosure laws, in an NBER working paper ([source](https://www.nber.org/papers/w34480))

![Recruiter checking a pay transparency job posting on a laptop at a desk](https://images.lazur.app/content-images/problem/pay-transparency-job-posting-salary-ranges/pay-transparency-job-posting-salary-range-requirements-1-ee4c81.jpg)

## Why postings end up without a usable range

Most gaps come from process, not from bad intent. A recruiter wants the posting live. The approved budget arrives late, or it never arrives. The template fills the gap with an old number, or with nothing at all.

- The budget is approved after the job is already live.
- Nobody owns the final number. The hiring manager, the comp partner and the recruiter each assume someone else set it.
- The applicant tracking system, the spreadsheet and the offer letter each hold a different range.
- The range sits in an attachment or a link, not in the body of the posting.
- The benefits note was deleted when someone trimmed the template.

The Colorado rule the sources describe is about the posting itself. A range that surfaces later, in an offer conversation, does not fix the posting.

## Pay information in job postings is rising, but more slowly

The trend points up. In September 2024, 57.8% of US postings on Indeed contained some pay information, up from 52.2% a year earlier. Growth is slowing. Indeed Hiring Lab's economist linked the slowdown to large states with disclosure laws that had been in effect for over a year, and to a cooling labor market.

Research on earlier laws points the same way. An NBER working paper found that state disclosure laws raised the share of postings with salary information by 30 percentage points. The paper reports wage increases of 1.3 to 3.6%, and no measured effect on the number of postings. A posting with some pay information is still not automatically compliant, so check your own postings against the rule for each place you hire.

## A worked example: fixing one posting from start to finish

Say you are posting a customer success role open to candidates in one state. The hiring manager confirms the budget is open. Start in your shared sheet. Find the row for that role. If there is no row, add one with the title, level, location, low and high numbers, the approver and the date.

![Person at a Mac laptop typing a salary range into a job posting](https://images.lazur.app/content-images/problem/pay-transparency-job-posting-salary-ranges/pay-transparency-job-posting-salary-range-requirements-2-d3c2de.jpg)

Next, open the job template. If your applicant tracking system has a pay transparency feature, check it first. In Greenhouse, a Site Admin creates rules at Configure > Privacy & Compliance. Greenhouse says the feature is on its Core, Plus and Pro tiers, and that Job Admin permissions or higher are needed.

Paste the range into the body of the posting, beside the benefits note. Then open the live post in your browser and read it the way a candidate would. Compare every number with the sheet. If the budget changes later, change the sheet first, then the posting, then tell the hiring manager.

## Where Lazur helps, and where it does not

Lazur helps with reading the screen, finding fields and writing the words. It explains what a page says, points at the field you need, guides you through a settings page and drafts a note. It does not decide the range, check the law for you, or click and edit for you. Hold ⌥ ⌘ to ask about anything on screen, and Lazur answers out loud.

- Ask where the salary field sits. Lazur draws a circle and a label around it.
- Ask how to add a rule in your applicant tracking system. Lazur guides you one click at a time and waits for each click.
- Hold fn to dictate approved range notes into any text field, at the cursor.
- Ask Lazur to draft a note to the hiring manager. You read it, then send it yourself.
- Ask Lazur to research a state's posting rule. Research runs in Lazur's own Chrome tabs and returns a summary and a report. Still check the primary text.

Lazur is not an add-in for Greenhouse or any other app, and it has no partnership with any of them. If the role is regulated, such as a nurse or an accountant post, follow your employer's rules on client or patient data before you share anything with any tool.

## Mistakes that keep showing up on live postings

- Writing DOE or competitive pay where a number belongs.
- Starting the range well below the budget the hiring manager approved.
- Dropping the benefits note when someone trims the template.
- Editing the applicant tracking system but not the sheet, so the next post copies the old number.
- Assuming one state's wording covers a role open in another state.

![Hiring team meeting in an office, agreeing on the pay range for a job posting](https://images.lazur.app/content-images/problem/pay-transparency-job-posting-salary-ranges/pay-transparency-job-posting-salary-range-requirements-3-80a29f.jpg)

A monthly look at live posts catches most of these early. The check is the cheapest fix on this page, and it works even if you change nothing else.

## A one-week routine for compliant posting ranges

Use the week plan below if you have a backlog. It starts with a list, not a rewrite. Keep the approved ranges in one sheet, and add a dropdown for role and location if it helps. The [dropdown list guide](https://www.lazur.app/how-to/create-a-dropdown-list-in-google-sheets) shows the steps for Chrome. The [Google Sheets guide for recruiters](https://www.lazur.app/for/recruiters/google-sheets) covers the tracker, and the [Gmail guide for recruiters](https://www.lazur.app/for/recruiters/gmail) covers approval notes.

## Sources and what is still unverified

The numbers on this page come from the sources listed with it. Three gaps remain. The text of the EU Pay Transparency Directive did not open, so this page does not describe EU rules. Colorado's agency guidance did not open, so the penalty range rests on one law firm article. Greenhouse's documentation shows what its feature does, not whether it keeps a company compliant.

## With Lazur

Lazur is a voice assistant for the Mac that lives in the notch. Hold ⌥ ⌘ and ask; it sees your screen, answers out loud, points at buttons and walks you through apps. Hold fn to dictate. Free for 3 days, then $18/month: https://www.lazur.app/download

- “Where does the pay range go on this posting?”: Lazur draws a circle and a label around the pay range field, so you know where the numbers belong before you type. (Points at it)
- “Explain what this posting has to show for Colorado.”: Lazur reads the posting on your screen and explains the rule out loud. It does not confirm the law is current, so check the source text too.
- “Where is the benefits section on this page?”: Lazur draws a circle and a label around the benefits section, so you can confirm it sits in the body text.
- “Walk me through adding a pay transparency rule in Greenhouse.”: Lazur guides you through the settings one click at a time, and waits for each click before it moves on.
- “Hold fn and dictate the approved range into the sheet notes.”: Clean, formatted text lands at the cursor in any app. Check the numbers against the approval before you save.
- “Draft a note asking the hiring manager to confirm the low and high number.”: Lazur drafts the note. You read it, change what you need, and send it yourself.
- “Research the posting rules for Colorado and list what they require.”: Research runs in Lazur's own Chrome tabs and returns a summary and a report. Verify the rules against the agency text.

## A plan you can start this week

- **Day 1: List every open role.** Copy your open roles into one sheet. Add a column for location and a column for the approved range. Mark each role as missing, approved or unclear. You are looking for gaps in this sitting, not fixing them yet.
- **Day 2: Request approvals for the gaps.** Send each hiring manager and comp partner a short note asking for the low and high number. Use a Gmail template so every request reads the same. Schedule a follow-up for any role still missing numbers before you stop for the day.
- **Day 3: Rewrite the posting templates.** Add a range placeholder to the body of the posting template, plus the general benefits paragraph. Replace old ranges with approved numbers. Remove any template that still says DOE or competitive pay.
- **Day 4: Fix the live posts.** Open each live post and update it to match the sheet. Read it as a candidate would, in a private browser window. Log any post you cannot edit, and write down why.
- **Day 5: Set the monthly check.** Create a recurring calendar event for the first working day of each month. Put the sheet link in the event. When it fires, run the list and fix any gaps before the next batch of postings goes out.

## FAQ

### Does every job posting need a salary range?

No. The rule depends on the place where the job is open, and the sources here cover only a few places in detail. Colorado's rule asks for the rate of compensation or a compensation range, plus a general description of benefits. Check the law for each state and city you hire in, and confirm coverage with your legal team.

### What counts as a pay range in a job posting?

A low number and a high number, tied to the role and location, shown in the posting text. A phrase such as competitive pay or DOE gives candidates no number to compare. Use real figures in the same currency and pay period as the offer.

### How much can a missing range cost?

In Colorado, fines run from $500 to $10,000 per violation, and the count is per covered posting that misses a range. Other places set their own penalties, and this page did not verify them. Read the state agency's guidance directly before you rely on any figure.

### Can I put the range in an attachment or a link instead?

Do not rely on that. The Colorado rule the sources describe is about the posting itself, so put the numbers in the posting text. A link can sit beside the range for extra detail, but it should not be the only place the range appears.

### Does Greenhouse handle this for me?

Greenhouse offers a pay transparency feature on its Core, Plus and Pro tiers. A Site Admin sets up rules at Configure > Privacy & Compliance, and Job Admins can remove a rule that does not fit a post. Greenhouse also tells users to check local laws with their legal team. The documentation shows what the tool does, not whether it keeps you compliant.

### What if the budget changes after I post?

Change the sheet first, then the posting, then the applicant tracking rule if you use one. Re-check the live post, not the draft. Tell the hiring manager which number is now the approved range, and date the change.

### Can Lazur check whether my posting complies?

No. Lazur can read what is on your screen, explain it out loud, point at fields and draft notes. It does not decide what the law requires, and it does not click or edit for you. Confirm the rule with your legal team.

### Is it safe to share candidate or pay data with an AI tool?

Follow your employer's rules first. Lazur listens and looks at the screen only while you hold the shortcut. Audio and the screenshot go to AI providers to answer and are not stored. Content is never used to train AI models. For regulated roles, check your employer's rules on client or patient data before you share anything.

## Sources

1. [Greenhouse Support: Pay transparency overview](https://support.greenhouse.io/hc/en-us/articles/13304010418075-Pay-transparency-overview), Greenhouse Software, checked 2026-11-09
2. [HR Dive: Salary transparency is trending up but at a slower pace](https://www.hrdive.com/news/salary-transparency-is-trending-up-but-at-a-slower-pace/731502/), HR Dive (citing Indeed Hiring Lab), checked 2026-11-09
3. [NBER Working Paper 34480: The Impact of Pay Transparency in Job Postings on the Labor Market](https://www.nber.org/papers/w34480), National Bureau of Economic Research, checked 2026-11-09
4. [Patriot Software: 44% Won't Apply Without Pay Transparency](https://www.patriotsoftware.com/blog/payroll/pay-transparency-hiring-survey/), Patriot Software, checked 2026-11-09
5. [NatLawReview: Colorado's Pay Transparency Law Survives Preliminary Injunction: Next Steps for Employers](https://natlawreview.com/article/colorado-s-pay-transparency-law-survives-preliminary-injunction-next-steps-employers), National Law Review, checked 2026-11-09
