CRM data model: how to design it in 7 decisions
A CRM configured without a design piles up fields nobody can explain and reports the board does not trust. The seven decisions of the data model, from objects to naming, the document that records who fills in what and when, and how to validate the design with every team before configuring.
The CRM data model is the design that defines which objects the company records, such as company, contact, deal, product and ticket, which properties each object holds, how records connect and which pipelines they move through, and it needs to be written down and approved by the teams before anyone opens the configuration screen. The design fits into seven decisions and a document of a few pages that states, for each piece of information that weighs on a decision, which object it lives in, who fills it in and when. Skipping this step gets expensive months later, when reports, automations and integrations already depend on a structure configured in a hurry and changing an object forces the team to rebuild what it built on top. The company that implements without a design ends up with more fields than anyone can explain and a board that goes back to the spreadsheet to get a number.
In the diagnostics I run on CRMs that come in for restructuring, the first list I ask for is the deal properties with creation date and fill rate, and it usually shows fields nobody opens anymore and duplicates with similar names, created on request, one at a time, without a design that said where each piece of information should live. The discipline of designing before building is fifty years old in computing: in 1976, Peter Chen proposed the entity-relationship model as a database design technique, separating the things an organization records, the relationships between them and the attributes of each one (Chen, 1976). CRM vocabulary is the commercial version of that idea.
What is the CRM data model?
The data model is the map of commercial information inside the CRM. An object is a type of thing the company records, with its own screen, list and reports, and a record is each occurrence of it, such as one company in the database with its tax ID. A property is the information stored in each record, the field on the screen. An association is the link between records, and the association label states the role that link represents, such as the contact who is the decision maker on a deal. A pipeline is the sequence of stages a record moves through, with a criterion to advance.
The seven decisions follow this order: standard objects, custom objects, properties, associations, pipelines, naming and the design document. The boundary between object and property is the decision that weighs most, because it defines what the company can count, filter and add up later.
Why design the model before implementing or restructuring?
The order that protects the project runs from the design to the data dictionary, then to configuration, migration and integrations. The ERP integration maps properties that need to exist with the right type, the migration needs a mapping between old and new fields, and the board report only works if the information is in a format it can group. Fixing it on paper costs a meeting, and after go-live it costs reconfiguration and rebuilt dashboards.
In a restructuring, the work starts with an inventory of what exists, with the fill rate of each property and the reports and automations that depend on it. The new design comes from business decisions, and the inventory comes in afterwards, to build the field mapping that the CRM migration will execute.
Which standard objects does a CRM need?
Almost every B2B operation starts with the standard objects, the ones the platform ships ready, with reports and automations prepared for them. When the CRM talks to the ERP, the product code in the catalog has to match the one used for invoicing, and the design states which of the two systems creates and maintains the catalog.
| Object | What it represents | Question it answers |
|---|---|---|
| Company | The organization that buys or may buy, identified by tax ID or domain | How much each account and each segment represents in revenue |
| Contact | The person the company has a relationship with | Who decides, who uses and who pays in each account |
| Deal | A revenue opportunity, with amount, stage and date | How much comes in, when and with what likelihood |
| Product and line item | The catalog and the lines of each deal, with quantity, price and discount | What the company sells, at what price and with what discount |
| Ticket | A customer request someone needs to resolve | How much each account asks for and which reason concentrates problems |
When should you create a custom object?
A custom object is a record type the company creates when no standard object represents something it needs to track. I approve one when the thing exists on its own, a company can have several of them at the same time and it has its own cycle, with dates, status and an owner that change without the company or the deal changing. A contract with a term and renewal passes this test, as do a serviced location in a retail network, equipment installed at the customer and an enrollment at a school.
If the information describes a record that already exists, such as size or region, it is a property. If it marks a moment in the sale, such as the proposal sent, it is a stage or an activity. Each custom object needs properties, permissions, reports and mapping in the integrations, and on some platforms it depends on the plan you pay for, so the business question has to justify that cost.
How do you define the properties of each object?
Each property answers a question someone will ask the CRM, and the design records that question before the property is created. A property born without it becomes a field nobody can explain.
Which property type should you choose?
The type defines what the company can do with the data: text does not add up and a date stored as text does not filter by period.
| Type | When to use it | Example |
|---|---|---|
| Single-select list | A classification that becomes a filter or a grouping | Segment, company size, loss reason |
| Multi-select | More than one value applies at the same time, with no sums | Products of interest |
| Number and currency | A quantity or amount used in calculations, with unit and period in the label | Deal amount, number of employees |
| Date | A moment someone will filter or measure, separating expected from actual | Expected close date, contract start |
| Yes or no | A condition with two answers and a defined meaning for blank | Requires vendor registration |
| User | The person responsible inside the company, one property per role | Account owner, CSM |
| Text | A unique identifier or context nobody groups | Tax ID, meeting summary |
| Calculated | A value derived from other properties, with a documented formula | Annual value from the monthly value |
Required at the moment the person has the information
A property required when the record is created produces invented data, because the seller does not know the deal amount at first contact. In the design, the requirement is tied to the stage or event in which the information exists. The per-stage field rule is in CRM data quality.
A closed list instead of free text
Any information leadership will filter, group or compare goes in as a list, with the values written in the design session with the teams. Each value has a label, which the team reads, and an internal value, which integrations and reports use. The label can change with the market’s vocabulary, and the internal value stays stable, because changing it breaks saved filters and integration mappings.
One single writer for each property
Each property has one source: a person, an integration or an automation. When the ERP owns the customer’s financial status, the CRM shows the value as read-only, otherwise the next sync wipes out the correction the seller made by hand. The design marks the master system and the direction of each piece of data that comes from outside, and the flows between the two systems are in CRM and ERP integration.
Associations and association labels: how do you connect records?
An association defines which records connect and how many on each side. A deal links to a primary company, to several contacts and to several line items. A contact can be linked to more than one company, like the director who changed jobs, and a ticket links to the company and to the person who opened it. The design chooses the association that drives the reports, such as the deal’s primary company, which decides in which account the revenue shows up.
The label states the role of the link. Between deal and contact, labels describe the buying committee, such as decision maker, influencer, user, procurement and legal, and leadership can then filter deals at proposal stage with no decision maker associated; mapping that group is covered in B2B buying committee. Between companies, labels record parent and subsidiary, business group, reseller and end customer. In a network where headquarters signs and the locations use the service, revenue sits with headquarters, tickets with the locations, and the account report adds up both ends through the association.
Pipelines and stages: where do they fit in the model?
A pipeline belongs to an object. The deal has the new business pipeline and, when the customer’s decision changes, a renewal and expansion pipeline, and the ticket has the support queue. In the design, each stage carries the exit criterion, the properties that become required, who can move the record and the automation the change triggers. The method for writing criteria based on the buyer’s decision is in B2B sales funnel. Seller, region and channel work better as properties and filters than as pipelines of their own.
How do you name objects, properties and values?
Each property has two names. The label appears on the screen and follows the team’s language, and the internal name, used by integrations, automations and exports, follows a technical pattern and does not change after creation, because the integration points to it.
The design document: object, key properties, who fills in and when
The design document records the decisions in a table the board reads in a few minutes and the administrator uses to configure. It lists the key properties, the ones that feed a report, a handoff, an integration or a rule. The template below is the starting point I adapt with each operation, with a custom contract object as an example.
| Object | Key property | Type | Who fills it in | When | Report or decision that uses it |
|---|---|---|---|---|---|
| Company | Tax ID | Text with validation | SDR or enrichment | At creation | Duplicates and matching with the ERP |
| Company | Segment | Single-select list | SDR | Before qualification | Conversion by segment |
| Company | Account owner | User | Sales leadership | When the portfolio is assigned | Portfolio and commission |
| Contact | Job level | Single-select list | Marketing or SDR | At qualification | Lead criteria and committee coverage |
| Deal | Amount | Currency, calculated from line items | Seller | At proposal | Forecast |
| Deal | Expected close date | Date | Seller | At proposal, reviewed every week | Pipeline meeting |
| Deal | Loss reason | Single-select list per stage | Seller | When marked as lost | Loss analysis |
| Ticket | Category | Single-select list | Support | When opened | Volume by reason and by account |
| Contract | Term start and end | Date | ERP integration | At signature | Renewals for the quarter |
The document has two more pieces: the association diagram, with one box per object and the labels written on each line, and the list of pipelines with stages, exit criteria and required properties. The data dictionary completes the set, fixing what each term and each field in this model means for the business, with calculation rule, source and owner.
How do you validate the data model with the teams?
Exceptions show up when someone tries to record a real customer in the new model. In the implementations I follow, the real-case test is the one that changes the design the most, because the customer who bought through a reseller or the contract signed by headquarters for several locations comes up in the case and never comes up in a requirements meeting. The version that passes the tests gets a number and a date, the board signs it, and only then does the administrator configure.
| Test | How to run it | Who takes part | Approved when |
|---|---|---|---|
| Real cases | Walk ten customers from the last year through the model on paper, from first contact to renewal | Sales, marketing and CS | Every piece of information in the case has an object and a property |
| Board reports | Each leader lists the reports for the monthly meeting | Leaders and the board | Every report comes out of the model with no side spreadsheet |
| Handoff | Simulate passing the lead to sales and the won customer to CS | SDR, seller and CSM | The next team finds what it needs in a property with an owner |
| Integrations | Mark the properties that come from another system | IT and revenue operations | Every property has a single writer |
| Personal data | Review the purpose of every property holding personal data | Data protection officer and legal | No personal data without a written purpose |
Who owns the CRM data model?
| Role | What it does in the model | What it approves |
|---|---|---|
| The board, as sponsor | Sets priorities and settles conflicts between teams | The final version and changes that affect official reporting |
| Model owner, in revenue operations or CRM administration | Writes the design, maintains the document and receives change requests | New properties, list values and naming |
| Marketing, sales and CS leaders | State which decisions need data and hold the team to filling it in | Properties, lists and stages for their own team |
| IT | Answers for integrations, access and security | Integration mappings and access profiles |
| Data protection officer and legal | Check the purpose and necessity of each piece of personal data | Properties holding personal data |
A request for a new property reaches the model owner with the business question, the report that will use the value, who fills it in and when. The owner first looks for an existing property that answers the same question and decides at the monthly meeting with the leaders.
Common mistakes when designing the CRM data model
Copying the old spreadsheet
The team’s spreadsheet becomes, column by column, the set of deal properties. It mixed company, contact and contract in one row, and the CRM inherits the mix, with the decision maker as text and the product typed by hand. Use the columns as a list of requirements and let the design decide which object each one lives in.
Creating a field for every request
Each team asks for its own field, the administrator delivers, and within a year the deal has properties only one person fills in. When the field holds personal data, the excess carries legal weight: Brazil’s data protection law (LGPD) requires purposes that are “legitimate, specific, explicit and informed to the data subject” and limits processing to “the minimum necessary to achieve its purposes” (Lei 13.709/2018, art. 6, items I and III).
Free text where leadership will need a filter
A text field looks flexible during configuration and charges its price on the first report, with the segment spelled five ways and a history someone will standardize record by record. In the design session, ask whether anyone will filter, group or compare the information, and if the answer is yes, the property starts life as a list.
Forcing everything into the deal
Contracts, implementation projects and support requests become deals in improvised pipelines, because the deal is the object the team knows. The pipeline report starts adding new revenue to renewals and complaints, and the forecast mixes things that do not add up. Anything with its own cycle after the sale calls for a ticket or a custom object.
Training: who needs to learn what
The model owner learns to choose types, build associations, assess requests and maintain the document. Leaders learn to read the design, to know which property feeds each report they bring to the board and to hold the team to filling it in at the team meeting. Sellers, SDRs, marketing and CS learn what they fill in, when and who uses that data next, in the CRM already configured with the approved model, and get a short update with every relevant change.
30-day roadmap for leadership
- Days 1 to 3: name the sponsor and the model owner. Write down what the owner approves and tell the teams.
- Days 4 to 7: list decisions and reports. Each leader brings the reports for the monthly meeting and the questions they cannot answer today; in a restructuring, also run the property inventory.
- Days 8 to 12: design objects and associations, applying the own-cycle test to every custom object candidate.
- Days 13 to 17: fill in the design document with the key properties, types, who fills them in, when and the values of each list.
- Days 18 to 21: write pipelines, stages and naming, with exit criteria and required properties per stage.
- Days 22 to 26: validate with real cases and fix the design wherever a case did not fit.
- Days 27 to 30: approve version 1 and open the request flow. The board signs and the administrator configures from the document.
If your company is about to implement or restructure its CRM and nobody can say where each piece of information should live, that is the work of the in-company CRM adoption training. I run the program with the leaders, the model owner and every role that records data, on the cases and reports of your operation. The group leaves with the CRM best-practices guide, with objects, properties and naming designed, and with the portfolio and database management manual, which defines account ownership, associations and the routine that keeps the model standing.
Frequently asked questions
What is a CRM data model?
It is the design that defines which objects the CRM records, which properties each one holds, how records are associated and which pipelines they move through. It is written in a document the teams approve before configuration, and it guides integrations, migration and reporting.
When should you create a custom object in the CRM?
When the thing the company needs to track exists on its own, appears several times in the same account and has its own cycle, with dates, status and an owner. Contracts, serviced locations and installed equipment usually pass this test. If the information only describes an existing record, it is a property.
What is the difference between a data model and a data dictionary?
The data model shows the structure: objects, associations, pipelines and the key properties with who fills them in and when. The dictionary fixes what each term and field means for the business, with calculation rule, source and owner. The model comes before configuration, and the dictionary follows the operation afterwards.
How many properties should a CRM object have?
No number works as a yardstick; the criterion matters more than the count. Each property needs a business question, someone who fills it in and a report or rule that uses the value, and any property that fails this test leaves at the next model review.
Can you change the data model once the CRM is in use?
Yes, at a higher cost with every month of use, because reports, automations and integrations depend on the structure. The change goes through the model owner, with an analysis of what depends on it, a plan for the history and notice to the affected roles.
How do you prepare the team to work with the new data model?
Train each role in the CRM already configured, showing what they fill in, when and which report or team uses that data. Leaders go through the program first, because they are the ones who hold the team to recording at the team meeting. Repeat a short update with every relevant change to the model.
Want to bring this to your team?
The topics in this article also become in-company training: designed from a diagnosis of your operation, with real cases from your team and a deliverable that stays with the company.
More writing on the same subject.

Training results: how to measure in 4 levels and 90 days
A satisfaction survey measures the class and leaves the board without knowing whether the pipeline changed. How to measure the results of sales, CRM or AI training across the four Kirkpatrick levels and Phillips ROI, with a baseline, a comparison group and a 90-day dashboard.
18 min readRead more
Customer health score: 6 signals and how to calibrate
A health score warns of cancellation months ahead when it combines usage, relationship, tickets, payment, sponsor and NPS with weights taken from past cancellations. How to calibrate it, what CS does in each band and how to build the score in the CRM.
18 min readRead more
AI governance: 4 risk levels and who approves each use
Most boards cannot say how many AIs the company uses or which decisions they influence. AI governance is the system that answers this: an inventory of use cases, risk classification, named owners, an approval cycle, monitoring, contracts and training.
17 min readRead more