Skip to Main Content
Product Suggestions
Status Shipped
Categories CRM App
Created by Guest
Created on Feb 5, 2021

Lead/Customer Lifecycle Management from initial Lead, through to opportunity

It would be useful to provide a lead Management solution within the CRM for use earlier in the marketing/sales pipeline. This could allow you to add a very basic record that may only have limited details such as a name and/or email (at the moment to create a new record you need to complete quite a few company and contact fields which may not be possible if you are just generating leads to call to qualify initially)

This should also include a calling list, or at least a report of leads in different stages, or other way to manage these leads pre qualification.

You would want to be able to move these leads through a simple set of stages (suspect, prospect, lead, MQL, SQL, Opportunity, onboarding, customer, churned) and probably have an "other" category too (for suppliers etc).

(useful definitions in terminology: https://www.linkedin.com/pulse/difference-between-suspect-prospect-lead-hawk-mikado/. Given our focus on wholesale & distribution, I have added an extra lifecycle stage of "onboarding" beyond what others typically recommend. We know this is a critical stage in getting repeat customers).

The lifecylcle field is most sensibly stored at division level i think? Some of the automation below may become complex with advanced ledgers, but maybe we just set it based on the default ledger and for now ignore any additional ledgers ? Not perfect but "good enough" we can always improve this scenario later. Possibly dont automate the "churn" stage if using advanced ledgers?


It would be nice, but perhaps not essential to have some automated workflow that does some basic automation like:

(note: there is already some workflow around company types, which we should potentially retire, or tie into this? - I think probably we need to see how many people are using this for company types and see if we can reasonably get people to change the way they use company types. I.e. I would suggest company types for things like reseller vs direct, or wholesaler vs retailer vs international distributor, or independent chain vs supermarket vs online retailer, etc - like a high-level SIC code ... and then seperately to that use this lifecycle stage for the current status of that prospect/customer. For example you would be a supermarket whether as a prospect, lead, customer or churned customer. and to reflect this using just company types you might need to double/triple up your company types into "prospect supermarket", "Customer supermarket", "churned supermarket"... clearly, seperating company type from lifecycle stage is a better way to manage this data.


a) defaults to "suspect" when creating new records or if importing. i.e. odata should default ideally default to suspect rather than null if this is not set.

b) manual movement through Lead, MQL and SQL (i,e. no workflow for this). Note: users will actually be able to amend this manually whenever they like. They don't have to wait for the automation to make a customer a churn, or even to turn into a customer (you may have signed a contract but not taken the first order yet).

c) move to "opportunity" stage automatically if an opportunity is created, and back to "prospect" if the opportunity is closed as neutral or lost (and there are no other open opportunities for this division)

d) move to "onboarding" if a first order is taken via CRM or, when an opportunity is marked as won (positive outcome), or failing those instant updates, when first salesorderheader order is populated (this can be done using the salesledger stats, but should be done via oData so that webhooks fire for all lifecylce status changes )

e) moves to churned if the customer stops buying after x period of time (we should allow this to be set, but rather than just 1 or 2 years option, i think a number of days is more flexible, and easier to code. defaulting to 365. Again, the actual update should be done via oData so that webhooks and zapier work on this field). Possibly disable this automation if there is more than one ledger on the division?

f) moves the customer from "onboarding" to "customer" after x orders (4 is the accepted norm for this - we can probably hard code this - or have an option from 1-4 ... 4 being the max as that's what we have in sledger_stats)

Merge this list with RFM List?
should we add these stages to RFM, and then have the lifecycle log (below) include RFM changes?

This will then be effectively an RFM field against the division, which is easier to report on, has history, is update by odata so it has triggers)

Lifecycle Log. It would be really good to have a log of historical changes

We can also use the RFM data, and current opportunity status' to set this data initially (i.e. anyone with sales history is a customer, unless churned, anyone with an active opportunity is in opportunity, anyone who is just a supplier can be other, everyone else is a suspect).

Ensure this field, and the company type field, works with bulk update so that users can quickly migrate from using company types for lifecycle to setting this field and then rationalising their company types.

This historical calculation of lifecycle should be done for existing customers when we upgrade them, and also make sure that a customer who imports from an ERP/Inventory system gets a sensible set of data.

It would be ideal, if possible to even backdate the lifecycle log with when they first became a customer, and then, when they churned (if they've churned)


Division Activity stream


And, it would really make sense to then include the activity stream in the activity stream for a division.


Creating new records with less known information

Might also be good to make surname optional, or allow a company to be created without contact, and with a generic company email (or two) ... eg. what happens when you get a lead for a company you've spotted via an advert or a vehicle sign ... you have company name, phone and email for a company you want to target.

Adding email addresses at division level will be complex, and knock-on to campaign manager, mailchimp integration etc. so probably a bad plan. Instead, we could:

a) make the database field optional for surname, or, we could "fudge" it by setting a question mark in surname if the user chooses "lead" and doesnt enter a surname.

b) when the company is unknown, the user can already enter a b2c record - and convert to b2b later when it is known.


Visual representation
A kanban board visual would also be nice, but again not essential. On this board, the cards will be divisions. But, should show something sensible for B2C records. (arguably I think we should review b2c and set divname to contact name and use a proper boolean flag at division level for b2c mash-up)


Mailchimp sync

This should probably be added as a criteria for maichimp sync. Probably with all selected by default

  • Attach files
  • Admin
    Andrew Ardron
    Reply
    |
    Jul 10, 2023

    The new Enquiries feature has been available in preview for a while now. Since then we've added Enquiry Forms and more recently added the ability to convert Enquiries to Problems (as well as just opportunities or contacts). With a few more updates in the most recent version to both Enquiries and Forms, I'm now marking this requirement as Shipped. Obviously feel free to add more ideas/requests for further enhancements to this feature set.

  • +12