Many companies invest in the XDR as a way to help drive new meetings and customers. But how can you tell if they’re doing a good job? In evaluating the performance of these teams, it’s imperative to track the volume of meetings these teams book, and how those booked meetings convert over time into qualified pipeline and customers. So what's the best way to track meetings, meeting held rates, and conversion to pipeline in Salesforce?

As someone who has built three Salesforce orgs from scratch, scaled an org from 0-350+ users, and consulted nearly 100 other companies in building and scaling their orgs with best practices, I’ve seen people try to build this out in many different ways. There are a few common approaches, all with their own advantages and shortcomings. The way we approach this internally at Sweep, and advocate for the same with many of our customers, is to use a separate opportunity record type to track meeting-setting and conversion. Before explaining that approach, let’s cover some of the other (and honestly, more intuitive!) ways which we see Salesforce teams trying to tackle this:

1. Using activities (events and/or tasks):

The good: This is the most intuitive approach to tracking meetings, as the wording “events” and “meetings” are practically interchangeable, and this was likely the intended use when Salesforce created this object.

The bad: Where I see people struggle the most with this approach is in reporting. In general, the activity/tasks/event object reportability is extremely difficult to use, with a lot of head scratching limitations (this is a separate blog post in-and-of-itself). This approach also creates friction when measuring conversion from meetings to qualified pipeline - it’s almost too granular (if you have seven meetings prior to conversion to pipeline, is that seven conversions or one?), creating the need to dig deeper each time you run a report. Lastly, I find that for whatever reason end-users don’t like to manually update the task object once it’s been created, and so data reliability on this object can be suspect.

2. Using Leads or Contacts (or both!): This approach involves setting up lead/contact statuses and timestamping on one of (or both) of the listed objects to track when the meeting was booked and completed (many people layer this on top of use of activities as well).

The good: When using a lead, conversion usually (but not always) leads to opportunity creation to round out this process. You have an out of the box way to report on conversions and calculating your meeting held rates and pipeline conversion seems simple and intuitive, leveraging reports that can check whether a record achieved a specific stage.

The bad: Where complexity begins to creep in is in both enterprise (read as: long sales cycles) and ABM selling. By relegating your tracking to timestamping fields on a singular record (the lead or contact), you run into several issues.

  • While we like to pretend that sales cycles are linear, they are most certainly not. If you have people who “move backwards” in the sales cycle - even when leveraging two timestamps (first time and most recent time), you may have to overwrite timestamps as a record makes it third approach through the sales cycle which results in not seeing the full history of what occurred, as well as having your historical data/reporting change over time (big no-no!)
  • Meetings with multiple attendees: if you mark seven attendees as having a “meeting completed” status all from one meeting, is that seven conversions or one? (Not to mention, you may need to spend time marking seven records as “meeting completed”). Reminiscent of what we said about tracking using the tasks or events object, tracking this at a unique person level creates complexity for measuring that makes it extremely difficult to be consistent, leaving your reporting riddled with holes and too much space for interpretation.

3. Using the Account object:

The good: Tracking at the account level is a clever way to steer clear of the multiple attendees issue, and enables you to create a one-to-one relationship between the outreach and a closed won opportunity.

The bad: This still leaves you susceptible to non-linear sales cycles - and frankly I have not found a growing company that uses and sticks to this approach as it grows.

This leaves us with opportunities. At Sweep (and in my experience at past companies), we create an opportunity when a meeting is booked, and we set a record type of “Pre-Pipeline.” This enables me to control for a lot of the above issues, while also protecting yourself against some of the common objections to using this approach:

  • Since opportunities, by default, have many-to-one relationship with the account, and many-to-many relationships with contacts, it enables you to track multiple approaches to the same account/contacts over time. If your sales cycle moves backwards, you can easily mark one opportunity closed lost, and create a new one, without sacrificing any data integrity.
  • By using opportunities, if a meeting has seven attendees, you can create one opportunity and track the progress of conversion that way. If, for example, you have a second meeting with a different department that should be considered a different effort, you can create a new opportunity. In short, you can create rules around when to create opportunities that accurately reflect how you want to report on conversion. This makes for much cleaner reporting down the line.
  • By leveraging a unique record type, you are able to keep all of your Pipeline reporting (i.e. win rate reporting, AE performance etc.) separate by simply using a filter on record type. From a purely reporting perspective, this essentially is no different than having a separate object (as long as your users are aware of how to use multiple record types in reporting).
    • Using a record type also makes the user experience much better than simply adding these stages to the beginning of your Pipeline record type - your pre-pipeline record type can enable you to have unique picklist values and page layouts for this record type, making it feel no different than using another object.
  • Opportunities have robust and easy to use reporting that most users are familiar with.
  • Opportunities are usually the most used object in Salesforce, and users typically have no problem/objections to updating opportunity records.

The biggest downside I have experienced with using opportunities for meeting setting is during on-boarding and training. It often takes time to explain to the team why this is the ideal approach, and some more time for them to wrap their heads around using opportunities in a way they have typically used leads, contacts or tasks… but trust me you save that time for yourself x1,000,000 in simplifying reporting and user experience for your users.

If you want to see what this architecture looks like in Sweep, or discuss other best practices that we can help you implement in your salesforce org, book a demo today.

RevOps 4 min read Best Practices for Salesforce Data Hygiene
Aviv Bergman
Aviv Bergman Head of Partnerships
Sales 3 min read 5 Ways to Use Slack to Streamline Your Sales Pipeline
Tess Geri
Tess Geri Business Development Lead
Sales 2 min read Best Practices for Successful Salesforce Implementation
Aviv Bergman
Aviv Bergman Head of Partnerships
RevOps 3 min read 7 Salesforce Best Practices to Keep in Mind
Alyssa Wolff
Alyssa Wolff Head of Brand and Content Marketing
Sales 4 min read Optimizing Sales with Round Robin Lead Routing
Danny Hodge
Danny Hodge Head of Sales
RevOps 3 min read How to Take Control of Salesforce as an “Accidental Admin”
Aviv Bergman
Aviv Bergman Head of Partnerships
RevOps 3 min read Q4 Checklist for CIOs + Salesforce Platform Owners
Tess Geri
Tess Geri Business Development Lead
RevOps 1 min read Rebels of RevOps: Jordan Shaheen
Alyssa Wolff
Alyssa Wolff Head of Brand and Content Marketing