Your CRM data structure determines whether your system becomes a trusted source of truth or a messy spreadsheet nobody wants to use. This guide shows you how to design properties that stay clean and useful as your team grows.
Why Most CRM Data Structures Fail
Most teams approach CRM properties the same way they approach spreadsheet columns: they add a new field every time someone has a question. Six months later, you have 200 contact properties, half of them empty, and nobody can agree on what "Status" means.
The problem isn't the CRM—it's treating it like a database where you can just add columns. Your CRM is a living system that people use under time pressure. If your data structure doesn't match how your team actually works, it won't get maintained.
Core Principles
1. Every Property Needs a Clear Owner
Before you create a property, ask: who is responsible for keeping this updated? If the answer is "everyone" or "it'll auto-populate," you're creating a future data quality problem.
- Lead Source: Marketing owns (set via form or campaign)
- Deal Stage: Sales owns (updated as deal progresses)
- Industry: SDR owns (enriched during qualification)
- Contract Value: Sales owns (entered at close)
2. Properties Should Match Your Process, Not Theory
Don't create properties based on what you might want to track someday. Create them based on decisions your team makes today. If you're not using a field to route, report, or trigger something, you probably don't need it.
3. Use Dropdown Options, Not Free Text (Unless Absolutely Necessary)
Free text fields are where data quality goes to die. "Enterprise," "enterprise," "Enterprise customer," and "ent" all mean the same thing to a human, but they're four different values in your reports.
| Field Type | When to Use | When to Avoid |
|---|---|---|
| Dropdown | Categories, statuses, anything with 2-15 standard options | When options change frequently or need custom values |
| Text | Names, unique identifiers, notes | Anything you need to segment or report on |
| Number | Revenue, employee count, scores | Things that need text labels (like priority levels) |
| Date | Events, renewals, milestones | Approximate timeframes ("Q2 2026") |
| Checkbox | Yes/no binary states | When you need more than two options |
4. Property Names Should Be Self-Explanatory
Your team shouldn't need to guess what a field means. "Type" is ambiguous. "Company Type" is clear. "Lead Status" could mean anything. "Lead Qualification Status" is specific.
- "Status" → "Deal Stage" or "Lead Status"
- "Type" → "Company Type" or "Deal Type"
- "Value" → "Annual Contract Value (ACV)"
- "Rating" → "ICP Fit Score"
- "Date" → "Expected Close Date"
Property Structure by Object
Contact Properties
Contacts are people. Focus on information that helps your team have better conversations and route leads appropriately.
Essential Properties (Everyone Needs These):
- First Name, Last Name, Email - Obviously
- Company Name - Link to company object when possible
- Job Title - Text field (too many variations for dropdown)
- Lead Status - New → Contacted → Qualified → Unqualified
- Lifecycle Stage - Subscriber → Lead → MQL → SQL → Customer
- Lead Source - How they found you (dropdown)
- Contact Owner - Who's responsible for this person
Common Optional Properties:
- Department: For targeting specific roles (dropdown: Sales, Marketing, IT, Finance, Operations, Other)
- Seniority Level: IC → Manager → Director → VP → C-Level (useful for routing)
- Phone Number: Only if your team actually calls people
- LinkedIn URL: For research and context
- Timezone: For scheduling (auto-populate from IP if possible)
Company Properties
Companies are accounts. This is where firmographic data lives—information about the organization itself, not individuals.
Essential Properties:
- Company Name - Primary identifier
- Domain - For enrichment and deduplication
- Industry - Dropdown (use standard classifications like SIC or NAICS, or create your own simple list)
- Company Size (Employees) - Number or range (1-10, 11-50, 51-200, etc.)
- Annual Revenue - If you sell to specific revenue bands
- ICP Fit Score - Dropdown: Ideal, Good Fit, Poor Fit, Disqualified
- Company Owner - Account owner (usually the AE)
Common Optional Properties:
- Company Type: Prospect, Customer, Partner, Competitor
- Target Account: Checkbox for ABM programs
- Technologies Used: Multi-select if you sell based on tech stack
- Region/Territory: For routing and quota tracking
- Parent Company: For enterprise accounts with subsidiaries
Deal Properties
Deals are opportunities. Track what you need to forecast accurately and close deals, nothing more.
Essential Properties:
- Deal Name - Company Name + Product/Service
- Deal Stage - Your pipeline stages (see separate guide)
- Amount - Total contract value or annual value
- Close Date - Expected close date (required for forecasting)
- Deal Owner - AE responsible for closing
- Deal Type - New Business, Renewal, Expansion, Churn
Common Optional Properties:
- Contract Term: Annual, Multi-year, Monthly
- Next Step: Text field for what needs to happen next
- Competitors: Who you're up against (multi-select)
- Win/Loss Reason: Required when deal closes (dropdown)
- Decision Maker: Link to contact who signs the contract
- Probability: Auto-calculated by stage or manual override
Property Naming Conventions
Consistency matters. Pick a convention and stick to it across your entire CRM.
Recommended Convention:
- Prefix custom properties with category: "Sales_Qualification_Score" instead of "Qualification Score"
- Use underscores or spaces, not camelCase: "Lead_Source" or "Lead Source," not "leadSource"
- Spell out abbreviations: "Customer Acquisition Cost" not "CAC" (unless everyone on your team knows the acronym)
- Include units in the name: "Contract_Value_USD" or "Employee_Count"
- Date fields should say what they represent: "Contract_Start_Date" not just "Start_Date"
Property Maintenance Rules
When to Add a New Property
Only add a property if it meets at least 2 of these criteria:
- It affects routing or assignment (e.g., company size determines which AE gets the lead)
- It's required for reporting (e.g., tracking deal source for marketing attribution)
- It triggers automation (e.g., lifecycle stage triggers email sequences)
- It's needed for segmentation (e.g., industry for targeted campaigns)
When to Archive a Property
Review your properties quarterly. Archive (don't delete) any field where:
- Less than 20% of records have a value
- Nobody has updated it in 6+ months
- The original owner left and nobody knows what it's for
- The process it supported no longer exists
Common Data Structure Mistakes
Mistake #1: Creating Properties for Every Report Request
Problem: Marketing asks for "Campaign Name" to be tracked at the deal level. You create a property. Next week, they want "Content Type." Then "First Touch Asset." Soon you have 15 properties that only marketing cares about.
Solution: Use your CRM's built-in associations or create a single "Attribution" object that connects deals to campaigns, content, etc. Don't bloat your core objects.
Mistake #2: Too Many Qualification Fields
Problem: You implement BANT (Budget, Authority, Need, Timeline) as four separate properties. Sales fills them out inconsistently because it feels like homework.
Solution: Create a single "Qualification Status" property (Not Qualified, Partially Qualified, Fully Qualified). Use notes or a separate qualification object for details.
Mistake #3: Using Free Text When You Need Dropdowns
Problem: "Industry" is a text field. You have 47 different variations of "Software" in your database.
Solution: Convert to dropdown with 8-12 standardized industry categories. Let people add "Other" with a text field if needed.
Mistake #4: Property Names That Need Documentation
Problem: Nobody knows the difference between "Status," "Lead Status," and "Lifecycle Stage" without reading a wiki page that doesn't exist anymore.
Solution: Use descriptive names and add help text. "Deal Stage" is clear. "Stage" is ambiguous.
Property Field Types: Decision Guide
| Data Type | Best Field Type | Example |
|---|---|---|
| Categories (2-15 options) | Dropdown (single-select) | Lead Status, Company Size, Industry |
| Categories (pick multiple) | Multi-select | Product Interests, Pain Points |
| Yes/No questions | Checkbox | Email Opt-In, Target Account |
| Whole numbers | Number | Employee Count, Deal Amount |
| Decimals | Number (decimal) | Contract Value, Close Probability |
| Specific dates | Date picker | Close Date, Contract Start |
| Time-sensitive events | Date-time picker | Demo Scheduled, Last Contact |
| Unique identifiers | Text (single-line) | Company ID, Sales Order Number |
| Long descriptions | Text (multi-line) | Notes, Deal Summary |
| Links to other records | Association/Lookup | Contact to Company, Deal to Contact |
Implementation Checklist
- Audit existing properties—archive anything unused in 90+ days
- Create property naming conventions document
- Assign owners to each critical property
- Convert high-value text fields to dropdowns with standardized options
- Add help text to confusing or complex properties
- Document required vs optional fields for each team
- Set up quarterly property review meeting
- Train team on what each property means and when to use it
