This feature is currently in open beta.
Information in this article may not reflect the most up-to-date changes, as the product is actively being updated.
This article answers common questions about specific fields and behaviors in Greenhouse Analytics. For an introduction to data views, dashboards, and visualizations, see Analytics overview.
Why can't I find "Salary Range" as a field on Jobs anymore?
Salary Range was previously promoted as its own selectable field on the Jobs subject. It was removed because it was built on a non-standard custom field that organizations create and name independently, rather than a field Greenhouse defines. In some accounts, this caused salary range data to display incorrectly, including missing or null values.
This change removes a shortcut, not your data. Salary range data is still available in your account and can be accessed through job custom fields, as described below.
How do I get salary range data now?
To find salary range (or any other custom field) on the Jobs subject:
- Create a new data view with Jobs as the primary object
- Add the Job custom field name and Job custom field value columns
- Add a filter for Is job custom field active? equals Yes
This surfaces all active custom fields on your jobs, including salary range, without relying on a single promoted column.
Tip: Custom field names are prefixed by the subject they belong to. On Jobs you'll see Job custom field name and Job custom field value; on Candidates, Candidate custom field name and Candidate custom field value; on Offers, Offer custom field name and Offer custom field value, and so on. If you search for "Custom field name" without the subject prefix, you may not find the field you expect.
Note: If you had a saved data view, dashboard, or export that referenced the old Salary Range column on the Jobs subject, that reference is no longer valid. Rebuild it using the Job custom field name and Job custom field value fields with the Is job custom field active? filter, as described above.
Why do I see what looks like duplicate salary range custom fields?
If you archive a custom field and create a new one with the same name — a common and supported way to fix a field that was set up incorrectly — Greenhouse assigns the new field a unique internal identifier to distinguish it from the archived original. In reporting, this can make it look like there are multiple copies of the same custom field.
Use the Is job custom field active? filter to tell them apart: the active field reflects the current, correct data going forward, while the archived field is preserved so historical records tied to it remain accurate.
What does "Not Applicable" mean in a field value?
Not Applicable means a field's underlying concept doesn't apply to that particular record. This is different from a blank or null value, which usually means no data was recorded. A couple of common examples are described below.
Why do some fraud signal severity fields show "Not Applicable"?
Fraud signal severity fields sometimes show Not Applicable (or [FRAUD_SIGNAL - Not Applicable] for the code value). This is expected: identity-verifying signals have no severity by definition, since only risk signals are rated Weak or Strong. This doesn't mean the data is missing or invalid.
Why does "Recruiter" show blank or "Not Applicable" even though the job has a recruiter?
Greenhouse tracks recruiters in two separate places: on the job's hiring team, and on individual records like applications and openings. These are two different pieces of information, and filling in one does not automatically fill in the other.
- Job owner full name comes from the job's hiring team. Note that a job owner is any member of that hiring team — a sourcer, a recruiter, or a coordinator — not the recruiter specifically. A job with several hiring team members produces one row per member.
- Recruiter full name comes from the recruiter set directly on that specific record. It's available on Applications, Openings, Interviews, Interviewers, Offer versions, and Application stages. It is not available on the Jobs subject.
A job can have a recruiter on its hiring team while one of its applications or openings never had its own recruiter filled in. When that happens, Recruiter full name shows blank or Not Applicable, even though the job clearly has a recruiter.
If you want the recruiter from the job's hiring team, Job owner full name on its own isn't enough, because it returns every hiring team member. Add these fields alongside it to narrow the result:
- Job hiring team role — filter to Recruiter to exclude sourcers and coordinators.
- Is responsible recruiter or coordinator on this job? — filter to Yes to return only the person responsible for the job's candidate tasks, rather than everyone holding that role.
Tip: These field names vary slightly from one subject to another. On the Jobs subject you'll see Job hiring team role; on other subjects the equivalent field carries that subject's prefix. If you can't find a field by the exact name above, search for "hiring team role" or "responsible recruiter" instead.
What does "No Value Provided" mean when it appears on a field?
It means no data was recorded for that field on that record — the same basic idea as a blank or empty value. This is different from Not Applicable (above), which means the field's concept doesn't apply to that kind of record at all. "No Value Provided" just means nothing was filled in.
What's the difference between "Offer" fields and "Offer candidate" fields?
Offer fields describe the offer itself — for example Offer status and Offer salary amount.
Offer candidate fields describe the candidate who received the offer — for example Offer candidate full name, Offer candidate most recent company, and Offer candidate most recent job title. They are candidate attributes scoped to the offer context, not attributes of the offer.
If you're looking for offer approval information, it isn't in either group. Approval data lives on the approver and approval flow fields instead:
- Approver full name and Approver status — who was asked to approve, and their decision.
- Approver request sent at and Approver request resolved at — when an approval step was requested and completed.
- Approval flow status — where the overall approval stands.
Why doesn't filtering by an office also include its sub-offices?
This depends on where you set the filter.
On a dashboard filter, office selections do include sub-offices. Because offices have a parent/child structure, the office filter displays as a checkbox tree, and selecting a parent office automatically includes every office beneath it. Child offices under a selected parent appear checked and greyed out to show they're already covered.
In a data view filter, office filters match only the exact office you select. Filtering on a parent office won't automatically include records tied to its child offices.
Note: To see results across an entire office hierarchy from within a data view, select each office in that hierarchy individually in your filter. Office is currently the only field that supports parent/child expansion, and only on dashboard filters — department and other similar fields match exactly in both places.
What do the different Analytics permission levels (Admin, Creator, Viewer, None) each allow a user to do?
- None (no access): Can't see or use Analytics at all, even things that would normally be shared with everyone.
- Viewer: Can view data views and dashboards that have been shared with them, and export a shared data view. Can't create, edit, delete, or share anything. See Can a Viewer export data, or only view it? for what a Viewer can and can't export.
- Creator: Can create, edit, delete, and share their own data views and dashboards, built from scratch.
- Admin: Can do everything a Creator can do, plus manage other people's Analytics permission levels and configure organization-wide data settings — including the fiscal year, stage groups, and stage group order.
If I share a data view or dashboard, can the recipient see the full underlying data, or just what's displayed?
It depends on the recipient's Analytics permission level. In every case, sharing only grants access to that specific dashboard or data view — it never gives someone a way to browse other data in your account.
- Viewers see only what's displayed. On a shared dashboard, a Viewer can read the charts and tables and use any filters you've added, but can't open the data view behind a chart or click into a chart to see the rows behind a data point.
- Creators and Admins can go deeper. On a dashboard, each chart shows which data view powers it and links to that data view, and clicking a chart data point opens the un-aggregated rows behind it.
Note: Sharing a dashboard does not automatically share the data views behind its charts as separate objects. What changes by permission level is whether the recipient can reach through the dashboard to the detail beneath it.
Can a Viewer export data, or only view it?
It depends on what was shared with them.
- A data view shared directly: a Viewer can export it, for example as a CSV file.
- A dashboard: a Viewer can't export from it. There's no CSV export on a dashboard chart, no option to save a chart as an image, and no way to drill into the rows behind a data point.
In both cases, a Viewer still can't create, edit, duplicate, or share anything, or build their own custom queries.
Can a shared data view or dashboard be restricted so different viewers see different data (e.g., by region or department)?
Not right now. Everyone who has access to a shared dashboard or data view sees the same underlying data. You can add filters that anyone viewing it can use to narrow down what they see, but there's currently no way to automatically show different people different slices of data based on who they are.
How do dashboard-level "global filters" differ from filters set on an individual data view?
A filter you set on a data view only affects that one data view, wherever it's used. A "global filter" on a dashboard affects every chart on that dashboard at once.
If a chart's own data view already has a filter on the same field, the dashboard's global filter replaces that filter for that field while you're viewing the dashboard — it doesn't combine with it.
Note: Because the global filter replaces rather than narrows, it can return more records than the data view would on its own. For example, if a data view is filtered to a single department and you apply a dashboard filter selecting three departments, the dashboard shows all three — not the intersection.
Can I filter by custom fields (on jobs, candidates, or offers)?
Yes, but the custom field's name and its value are two separate fields, so a single filter line isn't enough. To filter for a specific custom field value, add two filter lines and keep the group set to AND:
- Job custom field name is [the field you want, for example Salary Range]
- Job custom field value is [the value you're looking for]
Filtering on the value alone will match that value across every custom field, and filtering on the name alone returns every value recorded for that field — you need both lines together to isolate one field's value.
This works the same way across jobs, candidates, offers, and other subjects that support custom fields, using that subject's prefixed field names.
Tip: Add a third line for Is job custom field active? is Yes to exclude archived versions of a field. Each filter line accepts a single value, so to match several values for the same custom field, see How do I filter for multiple values in the same field.
How do I filter for multiple values in the same field, like several departments at once?
In a data view, add one filter line for each value you want (for example, one line for Marketing and one for Sales), then set that filter group's operator to OR instead of AND, so a record only needs to match one of the lines rather than all of them. The operator appears as a small AND / OR button beside the group — click it to switch.
On a dashboard, filters let you select more than one value directly from a checkbox list, without needing separate lines.
Can I save changes to a data view as a new copy instead of overwriting the original?
Yes. Use the Duplicate option on a data view to create a separate copy with its own name. Changes you make to the copy won't affect the original. Duplicating requires Creator or Admin access — the option isn't available to Viewers.
Which date is a given metric based on (application date, activity date, offer date, etc.)?
It depends on which date field you add to your data view — Analytics doesn't automatically pick one for you. Most subjects offer several date fields, like when something was created, last updated, or reached a certain stage, and a metric like a count of applications will use whichever date field is in your data view. If you're comparing numbers between two data views, it's worth double-checking that both are using the same date field.
Can a calculated field reference another calculated field, or use more than one operator in a formula?
A calculated field can use more than one operator in the same formula — for example, adding two fields together and then multiplying the result, all in one step. Formulas also support more than basic arithmetic:
-
Arithmetic:
+,-,*,/ -
Comparisons:
=,!=,>,<,>=,<= -
Conditional logic:
CASE WHEN ... THEN ... ELSE ... END, andINfor checking a value against a list -
Text functions:
CONCAT,LOWER,UPPER,SUBSTR,SPLIT_PART -
Date functions:
DATEDIFF,DATE_ADD,DATETRUNC,EXTRACT,CURRENT_DATE
A calculated field can't reference another calculated field, though. A formula can only use the actual fields already in your data view, not other formulas you've built.
Note: Aggregate functions such as SUM, AVG, COUNT, MEDIAN, and PERCENTILE aren't available in a calculated field, because a calculated field is evaluated one row at a time. Use them in a summary row instead.
Why might a number in Analytics differ from a similar report in Greenhouse Recruiting's native reporting?
Analytics and Greenhouse Recruiting's built-in reports are two different reporting systems, and small differences in how each one counts or organizes data are possible. If you notice a specific number that looks off compared to a Recruiting report, reach out to support with both numbers so we can look into what's causing the difference.
Can I report on individual interview feedback or scorecard responses?
Yes, for written feedback and ratings. You can see the actual text an interviewer wrote for a scorecard question, along with rating labels like Strong Yes or No.
A candidate's overall recommendation is only available as a total count per label — Strong Yes, Yes, Mixed, No, and Definitely Not — rather than broken out per scorecard. Notes added to individual rating attributes are also only available as a count, not the note text itself.
What can I ask the AI Chart Builder to do in natural language?
You can describe the chart you want — the chart type, what goes on each axis, how to group or color it, and the title — and it will build that chart for you. You still choose the data view (the underlying dataset) yourself; the AI doesn't pick that part.
Beyond building the chart, you can also ask it to:
- Adjust the chart's appearance: colors, fonts, axis formatting, grid lines, legends, tooltips, and mark size or opacity.
- Leave data out of the chart: for example, excluding rows where a field is empty, or limiting the chart to a subset of values. This is a common and useful request — it changes what the chart displays without touching the data view.
- Answer questions about the data: you can ask about the numbers behind the chart and get an answer without changing the chart at all.
- Build more than one chart at a time when you're adding charts to a dashboard.
Can AI apply filters, date ranges, or edit an existing data view?
Partly. The distinction is between the chart and the data view underneath it.
The AI can filter or limit what a chart displays — including excluding empty values or narrowing to a date window — as long as the change applies only to that one chart. Those changes don't affect the data view or any other chart built from it.
The AI can't change the data view itself. It can't edit the data view's own filters, fields, groupings, or aggregations, and it can't create or delete a data view. If what you're asking for can't be done at the chart level, the AI will tell you to update the data view first.
Note: When editing an existing chart, the AI works on that one chart only — it can't create or delete visualizations, or switch to a different chart. Creating new charts happens when you add them to a dashboard. A Viewer can ask questions about a chart but can't have the AI modify it.
Is Analytics data real-time, or does it refresh on a schedule?
It refreshes on a schedule rather than updating in real time. New data typically becomes available about once a day. When you view a data view or dashboard, you're looking at the most recent scheduled update, not a live feed of what's happening in Greenhouse Recruiting at that exact moment.
Tip: Analytics Admins can check when data was last refreshed under Admin > Overview, in the System status panel, next to Last data sync. This page is only available to Admins — if you're a Creator or Viewer and need to confirm data freshness, ask an Analytics Admin in your organization.
How does Analytics differ from Greenhouse's existing/legacy reporting?
Analytics lets you build your own data views and dashboards by picking the exact fields, filters, and calculations you want, instead of relying on a set of fixed, ready-made reports. The same data view you build can power a table, a chart, or a dashboard, so you don't need to start over each time you want to see it a different way.