Mar 28, 2018 5:04 PM
A lot of our reporting is made very difficult by the fact that when someone is revrted to a previous lifecycle stage, HubSpot automatically deletes the value for the property "Became x Lifecycle Stage Date" for the further along the funnel stage.
An MQL becomes an SQL, then is reverted back to MQL by the sales team --> this deletes the property for the date on which the Became an SQL.
This deletion seems illogical to me, and makes it difficult to do any historical reporting, for example: how many contacts in total became an SQL in month x, or month y? Querying by Became an SQL Date is not accurate due to that data being deleted for contacts who were reverted back to MQL (instead of moving to Opportunity).
Has anyone else had this issue? How do you go about accurately querying for number of SQLs in a month? Thanks!
Apr 5, 2018 1:03 PM
This is a known functionality of the tool that is designed to work that way. This is in an effort to keep your data up to date and reflect the accurate stats for your contacts in a certain life cycle.
If you are seeing that it is inteferring with your data, I would recommend setting this information in a custom contact property to ensure that it is available for reporting purposes.
Jun 17, 2018 2:54 PM - edited Sep 22, 2019 3:11 PM
PROBLEM: Difficulty reporting due to violation of HubSpot Lifecycle Stage Best Practice.
Clearing or otherwise forcing HubSpot Lifecycle Stage backwards will lead to significant gaps in reporting. One way to prevent resetting the HubSpot Lifecycle Stage involves using a combination of Lifecycle Stage AND Lead Status to 'status' or 're-status' leads without destroying data.
Managing Lead Status separately allows much greater flexibility if/when leads need to be re-nurtured while still in 'Opportunity' Lifecycle Stage (due to deal creation).
If we agree that the goal of any CRM is to help manage the customer relationship by increasing alignment between marketing and sales, then we can have a dialog around that overarching goal. If not, then we've already relegated our CRM to nothing more than an expensive digital rolodex.
[- stop reading now -]
As you know, the built-in HubSpot Marketing Lifecycle Stages are setup as a ratchet system which means HubSpot contacts are intended to move forward in Lifecycle Stage and NEVER backwards. Ever.
In fact, when even attempting to perform a Lifecycle Stage violation in HubSpot we are presented with a warning. And, workflows won't perform such violations without both a warning AND an explicit command to explicitly clear the Lifecycle Stage Contact Property before setting it 'back in time' -- aka: destroying the existing data.
Matching an organization's sales pipeline workflow process with HubSpot's forward-moving Lifecycle Stage behavior guarantees continuity in the CRM (to the extent possible). This 'never move backwards' Lifecycle Stage behavior also allows for some interesting advanced automation using Predictive Lead Scoring and Workflows as more and more lead intelligence is gathered over time.
- see Predictive Lead Scoring criteria
So, how do we deal with the 'so-called SQLs that aren't really SQLs' problem?
We fix the misalignment between marketing and sales instead of breaking the CRM to match thereby creating a 2nd un-fixable problem (data destruction).
-1- Align Marketing and Sales goals and KPI's so that Prospects, Subscribers or Leads only become MQLs after meeting agreed-upon criteria.
-2- Align Marketing and Sales goals and KPI's so that MQLs only become SQLs after meeting agreed-upon criteria.
-3- Employ the use of exclusive SQL Lead Statuses (used only by the Sales Team).
- SQL - Bad SQL (i.e., should've never even been an SQL)
- SQL - Bad MQL (i.e., should've never even been an MQL)
Notice, even the names of these examples reek of misalignment between marketing and sales and are prime examples of why agreed-upon criteria must be defined when promoting MQLs to SQLs.
Contact records in these lead statuses are excellent candidates for discussion during the regular alignment meetings (aka: scrub meetings) between the Marketing and Sales Managers. Similar systems put in place allow both managers to easily track volume and accountability on their teams . That is, 'how many are occuring' and 'who is triggering these statuses' which can yield valuable feedback used to further align marketing and sales.
- Feedback -
Use of 'SQL - Bad SQL' is a potential indication of weak SQL criteria.
Use of 'SQL - Bad MQL' is a potential indication of weak MQL criteria.
Excessive use of either is a potential indication of a personnel issue.
-4- Agree that an SQL remains an SQL until they either become an Opportunity (i.e., a Deal), a Customer, or they die in the CRM (i.e., become unqualified, or become a candidate for opt-out or deletion).
Once we setup automation rules to manage Lifecycle Stage and began statusing leads using Lead Status, complaints about the one-way Lifecycle Stage ratchet system vanished. Even for 'reverted' leads.
Jul 26, 2018 10:49 AM
Thanks for your thorough response - it is much appreciated! Everything you've said definitely makes sense in terms of ensuring sales/marketing alignment in lead graduation criteria. I still just have one question...
Under this methodology, how would we deal with a contact who moved through the funnel, became an SQL, for example (rightfully, with proper criteria being met), but is eventually determined to not be a potential sale, at least at this time. The sales team says they dont have an immediate need right now, but let's put them into a marketing nurture campaign and see if they bite again somewhere down the road when a need has arisen in their business. At that point I wouldn't (personally) consider them to be an SQL - I would consider them to be a reverted lead and wouldn't want them cluttering up the SQL stage of our funnel - how would you deal with lifecycle stage in this scenario?
Thanks again for taking the time to discuss this!
Aug 13, 2018 10:16 PM - edited Sep 23, 2019 4:44 AM
>>"... a reverted lead ... cluttering up the SQL stage of our funnel ..."
Wow. Interesting perspective.
Certainly a valid concern if one defines SQLs as only those who are 'ready to buy'. (as mentioned above, "not our model")
Much of the difficulty we encounter with Lifecycle Stage as an indicator of sales readiness is that many clients mistakenly view this property in isolation. We don't view it that way.
Lifecycle Stage alone mearly indicates WHERE a contact or company is in our marketing/sales funnel. Not their STATUS as a lead.
We always consider the Lead Status (with customizations) when viewing a contact in ANY stage.
- see What is the difference between Lifecycle Stage and Lead Status?
When combined with Lifecycle Stage, Lead Status can be used to trigger very specific behavior. One example customization might include custom Lead Statuses like 'Future Outreach' and 'Re-Engage NOW', and custom Deal and Contact properties -- e.g., Closed Lost Reason, Re-engage, and Re-Engage Date.
We often use the Closed Lost Deal stage to trigger auto-creation of follow-up tasks when a Deal is closed lost with a Reason of 'Re-Engage Later'.
Finally, while there are many scenarios the HubSpot CRM simply wasn't built to accomodate out the box, HubSpot best practices combined with one of over 200 non-native integrations &/or cloud-based integration tools like Zapier and Automate.io can push HubSpot further than its default capabilities.
Oct 17, 2018 6:23 AM
Yes, but what when the salespeople actually don't work with contacts? We sell B2B - to companies, not individuals. So whereas marketing hands over MQLs for sales to follow up with, sales only makes changes to the associated COMPANY - they either reject the lead with a lead rejection reason and a lifecycle downgrade to Lead or accept it by changing the lifecycle stage to SQL. So, no "Lead status" available.
Oct 17, 2018 8:05 AM - edited Sep 21, 2019 12:00 AM
@Charlott >>"Yes, but what when the salespeople actually don't work with contacts? We sell B2B - to companies, not individuals. So whereas marketing hands over MQLs for sales to follow up with, sales only makes changes to the associated COMPANY - they either reject the lead with a lead rejection reason and a lifecycle downgrade to Lead or accept it by changing the lifecycle stage to SQL. So, no "Lead status" available."
Managing your sales as company-centric (aka: account-based) us excellent. However, because HubSpot is a CONTACT-centric platform (by design) some inherent best practices may not align for you. Recommendations we make in support of the HubSpot platform are typically contact-centric unless we're specifically designing for ABM (account based marketing).
Even when we initially evaluate leads based on company-related ABM criteria we must ultimately allow for engagement of people (contacts) at that company. A 'company' is but a set of people (contacts) operating under an umbrella of collective criteria ...
Jul 24, 2019 1:31 PM
We had this same problem. We worked for almost a year with HubSpot's technical team and finally found a solution that works for us. Hopefully this helps someone else, too!
Situation: Wellsource is a B2B software company that often has very long sales cycles. It is not uncommon for a prospect to become an MQL, then revert back in the buying journey and re-convert as an MQL months (or even years) later. The company’s process was if a MQL did not move into a deal stage, its lifecycle stage was set back to Subscriber so that contacts would automatically receive our monthly blog updates to keep them engaged. The marketing team is measured on the total number of MQLs delivered to sales per month.
Problem: Every time an MQL was reset back to subscriber, the ‘Became a marketing qualified lead date’ would get stripped from the contact. This meant that if marketing brought 20 MQLs to sales in the month of January, and 10 of those didn’t move to a deal stage and were set back to subscriber, historical reporting would only show that marketing brought 10 MQLs in that month. This meant that marketing was not providing accurate reporting of total MQLs delivered, but only those MLQs that moved forward into a deal stage. I posted this issue on the community forum in 2018. Many B2B companies seem to have a similar problem as seen with similar ideas posted here and here.
Solutions Explored and Failed:
First we attempted to simply copy the ‘Became a marketing qualified lead date’ value into a custom property so that it wouldn’t get stripped if the contact was moved back in lifecycle stage. However, because the ‘Became a marketing qualified lead date’ property was a date:time default, it could not be moved into a standard date stamp property.
Next, we tried exporting the entire history of the ‘Became a marketing qualified lead date’ property, reformatting the spreadsheet to make the date:time default compatible with the standard date property in Hubspot. This, while a tedious and manual process, did work. However, we then struggled with how to show how many TIMES a contact became an MQL. There were some situations were a contact had become an MQL 3 times in the course of a year. Marketing needed a way to show how it was reconverting prospects to MQLs through ongoing nurturing campaigns.
To try to solve for this problem, marketing created multiple custom fields. ‘First date became an MQL’, ‘Second date became an MQL’, etc. Each month, marketing would do a full property export of the ‘Became a marketing qualified lead date’ property, reformat, and import each date into the appropriate field. This was a time consuming process and was not a scalable solution.
Solution: Once a contact becomes a MQL, instead of being passed to sales via lifecycle stage, it now gets passed to sales as a new deal on a pipeline called MQL Pipeline.
The sales rep will then reach out to the contact and mark the lead status appropriately (reached out, connected, etc.) All MQL Pipeline deals will either get marked as Closed Lost or will be moved into the stage ‘Qualified Right Fit’ on the MQL Pipeline. This will trigger a workflow, which will move the deal into the Sales Pipeline under the ‘Qualified Right Fit’ deal stage. From here, sales should move the deal through either to a Closed Won or Closed Lost status as per the HubSpot Sales Process documents.
We are now able to report on how many deals move into Qualified Right Fit stage, and how many are marked as closed lost, and can even track re-converted contacts who have hit the MQL Pipeline more than once.
Marketing needed a way to report on both unique and total MQLs delivered to sales. Without fundamentally changing its process, there was no way to effectively report on its attribution efforts. By fundamentally changing the structure of how MQLs were delivered to sales using the Deals tool, marketing was able to effectively gather the reporting it needed to show its attribution efforts.
Jul 25, 2019 9:49 AM - edited Jul 25, 2019 9:50 AM
Thanks for your response Alyssa - this is so interesting! You described my issue at Plum to a t.
What we ended up doing after this post was creating a custom property to store the date, like you mentioned, but instead of just copying over the HubSpot internal became a MQL date we used a workflow to date stamp the property with the enrollment trigger being "contact became MQL".
This has been working so far for us, with the caveat that then of course this property is written over whenever a contact reverts, and re-converts later (this is a fairly common scenario for us, as well).
Your solution is super interesting - if you don't mind, I do have one followup question. How do you handle multiple contacts from the same company being moved into MQL? E.g. you get an initial MQL from a demo request, another individual from that company also comes through and converts to MQL - is a separate deal object created for this contact, or do you somehow associate them to the original "deal" and report on numbers at an account level? I suppose this question really goes back to how you fundamentally structure MQL reporting, but I'd be curious to get your take.
Thanks again for your response!
Jul 16, 2020 6:29 PM
Hey Andrea! Sorry I realized I never responded to this!
So the way we handle that is that every MQL = a new deal created in HubSpot. We created two pipelines - a marketing pipeline and a sales pipeline. So we track all new deals created on the marketing pipeline as MQLs, and then those that convert to the sales pipeline are essentially SQLs. If there are two contacts who BOTH become MQLs on the same account, it would just depend on timing. If the timing was the same, we'd just work to make sure both parties knew the other was requesting a demo (this often happens with big companies where the right hand isn't talking to the left). But sometimes you'll get one contact at a company looking at a product and the other contact looking at something else. Since HubSpot primarily works on the contact record vs. the account record, it works for us. Does that make sense? Happy to have a follow up convo if you want to talk through more!
Jun 26, 2020 7:29 PM - edited Jun 26, 2020 7:31 PM
This issue could easily be resolved if HubSpot leveraged its own lifecycle stage property history in reporting. Resetting the lifecycle stage does not actually delete historic data, it simply overwrites it with new info.
We solve this by exporting lifecycle stage property history and build lead reports out of a database. That allows us to report on the complete transactional history of a contact's lifecycle stage over time. Which means we can reset lifecycle stage without fear of losing data.
The only problem is, HubSpot only uses a contact's current values in its reports. You can only report on the current "became a lead/sql/mql date" value. The contact's history is not reportable natively inside of the HubSpot application as far as I can tell. So in our implementation, HubSpot reports will always be inaccurate.
If HubSpot were to enhance its native report behavior to use the lifecycle stage date property history, then multiple "became a lead" events for a single contact be reported and this would not be an issue, regardless of how HubSpot intends for the lifecycle stage to flow.
I'm interested to hear MFrankJohnson's take on what HubSpot's philosophy is on returning customers. Imagine a scenario where an existing Customer churns. One year later, they return as a lead and re-enter the funnel. I don't think that's something that HubSpot can natively handle with single-direction lifecycle stage.
Jul 16, 2020 6:30 PM
Hey Corbin - I'm with you on wondering about historic lifecycle values with customer churn. We've created a custom propert for 'former customer' that we now use to see if someone has churned. Not sure if that's helpful but for what it's worth!
Jul 24, 2019 3:19 PM - edited Sep 21, 2019 12:08 AM
Very interesting, @alyssacarter ...
HubSpot's added 'Deal Workflow' functionality now allows for solutions previously unavailable.
Updated Note (2019):
We also found success using the combined Lifecycle Stage + Lead Status model to accommodate reverted leads -- with or without allowing deals to force the 'Opportunity' Lifecycle stage (by default). Just a different way to skin the same cat.
Oct 11, 2018 10:39 AM - edited Sep 23, 2019 4:45 AM
Oct 11, 2018 4:11 PM - edited Sep 23, 2019 4:46 AM
Jul 26, 2018 5:49 AM
Love the good explanation of the theory. It was an eye opener for me. However I still have a few questions.
- When a potential sale is lost, the opportunity stage does not fit the subscription anymore. The contact does not move forward to the customer stage, but the contact still is a quality lead and fits the SQL stage. Should the contact be therefore a SQL?
Aug 13, 2018 10:11 PM - edited Sep 20, 2019 11:50 PM
HubSpot, like many other CRMs, is not one-size-fits-all. In fact, HubSpot, to a greater extent than say Salesforce, has extreme limitations when it comes to its CRM. In other words, there are scenarios the HubSpot CRM simply wasn't built to accomodate. De-evolution (or reversal) of the Lifecycle Stage is just one such scenario.
In our experience, the best solution is an accountable team aligned around uniform objectives. In our world, we don't separate sales and marketing -- because one cannot truely scale and remain competitive without the other. At least not in an evolving 21st centry buyer-centric sales environment.
>>"When a potential sale is lost ... Should the contact be therefore a SQL?"
Yes. In our world. But only because [we do NOT allow deal creation to FORCE the 'Opportunity' Lifecycle Stage] and because of the definition of an SQL that we use internally -- i.e., a lead with the capacity and willingness to pay for our product &/or services, and who has expressed interest in US after reviewing our offerings -- i.e., emailed us, or scheduled a meeting with us.
- Notice how our SQL definition doesn't say whether or not ... they're new, have a deal in progress, been connected with, etc.
- Notice how that definition doesn't say 'ready to buy'. (an important distinction in my mind)
- Notice also how it doesn't include people who subscribe to some blog, who've downloaded some ebook, or who've completed some contact form. These tactical tools are not true indicators of sales readiness, but are mear micro-conversions along the way to sales readiness.
The 'Opportunity' Lifecycle Stage in HubSpot is tied to deal creation (by default). However, this default behavior can be disabled.
In a scenario where deal creation is being allowed to promote the Lifecycle Stage to 'Opportunity' (by default) we would recommend maintaining that Lifecycle Stage and using a customized Lead Status to identify the lead's current state of readiness. (see further explanation and image later in this thread)
Think of it like this ...
Last year we spent close to ~$150 per client acquisition. The bulk of those costs came from QUALIFYING LEADS. So, for argument's sake, let's say we opted to do away with the lead qualification process and Lifecycle Stages, and simply just meet with everyone who had a question. Since we use to do things this way in 'the old days' (2012) we have excellent data around how well it works by comparison ... it doesn't.
Why? Because we're in the service business and our most valuable resource (time) is finite.
The decision to build a sales funnel to pre-qualify leads dramatically reduced the NUMBER of leads that crosses our desk, but it also dramatically increased the CONVERSION RATE for the remaining leads. Some would call these the 'Glengarry Glenn Ross' leads. (from the movie) 😉
Something else it did was INCREASE THE VALUE OF EACH LEAD! (shutup) Nope. Seriously. Think about it. If we're pre-qualifying leads -- (our model) -- that means we're effectively turning away people who may have otherwise turned into buyers with just a little 'convincing', cajoling, or whateverthehell -- (long story for another time, but not our model).
Once we qualify a lead internally as an SQL, they NEVER become unqualified unless / until they explicitly express disinterest or die in the CRM through attrition. (aka: list decay)
Why? Because we continue to provide value to them even if they're not our client -- via follow-up emails, via this forum, via free calls, etc.. In other words, we don't stop the sales process for SQLs simply because they're not ready to buy TODAY. If we did that we'd be out of business in less than a year.
This model works for us because our target buyers evolve in both their careers and in their HubSpot expertise over time. They realize that marketing is only getting harder and more complex, so they will eventually need help navigating the evolving HubSpot terrain. On more than a few occasions this has translated into month's old SQLs re-engaging us even after moving to other companies.