The previous post, covered the importance of looking beyond the implementation of meeting handoff to focus on alignment around qualification and accountability, as well as leaning on communication and automation to make the implementation successful, regardless of the approach.
Now, I’d like to focus on the details. As a quick refresher, this is the poll that prompted this writeup!
But first a word from our sponsors
Are your reps doing the right things? RevOps teams are using SetSail to keep sales on track with just-in-time insights that turn actions to wins. Check it out here.
How often do you evaluate sales capacity? Without identifying risk caused by ramp, attrition, street quota, and attainment you could be tracking to miss goals without realizing. Don’t find the culprit at the QBR. Revcast gives you real-time insights into your capacity to hit targets based on today’s reality – so you can adjust sooner to maximize revenue success. Learn more.
RevOps team of one? Think of Sweep as your new admin: it’s a visual workspace that gives you the power to build automations, streamline cross-team collaboration and solve your revenue team needs. Book a demo today.
And this is the rough part of the process that we’re focusing on:
How this gets operationalized and implemented in CRM has a huge impact on the day-to-day experience of the SDR/BDR and AE team, and the ability of managers/leaders to hold their teams accountable and learn from the data. A few words from a fellow RevOps operator to drive this point home:
“There’s a phrase at the ad firm Ogilvy, “dare to be trivial”, that keeps the firm focused on the smallest components which others completely overlook. Their assertion is that these tiny components, “trivial” seeming components, present the lowest cost and greatest impact available once refined.
The Stage0 question hits me as that “trivial” seeming landmine of value.”
Source: DM from Ryan Fiorenza
I’ll start with the approach that the majority of poll respondents chose: tracking pre-opportunities, AKA meetings booked in a separate stage in the Opportunity object. Note that this discussion will be 100% Salesforce-centric in an effort to be specific.
I’ll highlight:
What each approach entails
A non exhaustive list of benefits
A non exhaustive list of challenges/mitigations
My take on when each approach makes sense / doesn’t make sense
How other operators view the approach
How I’ve implemented it in the past.
Let’s get into it!
Tracking in Stage 0 “pre-opportunities”
What this is: Tracking a booked meeting in a separate Opportunity stage. Typically, the Opportunity is created by the BDR/SDR team if there is one. Many firms will choose to use a “0” prefix in the stage name. Example names:
“0 - Meeting Booked”
“0 - Qualification”
“SDR - Sourced”
I’ll refer to this approach as “Stage 0” or “Pre-Opportunity” throughout.
What this is not: Tracking each outbound effort as a new Opportunity, before any commitment to meet has been booked. In my opinion, that is a recipe for chaos, and better suited for the Lead/Contact objects!
Related from the vault
Benefits
The most obvious reason for this approach is reporting, which is made simplified by key activities occurring in the same object. Specifically:
Progression from pre-opportunities to qualified opportunities can be tracked the same way as other stage progressions, allowing for easy conversion analysis in Salesforce Reports/Dashboards. It’s technically possible to do this reporting with other objects, but is much clunkier and may require doing some visualization outside of Salesforce.
Taking advantage of the out of the box Opportunity functionality also enables Campaign Influence reporting at an earlier stage, which may provide valuable insight on marketing impact.
Some also argue that this is simpler for reps, by keeping AEs working mostly in a single object, and also centering SDR/BDR and marketing outcomes in that same object.
A major outcome of this data alignment, reporting capability, and having multiple teams in one object is increased organizational visibility, on both an individual record level and across all sales activity.
Challenges & Mitigations
One challenge that I’ve experienced is a mismatch between the definition of the object (Opportunity) and the language that is used to describe deals internally. Specifically, individuals who are not used to this approach may become frustrated that there are some records in Salesforce that are “not real opportunities”.
Mitigations: This requires consistent clarification, use of specific terminology (e.g. “Stage 0’s”, “pre-opportunities”), and buy-in for this approach from leadership. IMO, this is a reasonable change management responsibility to take on, but orgs that are both more resistant to change and have strong analytical capabilities might consider taking on the analytical burden of connecting the dots between multiple objects over using the Opportunity object for this process.
Depending on what your qualification flow looks like, this approach may result in more fields on the Opportunity object than the alternative.
Mitigations: If necessary, these fields can be moved to a separate object. But in many cases, these fields are relevant to the Opportunity lifecycle beyond this qualification step, and have value in their own right. Take care in thinking through which fields are absolutely needed for documenting qualification.
“Clutter” in the form of extra records
Mitigations: Create separate and filtered related lists so that this doesn’t impact visibility. Ensure users know how to filter out pre-opportunities from reports/lists/forecasting if needed. If the conversion rate between booked meetings and qualified opportunities is low, this will also be a symptom of that larger problem. And ensure that there are good practices for pipeline hygiene.
My Take
In my opinion, this approach is best if:
You expect the qualification rate to be >50%, or don’t have the ability to easily get to this insight yet.
You care about tying marketing activity to meetings booked, and are using Campaign Members.
You expect to have critical reports (e.g. conversion, sales cycle) primarily in Salesforce (versus a BI tool).
Visibility into initial meetings booked on both a person (Lead/Contact) and company (Account) level is important.
You anticipate multiple attempts to close opportunities with the same person/company over time.
I would reconsider this approach if:
You expect a very low qualification rate, either due to lack of clarity around targeting, or the way you want to execute/track your sales strategy. For example, pursuing lots of initial conversations that you’d like to track as Stage 0’s with stakeholders at a company, where only one of them will convert into an Opportunity. This approach will generate lots of pipeline “clutter” in this situation, which may or may not be manageable.
You don’t have a clear perspective on how to handle no-shows, or want separate records for No-Shows and re-booked meetings. This will likely create clutter or inconsistencies in opportunity counts.
You have qualification criteria that are difficult to evaluate or extremely strict: If an AE is unable to determine whether a meeting is qualified after the first call, I would say there are other considerations to work through before digging deep into Stage 0 yea/nay. With that said, this situation would exacerbate challenges with respect to pipeline clutter, though I would argue that the extra visibility only helps rather than hurts.
What others think
A few perspectives from the community:
Matt Bertuzzi strongly recommends this method in his book Lightning Sales Ops, and outlines a step-by-step guide for implementation. A few tactical suggestions he recommends:
Separate stage for pre-qualified opportunities (they call it “SDR Sourced”)
Separate stage for disqualified pre-opportunities (they call it “Closed No Oppty”)
Separate record type for pre-opportunities, use automation to switch it to the main sales process upon reaching the qualified stage. What this enables:
Different Sales Path visual
Different layout -- less critical now with Dynamic Forms in Salesforce Lightning, but the point still stands that a different look and feel helps.
While I think it’s worth adapting this guidance to your use-case and not implementing everything blindly, I appreciated seeing some real examples of how to implement pre-opportunities/Stage 0’s. The book is currently less than $4 for the Kindle version right now, not a bad deal for something you can access immediately and from anywhere (I have no affiliation with the author, just found it a helpful resource).
Gitlab’s publicly accessible handbook also features the Stage 0 approach (their stage is named “0 - Pending Acceptance”. I’ll let you take a look at their approach on your own time:
https://handbook.gitlab.com/handbook/sales/commercial/comm-sales-opp-stages/#0-pending-acceptance
From the initial poll, here’s one take from Aleeph, who has struggled with pipeline accuracy as a result of AEs being responsible for opening the opportunity and some misaligned incentives around pipeline accuracy.
Lastly, a note from my DMs, featuring Ryan Fiorenza again:
"The primary driver of the value waterfall is simply clear vision of the buyer's journey leading up to 🙋♂️ or clicking “speak to sales”. When mktg and demand teams nest prospect activity under a lead object not related to the account on sales cloud, there’s no shared visibility to all members of the org targeting the account. Removing those blinders allows the larger account team to more effectively deliver a consistent narrative from first impression through an entire customer lifecycle. Again, harder to quantify (beyond seeing an eventual bump in NRR) but something that unlocks yet another benefit cascade.”
My Approach
I won’t share every single detail about how this was implemented to spare you a novel, but here’s how I approached the administration, and some lessons learned:
Clear Ownership - SDRs/BDRs own the Opportunity in Stage 0, AEs own the Opportunity after it’s qualified. I feel strongly that this helps clarify ownership of next steps, while also reducing clutter in list views/reports. The AE can be indicated on the Opportunity with Opportunity Teams or a separate user lookup field.
Simplified user entry (Screen Flow button from Contact record) for SDRs/BDRs to create pre-opportunities under their names. I wouldn’t do this in all situations - some orgs choose to automate Opportunity creation - but we wanted to capture some judgment so it seemed like the right move. This was a simpler interface than the standard Opportunity Create and pulled in some extra data from the Contact.
Later on, when we added more rigorous qualification criteria, we had this interface also create a Qualification Assessment (Custom Object) record which captured the SDR’s/BDR’s assessment of the qualification criteria. Screen Flows are super powerful, and can help simplify user entry when it’s necessary to capture some judgment!Notification - posted to Slack upon using the form above, and upon advancing to the qualified Opportunity stage.
Basic UI changes: used Lightning Dynamic Forms to make the pre-opportunity stage show a very simple page.
Reporting for auditing dispositions: Dashboard chart + report focusing on records that were qualified, disqualified, and required action. This was used by leaders/managers to surface issues.
This implementation simplified reporting, making it easy for a wide range of users to get the information they needed, and was a low operational lift.
What I’d do differently:
Better awareness around challenges: When I was using this approach, I was fairly gung-ho about the advantages, but not particularly mindful that this was different from what much of the team was used to. I focused on this being common across sales orgs, its inherent simplicity, and unlocking reporting capabilities when educating team members on why we set it up this way. Had I acknowledged the challenges (specifically clutter and mental definition mismatch) and how we were solving them a bit more directly, I think we could’ve gotten past some of the resistance more effectively.
Better stages: The implementation I Inherited started at stage “1 - Open”. I decided to use that stage as our pre-opportunity “Stage 0” rather than changing all of the names. This is a small detail but I honestly think having the numbering start at zero and having a more specific name to indicate that it wasn’t qualified yet would’ve helped streamline conversations around what was real pipeline or not. Furthermore, having specific stages for outcomes, rather than a separate picklist field would have been a better user experience IMO. See below for the stages I would use if I were to do this again, featuring my excellent handwriting again:
More comprehensive rollout: I regret not prioritizing rolling this out with more “quality of life” mitigations to more aggressively separate pre-opportunities from qualified pipeline.
One big “duh” looking back is filtered related lists - this is an easy way to highlight the qualified pipeline versus pre-opportunities visually on the Account or Contact page layout.
Additionally, implementing a separate record type to enable a qualification-focused Sales Process / Sales Path would have been a helpful visual reminder that these records were not yet qualified. We were not yet using multiple record types at the time, so my concern was around the operational debt we might incur by starting to use record types purely for this purpose, but I think the benefits would have outweighed the downsides.
Using a non-Opportunity Object
What this is: Using a different object to track the booked meeting, then opening an Opportunity once the meeting is qualified. Examples I’ve heard include: Lead, Contact, Event, Task, Custom object. Since each object has its own nuances, I’ll highlight benefits/challenges by object.
Benefits
Lead/Contact
This object seems like a good fit, because on the surface, this seems like a natural progression to track earlier stages of the customer journey (e.g. MQL/SAL if your org uses these definitions) to a qualified Opportunity.
Event
This seems like an obvious place to track meeting details, which is its main advantage. Many of the details that you would need for a meeting are already there (date / time/ type), and sales engagement/scheduling tools may be creating these records in CRM already. This will also show up on the Activity timeline, which helps put the conversation in the context of other communications.
Custom Object
A Custom Object offers a lot more flexibility, though it requires more configuration. This approach is useful if you want to capture extra fields like qualification information in a separate object than the Opportunity, or set up more Custom Object relationships between the meeting record and other objects like Opportunities, Contacts, or Accounts. This can help you avoid adding a lot of fields to the Opportunity object, or enable capturing qualification information at multiple points in time if that’s relevant for your org.
All of the above
Reserving the Opportunity object for qualified pipeline (assuming this is enforced) can simplify discussions about pipeline, forecasting, etc - this means no-show meetings, or disqualified pre-opportunities would not be included as Opportunity object records. While report filters and filtered related lists can mitigate clutter, some team members may be more comfortable with only having qualified pipeline on the Opportunity object to begin with.
Challenges and Mitigations
Lead/Contact
If your buying cycle might involve multiple first meetings with the same person at the same company, it’s difficult to track this on the object without losing some data.
Mitigations: Leverage Lead History reporting, snapshot the data into an external database, create related records (e.g. a Custom Object) that capture historical information, do reporting outside of Salesforce. Or live without the data. I don’t love any of these.
Event/Custom Object
Neither the Event nor Custom Objects play particularly well with Campaign Members and Campaign Influence as far as I am aware, so this makes it difficult to report on marketing contributions to booked meetings.
Mitigations: No mitigations that I am aware of for Campaign Influence. Possible workarounds to understand campaign attribution could be 1) creating a campaign lookup field to capture the last touch campaign, or 2) basically creating a custom campaign junction on the Event or Custom Object, which seems a bit excessive and hard to maintain.
Event
For the Event object -- because of the object data model, it can be difficult to add lookup fields from the Opportunity if you want to connect the data in a particular way.
Mitigations: None. Use a Custom Object or other object if this is critical.
All non-Opportunity Objects
By default, without leveraging automation, it can be more cumbersome for reps to qualify in one record, and then work the Opportunity sales process in another (though some might prefer the separation). There’s the out of the box Lead conversion workflow, but it’s difficult to customize further.
Mitigations: Require reps to qualify meetings & create Opportunities with an automated process on the Contact/Event/Custom Object record (e.g. via field update or button). This can pull relevant data into the Opportunity record, unlike the default “Create Opportunity” workflow. If using the Lead object, configure the Lead convert settings to meet your requirements.
Lastly, reporting on conversions from meetings booked to qualified pipeline can be complicated. If this is implemented correctly, reporting on the percent of qualified meetings should be simple enough. The challenge would be if you want to dig any further (e.g. meetings booked to closed won, or any intermediate stage), or report on sales cycle length starting at the first meeting.
Mitigations: Do this reporting outside of Salesforce (gasp) or build more complex reporting (either for the report viewer or admin) within Salesforce. Unfortunately, this does make it less accessible
My Take
Unlike the Stage 0 approach, it’s been tough to find published information that recommends a consistent/standard approach. I think this is because these objects (especially Lead/Contact) are implemented in dramatically different ways across organizations, so there are a lot of considerations to manage.
Some questions to consider:
How are Leads/Contacts/Accounts used and differentiated? This may depend on how well defined your target market accounts are (versus if you’re selling to individuals or unclear company affiliations) and how much inbound/outbound traffic you see.
How reliably are Activity records created in the system? This is especially important if you use the Event record as your source of truth here, but is useful for other approaches too.
In my opinion, this approach is best if:
On the Lead Object
You run inbound and outbound prospecting entirely out of the Lead object, and have well defined stages (e.g. MQL, SAL, SQL, SQO). This allows for easy reporting from early marketing lead stages, and reduces (but doesn’t eliminate) the need to report across multiple objects (e.g. Leads AND Contacts AND Opportunities).
On any non-Opportunity Object
You anticipate having multiple first meetings (each of which might be qualified) within a prospect account, from which you might create one Opportunity.
There is a strong perspective that only qualified pipeline should be an Opportunity, AND you are able to report on everything you need to with a reasonable turnaround, AND data visibility/hygiene is solid. I hate to highlight this status quo option, but in some cases, it might be worth picking your battles and focusing your limited time on work that delivers more impact.
I would reconsider this approach if:
On the Lead/Contact Object
You use both Leads/Contacts for prospecting. This increases complexity and there is lots of value to be gained from the Stage 0 approach. This is especially true if selling is account-based and there isn’t a strong system of tying Leads to Accounts
You anticipate multiple meetings / opportunities with a single Lead/Contact over time. While there are workarounds to capture some of this data, in practice, a lot of the history (e.g. who the owner was, key dates) will get lost or stuck in Lead History (which is very fun to report on) if the Lead/Contact goes through the process again.
On the Event Object
You aren’t able to set up analytics to report on key metrics in a timely fashion (e.g. qualification rate, time between touchpoints). In my experience, this is doable but more time intensive than the Stage 0 approach.
On the Task Object
I would not use this object - this will likely get lost in a sea of records.
On any non-Opportunity Object
Team members are disincentivized to open opportunities accurately in accordance with your sales process. For example, AE sandbagging to create records in the second or third stage when there’s more confidence in the prospect’s interest versus right after a qualifying meeting has occurred
What others think
I’ve seen fewer published guides on how to implement this without using the Opportunity object, and less alignment around one specific approach (e.g. Lead, Event, Contact, Custom Object).
However, a number of people voted for this option in Jeff’s poll (and other polls), and chimed in with opinions in the comments.
The main arguments for this approach are simplicity, more obvious alignment with sales cycle definitions, and fewer records to manage in the Opportunity object. Challenges with the Stage 0 approach that others have cited (and that I’ve experienced) include having to close out an Opportunity record when there is disagreement about whether there was a sales opportunity to begin with, or having Opportunity records that simply capture meeting no-shows.
Here’s one take from the comments section of Jeff’s poll:
I followed up with Mahesh to get more context, and here’s what he shared:
“We had lots of reps creating opportunities for their initial conversations and we ended up with thousands of opportunities created in our CRM and there weren't actually real opportunities for us - as some of them actually never needed our solutions. At the end we had to archive these, as you can't close them, i.e. not lost, not in no decision. The fact was they never needed us!
My point is only if there is proper discovery has happened and you know they are or should be your prospects, then you create an opportunity - so you know:
- what is their problem / pain point
- which product / service of yours are in position to solve that problem
- You can actually put price on opportunity”
In short, a matter of perspective on what should constitute an Opportunity record drove the decision to use Activities (Tasks/Events).
Aleeph, who shared why he was switching to a Stage 0 approach in one org, also highlighted the ease of working out of Contacts/Accounts, his preferred approach if there is a well defined prospect lifecycle (e.g. MQL/SAL/SQL) on the object.
My Approach
Many of the same considerations that were important for when I implemented the pre-opportunity approach apply here.
What I’ve done:
Discovery Meetings: Used Event records (created manually or with a Chrome extension) to capture first meetings. These were identified via a “Meeting Type” picklist field with “Discovery” to distinguish it from other meetings later in the process (e.g. business case, proposal).
Notes: SDRs would put notes in the Event description. One of my teammates came up with WHAT as an acronym to quickly cover the main points to hit in these notes:
Who: quick take on the contact
How: how the meeting was booked
Account details: relevant initiatives, thoughts on how well our offering aligned with their products/departments and where we thought we would be most useful.
Tips: questions that the prospect wanted answered, notes on their personality if helpful.
Determining Qualification: AEs would review and update a “Qualified Meeting?” picklist with a yes / no for whether the meeting was qualified. This would automatically create an Opportunity, fill in relevant fields, and move the Event record under the Opportunity. There was a separate field to track No-Shows.
Notifications: I set up automated emails to relevant individuals or groups upon meetings being booked and qualified.
Conversion reporting: This was rough.
In Salesforce: we had a dashboard with two charts (with the big numbers) next to each other. You could divide the numbers to get the conversion rate.
Outside of Salesforce: I built a spreadsheet and workflow involving report data from Events and Opportunities to create consistent conversion charts.
Campaign Influence reporting: Didn’t really exist. One workaround I explored was tagging a primary campaign to the Event. Reporting on this was fairly limited.
Reporting for auditing dispositions: I maintained reporting/dashboards focusing on records that were qualified, disqualified, and required action. This was highlighted in a team-wide meeting to surface progress towards goals, and reviewed by managers to address any issues.
What I would do differently:
Reporting in Salesforce: For reporting, I would more aggressively pursue workarounds to make this easy to report on in Salesforce to reduce bottlenecks, and connect the data in a way such that it was less siloed. This might mean using a Custom Object instead of an Event.
Analytics outside of Salesforce: Depending on the data / analytical maturity of my org, I would also lean on setting up external tooling to report on this data in a more automated fashion, such as Google Sheets linked to Salesforce for an earlier stage team or Tableau/Looker/other BI tool for teams that have invested in BI already. This is useful if more rigorous analysis needs to happen outside of Salesforce anyways -- this can simply be a part of that workflow.
Automation: Tooling that reliably automatically captured calendar events and no-shows would’ve been helpful in reducing the amount of user entry. I’ve had trouble with this from vendors that claim full activity capture, so this is nontrivial!
Wrap up and Resources
I hope this helped you think through how to approach this question for your org. Spoiler alert - I voted for Stage 0, and would probably advocate for that approach given the increased visibility it offers, but each org’s priorities and resources differ and I want to acknowledge some of the nuances that might factor into a decision.
If you have thoughts on this please don’t hesitate to share!
BEFORE YOU GO
RevOp Impact Offerings
There are 4 ways I can help you:
1/ RevOps Course: Unleashing ROI (RevOps Impact). A ten-week RevOps course. Lessons from my career scaling from $10M to $100M+. Join 100+ alumni.
2/ Sales Ops Masterclass. A six-week virtual, live instruction SalesOps course designed to take your sales operations skills to the next level.
3/ You’re a GTM Startup. Sponsor this newsletter and reach 2,500+ tenacious revenue leaders. Reply to this email if you’re interested in receiving a media kit.
4/ 1-on-1 RevOps Coaching with me. Let me help you push through the ceiling