15 min read
Best Practices for Implementing HubSpot Custom Lifecycle Stages
By: Allen Helms on 10/7/22 1:25 PM
For years, HubSpot Users have wanted full control over the default Lifecycle Stage picklist that drives so many of the reports and dashboards. Now that you have this power, make sure you understand how to use HubSpot Custom Lifecycle Stages properly and how it can impact your entire HubSpot data model.
Finally Custom Lifecycle Stages Are Here!
For some reason it wasn't mentioned with all of the other product announcements at Inbound 2022, but HubSpot has now officially revealed that you can finally fully customize your Lifecycle Stages! This is HUGE!
If you have been following along, HubSpot originally announced a beta for Custom Lifecycle Stages back in 2021 and were planning to roll this out to everyone in March of 2022, but it was apparently delayed a bit for technical reasons.
That there were some technical complications wasn't a big surprise because the Lifecycle Stage property has been embedded into the heart of the HubSpot data model since its inception. In fact, Lifecycle Stages are the very embodiment of the "Inbound Marketing" methodology. That's a pretty big deal at HubSpot.
Why are HubSpot Lifecycle Stages So Important?
In short, HubSpot Lifecycle Stages are designed for you to accurately measure the progression of every customer relationship you have by tracking each of the important milestones they reach at each step of their buyer's journey with your organization.
As such, the Lifecycle Stage property drives a lot of the reporting that comes along with HubSpot - specifically the conversion of a Contact record (and/or a Company record as you will see below) from one Lifecycle Stage to the next. For example, tracking when an "MQL" becomes a "SQL", or a "Lead" becomes a "Customer".
These Lifecycle Stages then form the foundation of your full sales revenue funnel analytics and reporting so that as you continue to grow and scale, you can query your entire database to see where every Contact (and/or Company - see below) is in their desire to do business with you.
Why Would You Want To Customize Lifecycle Stages?
For some HubSpot users, there was never really an issue with using the out-of-the-box, default Lifecycle Stages. This was especially true for heavy Inbound Marketing users that only used HubSpot and no other marketing, sales or CRM application.
However, for the rest of us, there were several reasons that a lot of us power HubSpot users wanted to be able to customize the Lifecycle Stages
For some, just the names of the stages caused quite a bit of angst. What should we put in the "Other" stage? Why is there a stage for "Opportunity" when the sales teams uses the "Deals" object? What exactly is a Marketing Qualified Lead? Now, you can simply rename any of the Lifecycle Stages to something that makes a little more sense for you and your business - and how your Marketing and Sales teams want to personally relate to their Contacts.
What if marketing pre-qualifies all of our leads and we don't really have "Sales Qualified Leads"? Or, we don't have an active blog so why would we keep track of "Subscribers"? What the heck is an Evangelist? Almost every HubSpot user had at least a couple Lifecycle Stages that they didn't use. Now, they can delete or rename stages so that the entire lifecycle fits them and their customers perfectly.
Confusion With Lead Status
Almost every new HubSpot user experienced confusion around when to use the Lifecycle Stage and when to use the Lead Status property. In fact, one of our most common client requests was to sync the Lead Status property with the Lifecycle Stage. Other clients question why you would need to have two properties that do very similar things. While this debate will probably not ever go away completely, you now have the option, in some cases, to no longer use the Lead Status property if it fits better with your business model.
More Complex Sales Processes
On the other hand, many clients have a more robust sales process that aren't as linear as just a simple Lead to Deal to Customer journey. They often need more Lifecycle Stage options to use for tracking things like renewals and cross sell opportunities with existing customers or perhaps tracking a partnership program. Now you can add new Lifecycle Stage options to better track the way you do business.
If you integrate HubSpot with another application platform or CRM, you will often need to sync the Contact data between the two platforms (and perhaps other object data as well) so that reporting will be accurate and everyone can act off the same view of the same customer data. As we mentioned above, this could be syncing the Lifecycle Stage from HubSpot with the Lead or Contact Status in Salesforce. This would always create challenges because up until now, you couldn't change HubSpot to match other systems. Now you can.
Our Recommendations for using custom lifecycle stages
So, what's the best way to take advantage of this powerful new feature in HubSpot? Well, like a lot of things, it depends on how your own business operates and exactly how you measure your customer journey. Because of the deep impact this will have on your reporting and data, we recommend that you be very careful about making big changes. Here are the most important issues to consider when implementing custom Lifecycle Stages in HubSpot:
Create a New Stage vs Renaming an existing Stage
Once you decide to customize your Lifecycle Stages, you will quickly be confronted with the question of: Should I rename the existing stages or just create new ones?
This will depend on a lot of the things we cover in more detail below, but generally speaking, we recommend that for important default stages (Lead, Opportunity, Customer) or stages you plan to use the exact same way as they are currently set up today, you should just re-label the existing stage.
For example, for our clients that don't use Salesforce and use HubSpot as their CRM, the stage name "Opportunity" really doesn't make much sense. But this stage is one of the settings you can use to help automatically update the Lifecycle Stage whenever they have been associated with a Deal. So, in this case, we simply want to rename this property from "Opportunity" to "Deal" but keep the internal value ID the same.
If it is an altogether new category then you will be better off creating a brand new stage from scratch.
For example, as we mention below, we highly recommend creating a "DQ-Delete/Dead" Lifecycle stage from scratch. So unless you were already using "Other" as your "Delete" category, you would be better off just creating this new Lifecycle stage from scratch.
Important Note: If you are, or plan to use, any Calculated Properties in HubSpot, they will not work with any completely new Custom Lifecycle Stages that you create. So, in this case, you would want to relabel existing stages instead of creating new ones.
Contact Creation Default Setting
Whenever a new Contact was created manually by a HubSpot user in the past, they would have automatically been set to a "Subscriber" Lifecycle Stage by default. Now you can change this.
Also by default, any Contact created via form submission is automatically labeled as a "Lead" so you will need to keep this in mind if you start changing your stages around.
Generally speaking, we find it best to use the new Custom Lifecycle Automation settings while keeping the default form submissions settings in place which clearly defines the "Lead" Lifecycle Stage as the stage used for all new Contacts created via a form submission AND by users.
Should you decide to change this for some reason, you'll be getting into managing a lot of workflows to override the Lifecycle Stages, and that's usually more trouble than it's worth.
However, you will still need to solve for situations where a Contact that is further along in the lifecycle (like say, a "customer") visits (or revisits) your website and submits a form (or submits another form). Because Lifecycle Stages still cannot go backwards, you'll need to manage this with workflows as well.
We also generally DO NOT sync Lifecycle Stages between the Company and their associated Contacts with the exception of using a workflow to update Contacts when a Company becomes a customer. More on this later.
Custom Lifecycle Stage vs Lead Status
For as long as long as there has been a HubSpot, there has been an ongoing debate on how to best use Lifecycle Stages vs. Lead Statuses. We have never tried to confirm this, but the Lead Status is almost certainly a field initially required for the Salesforce integration and it has been co-opted for use in HubSpot - particularly for Sales Development Reps (SDRs) and power HubSpot Sales Users.
Before you could customize Lifecycle Stages, we were solidly in the camp that recommended that you use the Lead Status as your universal Contact tracking property and then map it back to the Lifecycle Stage via a workflow for use as a parent or roll-up reporting mechanism.
But, now that you can customize the Lifecycle Stage, we recommend using the Lead Status only if you have an existing integration that still may use it (like some Salesforce lead management configurations) or you have an existing cracker-jack team of SDRs/BDRs using a very prescriptive and detailed outbound sales process where you want to track a large number of intricate sub-stages/statuses in their outbound efforts. For example, we sometimes see various Lead Statuses like:
- 1st Follow up Attempt
- 2nd Follow up Attempt
- Cold Call Attempt
- Left a Voicemail
- Sent an email
- Scheduled Meeting
- Rescheduled Meeting
These can sometimes become quite messy if you don't define them well and few users are going to take the time to update more than one stage/status property for a single record.
So, our recommendation for most of our clients is to just use the custom Lifecycle Stage for your "Lead Status" by renaming existing Lifecycle Stages and maybe adding 2-5 stages to essentially merge and consolidate the functions of the Lifecycle Stage together with the Lead Status.
For most of our small-to-medium sized clients (who are admittedly not large corporations with an army of SDRs) we do very well with a Custom Lifecycle Stage set up something like this:
- New Lead (we relabel the default Lifecycle Stage of "Lead" to "New Lead" since it is used natively for all HubSpot form submissions)
- Nurture (we relabel the default Lifecycle Stage of "Marketing Qualified Lead" to "Nurture")
- Attempted (we relabel the default Lifecycle Stage of "Sales Qualified Lead" to "Attempted")
- In Sequence (we create a new Lifecycle Stage here)
- Open Deal (we relabel the default Lifecycle Stage of "Opportunity" to "Open Deal" unless they are using the Salesforce Integration, in which case we keep the default of "Opportunity".)
- Customer (we keep default Lifecycle Stage of "Customer")
- Ex-Customer (we create a new Lifecycle Stage here)
- DQ-Delete (we create a new Lifecycle Stage here)
This is our basic template for most clients and it allows us to effectively segment our entire database of Contacts as to exactly where they are in our attempts towards creating a relationship with them.
For instance, we can now peer into their CRM with thousands of Contacts and see where every single one of them is in their Lifecycle journey AND provide a timeline for when they got there (remember the "Became a [Lifecycle Stage] Date" property?).
Another added benefit is that any changes in the Lifecycle Stage are available to display on your Contact's timeline whereas Lead Status changes are not. This is an added benefit for daily users of HubSpot to easily see and filter on important timeline events providing added context to the relationship.
Custom Lifecycle Stage vs Company (Account) Status
The Lifecycle Stage property is unique in that it is shared between BOTH the Contact and the Company object. In it's original form, this was intended as a way to help HubSpot users keep their data better aligned between both objects.
For instance, if you have the "Sync Lifecycle Stages" checkbox selected and a Company moves up from "Lead" to "Opportunity," any associated Contacts with that Company will progress up to "Opportunity" as well.
NOTE: If there are some Contacts with a Lifecycle Stage beyond "Opportunity" like "Customer", they will not be pulled backwards to the "Opportunity" stage. Also, this is not a bi-directional setting, meaning Contacts that advance to a Lifecycle Stage beyond what the associated Company has as a Lifecycle Stage will not update the Company Lifecycle Stage.
This sounds great, but in practice, we haven't seen this work very well for anything outside of becoming a "Customer." For one, the Lifecycle Stage for a Company is rarely categorized by a stage like "MQL" or "SQL" because those are usually terms for an individual Contact. Contacts and Companies are inherently two different animals, so trying to track them the same way usually doesn't work well.
Also, the Company object is, by definition, an aggregate or grouping of all the associated Contacts at that Company, and each Contact could actually be in a different Lifecycle Stage, so this can create confusion. What if one Contact really should remain "Subscriber" while another is an active "SQL?" Do you want to update the Subscriber to "SQL" too? We find that this default behavior can be a little too disruptive and confusing for managing a shared database of Contacts between Marketing and Sales.
For these reasons, with our clients, we find that not syncing or using the Lifecycle Stage at the Company level is usually the best way to go. This way you can use a separate value on the Company to track very high-level stage changes in the overall relationship and then relate those back to the associated Contacts only when necessary.
For example, we most often simply use the standard Company "Status" property to segment our Company records into just 3-4 high-level values like: Prospect, Target, Customer, Customer-Renewal, and Ex-Customer and then use a workflow to update the Contacts only when we want to make extra sure the Contacts are kept in sync.
Funnel Reporting/Ordering of Stages
The Lifecycle Stage is what drives the native funnel reports in HubSpot, so you should take extreme care here to understand the impacts of any customization you make. As a system field. the Lifecycle Stage captures important time stamps on when a Contact moves from one stage to the next, and HubSpot uses this information to calculate your funnel conversion rates. These are the "Became a [stage name]" properties you see when building your reports.
Even with the ability to customize Lifecycle Stages, the default in HubSpot continues to be that once they move to the next stage, they cannot be moved backwards (without using a workflow to override it). So, for example, if a "Customer" Contact submits a form, they will not revert back to a "Lead" Lifecycle Stage by default.
Because of this we recommend that you try to maintain a generally linear progression of any new Lifecycle Stages you decide to use because they will be represented in your funnel analytics reports.
The good news is that any custom Lifecycle stage you create will also collect the "Became a [stage name]" data for you so you can use these new values in your reports.
This is where, in some cases, a new Lifecycle Stage (or Lead Status value if you decide to use them) can come in handy to change the existing Stage/Status to something new and different like "New" or "Follow-up". This way, you can make sure important interactions will be tracked and noticed regardless of where they were in their relationship with you previously.
Add a "Delete" Stage
Regardless of what your sales process or customer journey looks like, every HubSpot portal is going to have a number of Contacts that are trash. Whether they are hard bounces, spam bots or left over from that screwy tradeshow import back in 2017 that no one followed up on, everyone has hundreds if not thousands of Contacts that they should just delete.
So that's why we recommend creating a Lifecycle Stage for "DQ-Delete" (which stands for Disqualified-Delete). This provides an easy, one -step process for any of your users to designate a Contact as no longer viable for your organization to waste time on (or have to pay for if they are designated as a Marketing Contact). Now, every six months or so, your HubSpot Admin will be able to go in and clean out all of your bad contact data to keep your CRM clean and efficient.
Converting Custom Properties Over to custom Lifecycle Stages
For existing HubSpot users that now want to use the new Custom Lifecycle Stages and have been using the Lead Status or another custom property to track their Contacts, they will need to map and convert their existing data over to the new Lifecycle Stage values.
This shouldn't be too difficult for most HubSpot users and should only take a couple hours. It involves the following steps:
- Decide on your final Lifecycle Stages you want to use to map your Customer's Journey
- Rename and create these new stage values in HubSpot (using any new custom stages as described above)
- Map whatever previous custom property values you were using (e.g. Lead Status) to your new custom Lifecycle Stage values.
- Do a full export of your impacted records (Contacts and/or Companies) with their record IDs just to be safe.
- Use the bulk edit feature or a workflow to update the new stages based on the mapping from your previous custom property.
- Check your work to verify the mapping was done correctly and confirm there are no workflows, integrations or anything else attached to your previous custom property
- Clear the values of the previous custom property from all the records in HubSpot.
- Delete the previous custom property from HubSpot.
If you are already integrating HubSpot with another system like Salesforce, it's very likely you are already syncing the Lifecycle Stage property in a least one object. So any change you make to your Lifecycle stages in HubSpot could seriously disrupt any integrated system that doesn't have those same values. So, be extra careful to understand all of the potential impacts and if unsure, always make your changes in a sandbox first and test them before deploying it to a live system environment. Also beware that the Lifecycle Stage exists as a standard property in both HubSpot Companies AND HubSpot Contacts.
As a reminder, any integration is going to use the API name/Internal Value, so if you have relabeled any of your Lifecycle Stages, be sure you reference the Internal ID Value for the integration (because they might be different than the name/label).
Also, keep in mind that any other integration you have that syncs with the Contacts object may have settings that update the Lifecycle Stage when they sync. This can create havoc if you don't stay on top of it.
We're also hearing that if you are using HubSpot in a language other than English, there may be some hiccups with regards to some of the naming and labeling of customized stages, so beware and test the impacts slowly in your non-English users before making any large changes to your Lifecycle Stages.
Find a KNOWLEDGEABLE CRM Consultant To Help
Hopefully this covers most of it for those of you who want to try and manage this important new system development all by yourself, but customizing your Lifecycle Stages can really create a mess if you don't know what you are doing - and that includes some Marketing Agencies who may focus on more of the creative content and less on how to actually data model set up in the CRM.
In many cases, it will be easier (and cheaper) to hire someone that has done this before and really knows what they are doing. If you would like to hear more about how we work with other agencies and have been using Custom Lifecycle Stages with our clients, please contact us directly. We'd love to hear how you are using them or want to use them for how your business operates.
Inbound for Beginners: Using HubSpot the First Time
This article details how to implement the Inbound techniques we learned about previously into your...
Complete Guide for the HubSpot to SalesForce Connector Update v3.0 8/6/2018
If you are currently taking advantage of the excellent HubSpot integration with Salesforce CRM,...
HubSpot And Salesforce renew ISV AppExchange Partnership
In a surprisingly quiet blog posting on May 13th 2020, HubSpot announced that they have renewed...