What do empty, unused, stale, and duplicate properties mean?

These are four separate tests. One property can fail several at once.

Empty (no data)

An empty property is one where almost no records have a value. Its fill rate (records with a value ÷ total records) is at or close to 0%. HubSpot's Property Insights calls this No data.

Unused

An unused property is one that HubSpot tools don't reference. The word is about references, not values, so an unused property can still be full of data. HubSpot's Property Insights labels this Unused. HubSpot's data model health check describes a related issue as a property that "isn't used in any HubSpot tools".

Stale (a "zombie" property)

A stale property still holds values, but nobody and nothing has updated them in a long time. Admins often call these "zombie" properties: they look alive in reports but nothing feeds them. This is an industry term, not a HubSpot category. Property Insights has no "stale" flag. The closest native signal is the data model health check's "Inactive property" issue, which HubSpot describes as "a property hasn't been updated in some time".

Duplicate

A duplicate property stores the same information as another property, often under a slightly different name (for example, two "Lead source" fields created by different teams or integrations). Property Insights flags Duplicates as a third issue type.

HubSpot's help articles name the "No data" and "Unused" categories but don't publish exact thresholds, such as what fill rate counts as no data or which tools count as usage. Treat the flags as a shortlist to review, not a verdict.

Can a property be unused but still have data?

Yes. That's the most common source of confusion. The three tests measure different things:

TermWhat it measuresHubSpot label?Example
Empty / no dataValues: how many records have oneYes, "No data" (Property Insights)A "Webinar topic" field added for one event and never filled in
UnusedReferences: whether HubSpot tools use the propertyYes, "Unused" (Property Insights)An integration writes a value to every contact, but no workflow, form, or segment reads it
Stale / zombieRecency: when values last changedNo. The closest is "Inactive property" in the data model health checkA "2023 territory" field that's full but hasn't changed since the reorg
DuplicateOverlap with another propertyYes, "Duplicates" (Property Insights)"Industry" and "Company industry" holding the same values

The reverse also happens: a property can be referenced by a segment or a workflow and still be empty. HubSpot's data model health check has an issue type for exactly this, "Low fill rate, high usage", described as a property that "is used in many assets but has a low fill rate". That usually means a data collection step is broken, not that the property should go.

Should you archive, keep, or merge the property?

Combine the checks before deciding. Use this matrix as a starting point:

Fill rateUsed in HubSpot tools?Recently updated?Action
EmptyNon/aArchive, after a quick check with the property's creator or integration owner
EmptyYesn/aInvestigate. A form, workflow, or integration expects data that isn't arriving. Fix the collection or remove the reference, then decide.
Has dataNoNo (stale)Archive candidate. Export the values or property history first if the data has any historical value.
Has dataNoYesInvestigate. Something is still writing to it, such as an integration, an import, or reps editing records. Find out who relies on it outside HubSpot tools.
Has dataYesNo (stale)Investigate. Workflows or reports are acting on outdated values. Refresh the source or repoint the tools.
Has dataYesYesKeep. This is a healthy property.
Duplicates another property (any fill rate, usage, or recency)Merge: pick the property to keep, move values and references to it, then archive the other

HubSpot has no one-click "merge properties" action. Merging is manual: copy the values into the property you keep (for example by exporting and re-importing them), switch every form, workflow, and report over to it, then archive the duplicate. HubSpot's archive panel lists "Assets preventing archiving", and properties used in workflows, forms, or segments generally can't be archived until you remove that usage. Archived properties can be restored for 90 days before they're permanently deleted. The full checklist is in how to safely archive or delete HubSpot properties.

How do you find each type of property in HubSpot?

ToolEmptyUnusedStaleDuplicatePlan
Export all propertiesYes (fill rate)Yes (usages)NoManual reviewAll plans
Property InsightsYes ("No data")Yes ("Unused")NoYes ("Duplicates")Starter and above
Data model health check"Low fill rate""High fill rate, no usage""Inactive property""Similar (duplicate) property"Listed as all plans
Property history export / "updated in last" filterNoNoYes, one property at a timeNoAll plans
PropSweepYes (fill rate)NoNoNoAny plan, including Free

