Use custom fields when adding data points to existing records (e.g., NPS score on Account). Use custom objects when modeling a distinct entity with its own lifecycle and one-to-many relationships (e.g., Product Usage records linked to Accounts). Salesforce supports unlimited custom objects. HubSpot Enterprise limits you to 10. Over-engineering with unnecessary custom objects adds complexity to reporting, automation, and maintenance.

Custom objects is user-defined data entities in a CRM that extend the standard data model to represent business-specific concepts not covered by standard objects, with their own fields, records, relationships, page layouts, and automation triggers

RevOps market intelligence showing adoption trends, key benchmarks, and modern org structure for revenue operations
The Decision Framework

Before creating a custom object or field, answer four questions:

  1. Does this data represent a distinct entity? If the data is an attribute of an existing record (a score, a date, a status), use a custom field. If the data represents something with its own records, lifecycle, and relationships (a subscription, a product usage event, a training completion), use a custom object.
  2. Will there be multiple records per parent? A custom field stores one value per record. If an account has multiple subscriptions, you need a custom Subscription object with a lookup to Account. If an account has one NPS score, use a custom field.
  3. Does the data need its own reporting? Custom objects appear as standalone report types. Custom fields appear within their parent object's reports. If you need to run reports on the entity independent of its parent (e.g., "all subscriptions expiring in Q2"), a custom object is the right choice.
  4. Will automations trigger on this data? Custom objects can have their own Process Builder, Flow, and workflow triggers. Custom fields trigger automations on the parent object. If you need separate automation logic (e.g., send a notification when a subscription is about to expire), a custom object provides cleaner architecture.

Custom Fields: When and How

When to use

  • Adding a single data point to an existing object (lead score, subscription tier, implementation status)
  • Capturing information that is always one-to-one with the parent record (one account has one industry, one annual revenue, one customer health score)
  • Quick wins that do not justify data model changes (tracking a campaign response, flagging a record for review)

Field type best practices

  • Use picklists over free text whenever possible. Picklists ensure consistency, enable filtering, and prevent the "CA vs California" problem. See data hygiene playbook.
  • Use formula fields for derived data. If a value can be calculated from other fields (days since last activity, annual contract value from monthly price), use a formula. This prevents data inconsistency from manual entry.
  • Use lookup fields instead of text for relationships. If a field references another record (partner account, primary contact, related opportunity), use a lookup relationship. Text fields that store record names break when the referenced record is renamed.

Salesforce field limits

Salesforce allows up to 800 custom fields per object (varies by field type and edition). Most organizations use 50-150 custom fields per object. If you are approaching 300+, audit for unused fields. Unused fields add clutter to page layouts, slow down reports, and confuse new users.

HubSpot property limits

HubSpot allows up to 1,000 custom properties per object. The bigger constraint is page layout usability. HubSpot's property management is less flexible than Salesforce's page layout editor, so excessive properties create a cluttered record view. Group properties into sections and hide rarely-used ones.

Custom Objects: When and How

When to use

  • Modeling entities with their own lifecycle (subscriptions, product usage, certifications, support tickets)
  • Storing one-to-many data (one account has many subscriptions, one contact has many training completions)
  • Data that needs independent reporting, automation, and security settings
  • Replacing complex workarounds that use multiple fields on standard objects to simulate related records

Common RevOps custom objects

  • Product Usage: Tracks feature adoption per account. Links to Account and Product. Used for health scoring and expansion identification.
  • Renewal: Tracks renewal milestones separate from the Opportunity. Links to Account and Contract. Used for renewal management.
  • Territory: Defines territory attributes (geography, segment, named accounts). Links to User and Account. Used for territory management.
  • Implementation: Tracks post-sale implementation milestones. Links to Account and Opportunity. Used for CS handoff and time-to-value measurement.

Salesforce custom object considerations

Salesforce supports unlimited custom objects (practically constrained by org complexity). Each object can have master-detail or lookup relationships to other objects. Consider tab visibility (not every object needs a tab), sharing rules (who can see records), and reporting (custom report types needed for cross-object reporting).

HubSpot custom object constraints

