All articles
CRM Foundations6 min read

CRM Data Model 101: Contacts, Accounts, Deals, and Activities

Every CRM is built on four core objects — contacts (people), accounts (companies), deals (opportunities), and activities (interactions). Understanding how they connect is the key to getting the most out of any CRM.

Key Takeaways
  • The four core CRM objects are contacts (people), accounts (companies), deals (opportunities), and activities (interactions).
  • Relationships are the key: contacts belong to accounts, deals link to contacts, activities log interactions against any object.
  • Custom fields and tags extend the base model without requiring schema changes.
  • The simpler the data model, the higher the adoption — avoid over-engineering.

The Four Core Objects

👤Contacts

People — the individuals your team sells to, supports, and builds relationships with. Each contact has a name, email, phone, title, company, and custom fields.

🏢Accounts

Companies — the organizations contacts belong to. Accounts group contacts by employer and store firmographic data (industry, size, revenue).

💰Deals

Opportunities — potential revenue in your pipeline. Each deal has a value, stage, probability, close date, and is linked to one or more contacts.

📞Activities

Interactions — calls, emails, meetings, and notes. Every touchpoint in the relationship is logged as an activity linked to a contact, deal, or account.

How Objects Relate to Each Other

RelationshipTypeExample
Contact → AccountMany-to-oneJane Smith works at Acme Corp
Deal → Contact(s)Many-to-many$50K renewal involves Jane (champion) and Bob (buyer)
Activity → ContactMany-to-oneCall logged against Jane on March 1
Activity → DealMany-to-oneCall linked to the $50K renewal deal
Deal → Pipeline StageMany-to-one$50K renewal is in Negotiation stage
ℹ️Why this matters
Relational data is what separates a CRM from a spreadsheet. When you log a call against a contact, that call automatically appears in the deal’s activity timeline, the account’s history, and the contact’s profile. One action, multiple views.

Extending the Model: Tags and Custom Fields

Custom Fields

Add structured data to any object — “Industry” on accounts, “Use Case” on deals, “NPS Score” on contacts. Custom fields are typed (text, number, date, dropdown), filterable, and reportable.

Best for: data you want to search, sort, and report on.

Tags

Apply freeform labels to any record — “SaaStr-2026”, “High Priority”, “Decision Maker”. Tags are flexible and can be added/removed without schema changes.

Best for: ad-hoc grouping, event tracking, workflow triggers.

How crmzero handles this

crmzero’s data model is transparent and fully accessible via API. Contacts, deals, activities, tags, and custom fields are all first-class objects with full CRUD operations. The API returns typed, consistent JSON — no dynamic blobs or hidden fields.

See the API docs →

Frequently Asked Questions

What are the core objects in a CRM?

The four core objects are: contacts (people), accounts (companies), deals (sales opportunities), and activities (interactions like calls, emails, meetings, and notes). These objects are linked together to create a complete picture of business relationships.

What is the relationship between contacts and accounts?

Contacts belong to accounts — it's a many-to-one relationship. Multiple contacts (Jane Smith, Bob Jones) can belong to the same account (Acme Corp). This lets you track all the people you know at a given company.

What are custom fields in a CRM?

Custom fields are user-defined fields that extend the base data model. For example, adding a 'Budget Range' dropdown to deals or a 'LinkedIn URL' text field to contacts. They're typed, searchable, and reportable.

Should I use tags or custom fields?

Use custom fields for structured data you want to filter and report on (industry, deal type). Use tags for flexible, ad-hoc grouping (event attendance, campaign membership). Tags are easier to add but harder to report on.

Related Articles