Empty and unused: the property export (every plan)

  1. Go to Settings → Properties.
  2. In the upper right, click Export all properties.
  3. Open the file. Along with name, type, and group, it lists each property's creator, usages, and fill rate.
  4. Sort by fill rate to find empty properties, then check the usage column to separate "empty and unused" from "empty but referenced".

For contact, company, deal, and ticket properties, the export also includes a "last updated time and update source". HubSpot's article doesn't say whether that refers to the property's definition or its values, so don't use it as your only staleness test.

Empty, unused, and duplicates: Property Insights (Starter and above)

Click More, go to Data Management → Data Quality, and open the Property Insights tab. HubSpot updates the list of properties to review daily, by object. From each row you can export the property's history, hide it from the duplicate, no-data, and unused totals, or archive it.

Plans: Marketing, Sales, Service, Data, or Content Hub on Starter, Professional, or Enterprise, or Smart CRM or Revenue Hub on Professional or Enterprise. It isn't available on free HubSpot. "View details" and the anomalies tab need Data Hub Professional or Enterprise.

Stale: property history and the "updated in last" filter

No HubSpot tool gives a "last updated" date for a whole property across all records in one click, so checking for staleness means looking at one property at a time:

  1. Export property history. Go to Settings → Properties, select the object, hover over the property, click More, and choose Export property history. The file lists current and past values with the date of each change (in UTC). If the newest change is old, the property is stale. History is capped at 45 revisions per contact property and 20 for company, deal, ticket, and custom object properties.
  2. Filter with "(not) updated in last". In a segment or other filter, add the property and choose the "updated in last" operator with a window such as 365 days. If no records match, nothing has written to the property in that period. HubSpot notes that filter options vary by object, tool, and subscription.
  3. Spot-check a record. On a record, hover over the property in the left sidebar and click the view property history icon to see each change's value, date, and source.

The data model health check (More → Data Management → Data Model, Health tab) also flags "Inactive property" issues. HubSpot doesn't say how long "some time" is.

What does PropSweep measure, and what doesn't it?

PropSweep is a read-only HubSpot app that measures one thing: fill rate. It counts the records that have a value for each custom property and gives you one list, sorted emptiest-first, across objects. That covers the "empty" column of the matrix above.

To be explicit: PropSweep does not measure usage (whether a workflow, form, or segment references a property), does not measure staleness or last-updated dates, and doesn't detect duplicates. For those, use the native tools above. A sensible workflow is to shortlist empty properties with PropSweep, then check usage in the property export or Property Insights before archiving.

  • Free: contact properties only, the 5 least-filled results, one scan every 7 days. Works on free HubSpot, where Property Insights isn't available.
  • Pro Pass ($19 one-time for 6 months): contacts, companies, deals, tickets, leads, line items, products, and quotes, plus custom objects, with automatic weekly re-scans and CSV export.

See PropSweep vs HubSpot's data quality tools for a side-by-side.

Find your empty properties in one list

Install PropSweep free from the HubSpot Marketplace. Read-only, no credit card.

Install Free on HubSpot

FAQ

What is a zombie property in HubSpot?

A zombie property is an informal name for a stale property: it still holds values on many records, but nothing has updated them in a long time. HubSpot doesn't use the term. You can check for it with a property history export or the "not updated in last" filter.

Does "unused" in HubSpot mean the property is empty?

No. In Property Insights, "No data" and "Unused" are separate flags. Unused is about whether HubSpot tools reference the property. An unused property can still have data on many records.

Is it safe to archive a property flagged as unused?

Not automatically. Check its fill rate, when it was last updated, and whether an integration or a team outside HubSpot relies on it. Archived properties can be restored for 90 days, then HubSpot deletes them permanently.

More on the cleanup side: how to find unused properties in HubSpot.

Sources

Aliaksei Vilenski

Founder of PropSweep, a read-only HubSpot app that measures how full every custom property is so admins can clean up their CRM.