Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
Compare

Custom Object vs Custom Settings

Business data records vs application configuration

All comparisons

Custom Object

VS

Custom Settings

Custom Object

A Custom Object in Salesforce is a user-defined object you create to model data that does not fit any standard object. Salesforce ships with around fifty standard objects (Account, Contact, Opportunity, Case, Lead, and the rest); Custom Objects extend that schema with the specific record types your business needs. Every Custom Object has an API Name ending in __c (the platform's marker for custom metadata), a set of fields you define, and access to nearly every platform feature that standard objects use: page layouts, record types, validation rules, triggers, formula fields, sharing rules, reports, Lightning Record Pages, and the rest. Custom Objects are how Salesforce stays usable as a platform rather than just a CRM. A pure CRM database with a fixed schema cannot model the dozens of business-specific concepts every customer eventually needs to track: Projects, Assignments, Service Requests, Invoices, Inventory Items, Patient Visits, Loan Applications, anything else that does not appear on Salesforce's standard list. Custom Objects fill that gap. Most enterprise Salesforce orgs have between thirty and three hundred Custom Objects, each modeling something specific to the business, and the cumulative weight of all those Custom Objects is what makes the org feel like the company's central operational system rather than just a sales tool.

Custom Settings

Custom Settings are a Salesforce data construct that store configuration data accessible from Apex, Flow, validation rules, and formula fields without consuming SOQL governor limits. They look like custom objects in Setup but live in an in-memory cache, which makes reads effectively free in code. The two types are List Custom Settings, which hold a flat list of named records, and Hierarchy Custom Settings, which support an inheritance hierarchy of org-default, profile-level, and user-level overrides for the same setting. Custom Settings were the standard configuration mechanism for most of Salesforce's history. Tax rates, integration endpoints, feature flags, geocoding API keys, validation thresholds: all classic Custom Settings use cases. Custom Metadata Types, introduced in 2015, have replaced Custom Settings for most new use cases because metadata can be deployed through change sets and tracked in version control. But Custom Settings remain the right tool for user-specific or profile-specific overrides (which Custom Metadata cannot do natively) and for any configuration that admins need to edit in production without metadata deployments.

Key Differences

DimensionCustom ObjectCustom Settings
PurposeStore business data recordsStore configuration or app settings
UI AccessFull - tabs, page layouts, list viewsLimited - Setup menu or Apex code
RelationshipsSupports lookups and master-detailNo relationships to other objects
Data AccessStandard SOQL queriesCached access without SOQL counts
AutomationFull support for flows, triggers, processesLimited automation support

When to use Custom Object

When you need to store and manage business records with full CRM capabilities.

When to use Custom Settings

When you need app-level configuration data accessed frequently in Apex code.