HubSpot Enterprise allows up to 10 custom objects. This limit is the most significant architectural constraint. Plan your data model before building. Common workaround for the 10-object limit: use associations between standard objects and reserved custom objects for only the most critical entities. HubSpot custom objects also have fewer automation trigger options than Salesforce.

Architecture Mistakes to Avoid

  • Building custom objects when fields would suffice. If the data is one-to-one and does not need independent reporting, a custom field is simpler and easier to maintain. Custom objects add query complexity, require their own page layouts, and need ongoing administration.
  • Not planning relationships before building. A custom object without proper lookup or master-detail relationships creates orphaned data that is hard to report on and harder to clean up. Map all relationships on paper before touching the CRM.
  • Creating too many lookup relationships. Each lookup relationship adds a join to reports and queries. Salesforce performance degrades noticeably above 5 lookups per object. Keep relationships lean and purposeful.
  • Not indexing commonly filtered fields. Custom objects with thousands of records and unindexed fields produce slow reports. In Salesforce, request custom indexes on fields used in report filters and list view criteria.
  • Building without considering HubSpot limits. If there is any chance of migrating to HubSpot in the future, building 15 custom objects in Salesforce creates a migration problem. See our CRM migration guide for platform-specific constraints.

For CRM architecture decisions, also see Salesforce vs HubSpot, data hygiene, and tech stack architecture.

What Changed Recently (2026 Update)

Both Salesforce and HubSpot improved custom object capabilities through 2025-2026. The platform gap narrowed, but the architectural decision criteria stayed largely the same.

  • Q1 2026: HubSpot expanded custom object workflow support meaningfully. Workflows now support more enrollment triggers, more property update actions, and better cross-object association handling for custom objects. The functional gap with Salesforce Workflow and Flow narrowed but did not close. Salesforce still leads on automation depth.
  • Q4 2025: Salesforce Data Cloud and the broader Customer 360 platform shifted some data architecture decisions away from CRM custom objects toward Data Cloud entities. For high-volume operational data (product usage events, transactional records, telemetry), Data Cloud entities are now the recommended approach over CRM custom objects.
  • Q3 2025: HubSpot raised the per-property limit on custom objects and improved the API surface for custom object operations. Reporting on custom objects became more flexible, including better support for cross-object reports that include custom object data.
  • Mid-2025: Both platforms shipped AI-powered data model recommendations. Salesforce Einstein and HubSpot AI suggest when a custom object would simplify your data model and when an existing standard object can serve the use case. The recommendations are useful but not always right. Validate them against your actual reporting and automation requirements.

Frequently Asked Questions

What is the difference between custom objects and custom fields?

Custom fields add new data points to existing objects (e.g., adding 'NPS Score' to the Account object). Custom objects create entirely new data entities with their own records and relationships (e.g., creating a 'Product Usage' object). Use custom fields when the data belongs to an existing record. Use custom objects when the data represents a distinct entity with its own lifecycle.

When should you create a custom object in Salesforce?

Create a custom object when: the data has its own unique records (not just attributes of existing records), multiple records of this type relate to one parent record (one-to-many relationship), the data needs its own reporting and list views, and the data has a lifecycle independent of its parent. If you are adding a single data point, use a custom field.

What are the limits on custom objects in HubSpot?

HubSpot Enterprise allows up to 10 custom objects. Professional tier does not support custom objects. Each custom object can have up to 1,000 properties. HubSpot custom objects are more limited than Salesforce in terms of automation triggers and reporting flexibility. Plan your data model carefully because the 10-object limit constrains complex architectures.

What are common mistakes with custom objects?

Over-engineering the data model (creating objects when custom fields would suffice), not planning relationships before building (resulting in orphaned objects), skipping automation (custom objects without workflow triggers require manual updates), and not considering reporting impact (custom object data is harder to include in standard reports).

How do custom objects affect CRM performance?

Each custom object adds query complexity to reports and automations. In Salesforce, custom objects with poor indexing can slow page loads. In HubSpot, custom object associations increase API call volume. Best practice: index commonly filtered fields, limit the number of lookup relationships per object to 5, and archive unused custom objects rather than leaving them active.

HubSpot custom objects vs Salesforce: what are the limitations?

