Salesforce Objects 101: Data Model Best Practices

Zoe Hartsfield

June 2, 2023
you notice your sales data is out of date
you feel like you lack clarity on current pipeline
you want to see reports on booked and forecasted revenue but can’t
you missed an important action item for a potential customer
you expanded your sales team and it’s hard to see who owns what account
you’re seeing duplicates in the data
What does “CRM set up” mean/involve?
When is the best time to set up your CRM and why?
What are the costs if you wait?
What are the benefits if you move quickly?
How do most companies implement their CRM?
Should you get Salesforce or another CRM?

Salesforce Objects and Data Model Best Practices

In this blog, we'll give you a concise explanation of the various objects you'll find in Salesforce. We'll also provide Swantide's suggestions on how to use them efficiently and effectively. More specifically, we'll walk you through the process and make recommendations on determining which object is best used to create a field in your specific instance or use case.

Standard Objects


Represent a company or organization that you interact with. Accounts can have a 1:many relationship with both Opportunities and Leads.


Represent a person your company engages with. This represents a single individual and is associated with a company/Account.


Opportunity objects represent a sales process or singular potential sale. You may have several Opportunities on one Account, even if the stakeholders remain unchanged. For example, you may have a renewal for a Closed Won Opportunity or a New Business Opportunity that wants to delay further conversations for six months. In both of these examples, you should create a second Opportunity (as opposed to editing the initial Opportunity). This provides more accurate data on the effectiveness of your renewal process, sales cycle duration, and more.


We like to view this as a parking lot for messy data about an individual. See more explanation in the Contacts vs. Leads section below.


A Campaign represents a single or group of marketing activities that tie back to leads, contacts, and pipeline. A group of Leads and Contacts that engage in those activities then get linked to certain marketing efforts or "Campaigns." Swantide can help integrate your marketing automation platform with Salesforce and link your marketing efforts with sales Opportunities and Closed Won revenue in Salesforce.

Account & Opportunity Teams

Allow you to link multiple Salesforce users to an Account or Opportunity record (by default, you can only associate the record's owner to the record). Note that you need Salesforce's Enterprise Edition for this feature.

Contact Role

Indicates the role that a Contact plays on a given Opportunity (e.g., Economic Decision Maker, Technical Sponsor, etc.). This is particularly useful when:

  • You have several Contacts on one Account, but not all of them are involved with an Opportunity. This makes it clear who the relevant stakeholders are and allows emails and calendar events to be synced onto the Opportunity record
  • You want to link fields on the Contact object to Fields on the Opportunity object. For example, if you don't use a marketing automation platform and store UTM values on the Contact, the Contact would need to be created as an Opportunity Contact role to link it with Closed Won revenue.

Contacts vs. Leads

This is sometimes seen as a debate, but after hundreds of hours of RevOps interviews and evaluating engineering/systems best practices, we've come to a conclusion. Both Contacts and Leads store information about individuals (e.g., Name, Email, Phone Number, Company). Contacts should be used whenever you've validated that they are a real person, whereas Leads should be viewed as a parking lot for messy data.

The Contact object allows you to see much more context for the associated Account, including any historical emails, calendar events, Opportunities, and other Contacts linked to the same Account. These are all valuable data points for your sales team, and the lead object only provides information about that one record.

That's why we suggest using the Lead object only for messy or unverified data, which helps keep your Salesforce clean. Suppose you utilize Swantide's Web-to-Lead form, which helps bring sign-ups from your website into Salesforce automatically. In that case, those should be created as Leads by default, as many people (e.g., recruiters or other spam) should not be tracked in your Salesforce. Once you've validated that the Lead is a real person, you should convert the Lead into a Contact and Account. This can either be a new Account or mapped to an existing Account.

Custom Objects

Onboarding Cycle

A Custom Object that represents the post-sales process/what happens after the contract is signed. This is ideal for Customer Success teams who want to track the onboarding process in Salesforce.

Product Instance

Represents an "instance" or workspace of your product. It could be a single person's Account and interaction with a feature, or it could be a team of folks at the same organization sharing a team account and using many features within your product. This is particularly useful for PLG companies in keeping a clean Account hierarchy in Salesforce. Swantide can partner with you to bring new workspaces into Salesforce, as well as other usage metrics for your sales team.

Guidance for Creating Custom Fields

We often get questions about which object to create custom fields on, particularly regarding Accounts and Opportunities. It's important to remember that Accounts have a 1:many relationship with Opportunities, so data that would be true universally (e.g., Industry, Website, Employee Range, Competitors) should be stored at the Account level. In contrast, data specific to a sales process (e.g., Products, ARR, Contract Start Date, etc.) should be stored at the Opportunity level.

The Wrap Up

We hope these explanations and definitions help you build out and effectively document your data model. We know it can feel daunting, but a clear data model and map of what lives in your Salesforce is crucial for scale. If you get stuck or need help, give us a ring! Our platform was built to configure and deploy Salesforce flows automatically, customer objects, reports, and dashboards into your Salesforce using engineering best practices and documenting every step of the way. 

If you want to learn a little more (or geek out about Salesforce with us), reach out to our team! We'd love to chat. 

Get Swantide updates, tips and insights delivered straight to your inbox

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.