Why do custom objects collect so many unused properties?

Standard objects get attention because everyone uses them every day. Custom objects are usually owned by one team or one system, so their properties drift out of use with nobody looking. Three patterns cause most of it:

  • Built for one project. A custom object is set up for a specific rollout, a partner program, or an event series. The project ends, but the object and its 30 properties stay. Some still get written to occasionally, and most don't.
  • The schema changed after an integration. Custom objects often mirror data from another system, such as subscriptions, licences, shipments or assets. When that system changes its fields, or the sync is rebuilt, new properties are added and the old ones are left behind, empty from that date on. Because internal names can't be edited once created, renaming isn't an option, so teams add a new property instead.
  • Properties added per pipeline or use case. When a custom object has several pipelines or serves several teams, each one adds its own fields. One team's "Renewal risk" sits next to another team's "Renewal risk score". When a pipeline is retired, its properties stay.

The result is the same as on contacts or deals: cluttered record pages, confusing filters, and reports built on fields nobody fills in. HubSpot also limits how many custom objects and properties you can have, depending on your subscription. See HubSpot custom property limits if you're getting close.

Which HubSpot subscriptions include custom objects?

According to HubSpot's knowledge base, creating custom objects requires an Enterprise subscription. The eligible editions are:

ProductEdition with custom objects
Marketing HubEnterprise
Sales HubEnterprise
Service HubEnterprise
Data Hub (formerly Operations Hub)Enterprise
Content HubEnterprise
Smart CRMEnterprise
Revenue HubEnterprise

You also need the right permissions. HubSpot says account access permissions are required to create, edit and manage custom objects. Limits on the number of custom objects and properties depend on your subscription. HubSpot points to its Products & Services catalog for the current numbers rather than listing them in the KB.

Where are custom object properties managed in HubSpot?

There are two places to look, and they show different things:

WherePathWhat it's good for
Property settingsSettings (gear icon) → Properties → Select an object dropdownCreating, editing, archiving, restoring and exporting properties
Data modelMore → Data Management → Data Model, then the Manage tabA per-object Properties tab that lists every property for the object. All users can view it, and Super Admins can edit from it
Custom object settingsEdit the object itselfChanging the object's names and description, and adding or removing secondary display properties

Two details are worth knowing before you start:

  • Removing a secondary display property doesn't delete it. HubSpot says the property stays on records and is just no longer shown on the profile card or in index page filters. To actually remove it, archive it in property settings.
  • The primary display property is required. It names each record, and HubSpot requires it to create a custom object record. It's not a cleanup candidate.

How do you find unused custom object properties?

The native route works on custom objects the same way it does on standard ones. Here is a process that works:

  1. List your custom objects. Open the data model (More → Data Management → Data Model) and note every custom object, who owns it, and which integration (if any) writes to it.
  2. Export the properties. In Settings → Properties, click Export all properties, select your custom objects, pick a file format and export. HubSpot says the file includes each property's type, group, creator, usages and fill rate. HubSpot's own example in the KB is an export of a custom object's properties.
  3. Sort by fill rate, lowest first. Properties at or near 0% are your shortlist. A low fill rate isn't always bad, though. A field that only applies to one pipeline will look sparse across the whole object. HubSpot property fill rate explained covers how to read the number.
  4. Check usage. An empty property that's still referenced in a workflow, list or report needs a decision from the owner, not a quick archive. Empty vs unused vs stale properties explains why these are different problems.
  5. Ask the integration owner. If a connected system writes to the object, confirm the property isn't still mapped before you archive it. A sync that suddenly fails is worse than a cluttered sidebar.
  6. Archive in small batches and record what you removed. Details are in the next section.
One gap to know about: HubSpot says the export's "last updated" time and update source columns are included for contact, company, deal and ticket properties. Don't expect them for custom object properties, so recency is harder to judge there.

On every plan, HubSpot's data model health check (Data Management → Data Model → Health tab) covers custom objects too, and flags properties with a low fill rate, inactive properties, and similar (duplicate) properties. Run it first; it's free.

HubSpot's data quality tools (Starter and above, not on free HubSpot) include a Property Insights tab that flags duplicate, no-data and unused properties, with a tab for each object. HubSpot's documentation doesn't say which objects get a tab, so check whether your view includes your custom objects before relying on it.

How do you archive or delete a custom object property?

The steps are the same as for any HubSpot property:

  1. Go to Settings → Properties and pick the custom object in the Select an object dropdown.
  2. Hover over the property, click More, and choose Archive.
  3. Read the right panel. It shows the fill rate for this property, the assets preventing archiving, and other assets using this property. A property used by something such as a workflow or a property card can't be archived until you remove that usage.
  4. Confirm. The property moves to the Archived tab.

Archived properties can be restored from the Archived tab for 90 days. After that HubSpot permanently deletes them, and properties archived 90 or more days ago can't be restored. To delete sooner, a Super Admin can select archived properties, click Delete, and type the number of properties to confirm.

A property can be archived even when records still hold values in it. Check the fill rate in the archive panel before you confirm, and export the data first if anyone might need it.

For a full pre-archive checklist, see how to safely archive or delete HubSpot properties.

Can you delete a custom object in HubSpot?

Yes. Sometimes the cleanest fix is to retire the whole object instead of pruning it. The rules are stricter than for properties:

  • It can't be undone. In the UI you have to tick a checkbox acknowledging that you cannot restore a deleted custom object.
  • It can't be in use. HubSpot won't delete a custom object that other tools still use, so remove those references first.
  • Through the API, it has to be empty first. HubSpot's developer docs say you can only delete a custom object schema after all of its records, associations and properties are deleted.
  • Reusing the name takes a hard delete. To create a new custom object with the same name, the old schema has to be hard-deleted through the API (a DELETE with ?archived=true).

Before you delete an object, export its records and the property list, and confirm with every team and integration that writes to it.

Can you scan custom objects alongside standard objects?

The native export works object by object and gives you a snapshot. If you have several custom objects and want one list, PropSweep can help. It's a read-only HubSpot app that measures the fill rate of every custom property and ranks them emptiest-first.

  • Pro Pass ($19 one-time for 6 months) scans custom objects together with contacts, companies, deals, tickets, leads, line items, products and quotes, in one ranked list. It re-scans automatically every week and exports to CSV.
  • Custom objects need two optional permissions at install: crm.objects.custom.read and crm.schemas.custom.read. If they aren't granted, PropSweep skips custom objects and scans everything else.
  • The free tier doesn't include custom objects. It covers contact properties only and shows the 5 least-filled.
  • PropSweep measures fill rate only. It doesn't track when a property was last updated or whether it's used in workflows, so still check usage in HubSpot before archiving. It never edits or deletes anything. See what it reads and stores.

Scan every object in one go

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

Install Free on HubSpot

FAQ

Does HubSpot's property export include fill rate for custom objects?

Yes. Export all properties lets you select which objects to export, and the file includes usages and fill rate for each property. HubSpot's own example is an export of a custom object's properties.

Does removing a secondary display property delete it?

No. The property stays on custom object records and is only hidden from the profile card and index page filters. To delete it, archive it in property settings.

Can I restore a deleted custom object?

No. HubSpot asks you to acknowledge that a deleted custom object cannot be restored. Archived properties, by contrast, can be restored for 90 days.

Does the PropSweep free tier scan custom objects?

No. The free tier scans contact properties only. Custom objects are included in Pro Pass, as long as the custom object read permissions were granted at install.

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.