HubSpot custom objects have meaningful limitations compared to Salesforce. HubSpot caps custom objects at 10 on the Enterprise tier and does not offer custom objects on Professional or below. Salesforce allows up to 200 custom objects on Enterprise and up to 2,000 on Unlimited. HubSpot custom objects support fewer automation triggers, less flexible reporting, and a less mature API surface. Salesforce custom objects support full Apex code, Process Builder, Flow, and Lightning components. For data models requiring more than 10 custom entities, complex relationships, or deep automation, Salesforce is the better platform. For simpler data models with up to 10 custom entities, HubSpot is sufficient and easier to operate.

HubSpot custom objects features and limits comparison for 2025-2026?

In 2026, HubSpot Enterprise supports up to 10 custom objects, each with up to 1,000 properties, 5 unique identifier properties per object, and association capabilities to standard objects (Contacts, Companies, Deals, Tickets) and other custom objects. Records per custom object are capped at 1 million on standard Enterprise. Workflow automation supports custom object enrollment and property updates. Reporting includes custom object data in single-object reports and most cross-object reports, though some advanced reporting features remain Salesforce-only. The 2025-2026 HubSpot improvements added better Workflow support for custom objects and improved reporting flexibility, narrowing some of the gap with Salesforce. For most mid-market data models, HubSpot custom objects are now sufficient. For enterprise data architectures with deep automation, Salesforce still leads.

HubSpot CRM custom fields: how many can I create?

HubSpot Free and Starter allow up to 1,000 custom properties per object combined across all standard objects (Contacts, Companies, Deals, Tickets). Professional allows 1,000 per object. Enterprise allows 1,000 per standard object plus 1,000 per custom object. The practical limit is rarely the cap. The practical limit is data model discipline because creating fields without governance produces an unmanageable schema where reps cannot find anything and reports become unreliable. Best practice: implement field naming conventions, owner attribution, and quarterly field audits to retire unused fields. The 1,000 field cap is enough for nearly any business if you operate it with discipline.

HubSpot CRM Free plan: custom objects, fields, workflows, and limitations?

HubSpot Free plan limitations are significant. No custom objects on Free or Starter tier (custom objects require Enterprise). Workflows are not available on Free (Marketing Hub Starter and above unlock basic workflows; advanced workflows require Professional or Enterprise). Custom properties are available on Free with limits but the lack of workflow automation means properties have to be updated manually. The Free plan is suitable for basic contact management and deal tracking with manual processes. For any meaningful RevOps work (automation, custom data models, workflow-driven processes), HubSpot requires Professional minimum and Enterprise for custom objects. Plan the budget at Professional tier or higher if RevOps will own the platform.

When does it make sense to migrate custom fields to a custom object?

Migrate to a custom object when three signals appear: the data has its own lifecycle independent of the parent record (a Product Usage record exists separately from the Contact who created it), multiple records of the data exist per parent (one Contact has multiple Product Usage events over time), and the data needs its own reporting and list views (you want to filter and report on Product Usage records directly rather than as Contact attributes). If all three signals are present, the data is structurally an entity, not an attribute, and a custom object will produce a cleaner data model. If only one or two signals are present, custom fields are usually sufficient and the migration cost is not worth the complexity.

Methodology: Data based on 689 job postings with disclosed compensation, collected from Indeed, LinkedIn, and company career pages as of April 2026. All salary figures represent posted ranges, not self-reported data.

Like what you're reading?

Get weekly RevOps market data + quarterly reports delivered to your inbox.

Methodology: Data based on 1,839 job postings with disclosed compensation, collected from Indeed, LinkedIn, and company career pages as of May 2026. All salary figures represent posted ranges, not self-reported data.

Related Articles

CRM Operations

CRM Migration Guide: HubSpot to Salesforce and Back

CRM Operations

Deal Stage Mapping for Accurate Forecasting

CRM Operations

CRM Data Hygiene Playbook: Dedup, Standardize, Enrich

Get Weekly RevOps Intelligence

Get weekly market data + quarterly State of RevOps reports. Free.

Get RevOps Intel

Weekly market data + quarterly State of RevOps reports. Free.

Free weekly email. Unsubscribe anytime.