Understanding Key Sales and Marketing Terminology: Marketing Qualified Lead (MQL), Sales Qualified Lead (SQL), and Sales Accepted Lead (SAL)

In the dynamic world of sales and marketing, precise terminology is crucial for effective communication and collaboration between teams. Three key terms that often arise in this context are Marketing Qualified Lead (MQL), Sales Qualified Lead (SQL), and Sales Accepted Lead (SAL). In this blog post, we’ll delve into the definitions of these terms and explore their significance in the sales and marketing process.

1. Marketing Qualified Lead (MQL):

Definition: A Marketing Qualified Lead (MQL) is a prospect who has indicated interest in a company’s products or services based on marketing efforts or engagement activities.

Characteristics:

  • MQLs are typically generated through inbound marketing tactics such as website visits, content downloads, or social media engagement.
  • They may have shown interest by subscribing to a newsletter, attending a webinar, or downloading a whitepaper.
  • MQLs demonstrate a level of engagement or fit with the company’s target audience but may not be ready for immediate sales outreach.

Significance:

  • MQLs serve as the bridge between marketing and sales teams, representing potential opportunities that require further nurturing and qualification.
  • Marketing teams focus on nurturing MQLs through targeted campaigns and personalized content to move them further down the sales funnel.

2. Sales Qualified Lead (SQL):

Definition: A Sales Qualified Lead (SQL) is a prospect who has been vetted by the sales team and deemed ready for direct sales engagement.

Characteristics:

  • SQLs have met specific criteria or demonstrated buying intent that qualifies them as potential customers.
  • They may have expressed interest in a product demo, requested pricing information, or engaged in direct communication with a sales representative.
  • SQLs typically meet predefined qualification criteria, such as budget, authority, need, and timeline (BANT).

Significance:

  • SQLs represent opportunities with a higher likelihood of conversion and warrant direct sales outreach and engagement.
  • Sales teams focus on nurturing SQLs through personalized communication, product demonstrations, and tailored solutions to accelerate the sales process.

3. Sales Accepted Lead (SAL):

Definition: A Sales Accepted Lead (SAL) is a prospect that has been reviewed and accepted by the sales team for further engagement and pursuit.

Characteristics:

  • SALs have undergone a review process by the sales team to ensure alignment with ideal customer profiles and sales objectives.
  • They meet the criteria established by both marketing and sales teams, indicating readiness for sales engagement.
  • SALs may require additional qualification or validation before moving further down the sales pipeline.

Significance:

  • SALs represent opportunities that have been formally accepted by the sales team and are prioritized for immediate action.
  • Sales teams focus on advancing SALs through the sales pipeline, leveraging sales tactics and strategies to drive conversion and revenue growth.

Conclusion:

In summary, Marketing Qualified Leads (MQLs), Sales Qualified Leads (SQLs), and Sales Accepted Leads (SALs) play distinct yet interconnected roles in the sales and marketing process. By understanding the definitions and characteristics of these terms, organizations can establish clear criteria for lead qualification, streamline communication between teams, and effectively prioritize resources for maximum impact. By aligning marketing and sales efforts around these key lead classifications, companies can drive efficiency, improve conversion rates, and ultimately achieve their revenue goals.

Navigating Growth: Key Metrics for Series A Companies to Track in HubSpot

As a Series A company embarks on its journey to scale and establish a strong market presence, leveraging the right tools and metrics becomes paramount. HubSpot, a leading customer relationship management (CRM) platform, offers a suite of tools designed to streamline marketing, sales, and customer service efforts. In this blog post, we’ll explore the key metrics that Series A companies should track in HubSpot to drive growth, optimize performance, and enhance customer engagement.

1. Lead Generation Metrics:

Lead generation is the lifeblood of any growing business. Series A companies should closely monitor the following metrics in HubSpot to gauge the effectiveness of their lead generation efforts:

  • Website Traffic: Track the volume and sources of website traffic to identify top-performing channels and optimize marketing strategies accordingly.
  • Lead Conversion Rate: Measure the percentage of website visitors who convert into leads. This metric helps assess the effectiveness of lead capture mechanisms and website content.
  • Lead Quality: Evaluate the quality of leads generated by assessing factors such as lead source, demographics, and engagement level. HubSpot’s lead scoring feature can help prioritize high-quality leads for sales follow-up.

2. Sales Performance Metrics:

With HubSpot’s sales tools, Series A companies can streamline their sales processes and drive revenue growth. Key sales performance metrics to track include:

  • Deal Pipeline: Monitor the number and value of deals in the sales pipeline to forecast revenue and identify potential bottlenecks in the sales process.
  • Sales Cycle Length: Measure the average time it takes to convert leads into customers. Analyze factors contributing to prolonged sales cycles and implement strategies to accelerate the sales process.
  • Win Rate: Track the percentage of deals won versus the total number of deals pursued. This metric provides insights into sales team effectiveness and deal conversion efficiency.

3. Customer Engagement Metrics:

Building strong customer relationships is essential for long-term success. Series A companies can leverage HubSpot’s customer service tools to track the following metrics:

  • Customer Satisfaction (CSAT) Score: Measure customer satisfaction levels by soliciting feedback through surveys or support interactions. HubSpot’s customer feedback tools enable companies to collect and analyze customer feedback effectively.
  • Customer Retention Rate: Monitor the percentage of customers who continue to do business with your company over time. A high customer retention rate indicates strong customer loyalty and satisfaction.
  • Net Promoter Score (NPS): Assess customer loyalty and likelihood to recommend your company to others. NPS surveys can be automated in HubSpot to gather actionable insights from customers.

4. Marketing Effectiveness Metrics:

Effective marketing is crucial for attracting, engaging, and retaining customers. Series A companies should track the following marketing metrics in HubSpot:

  • Email Performance: Monitor email open rates, click-through rates, and conversion rates to evaluate the effectiveness of email marketing campaigns. HubSpot’s email analytics provide valuable insights into subscriber engagement and campaign performance.
  • Social Media Engagement: Measure engagement metrics such as likes, shares, and comments on social media platforms. HubSpot’s social media tools enable companies to schedule posts, track engagement, and analyze social media performance.
  • Content Performance: Assess the performance of blog posts, landing pages, and downloadable content assets. Track metrics such as page views, conversion rates, and engagement metrics to optimize content marketing strategies.

Conclusion:

By tracking these key metrics in HubSpot, Series A companies can gain valuable insights into their marketing, sales, and customer service performance. By leveraging HubSpot’s powerful analytics and automation features, companies can optimize their strategies, drive growth, and deliver exceptional customer experiences. With a data-driven approach to decision-making, Series A companies can navigate the complexities of scaling and position themselves for long-term success in their respective markets.

Maximizing Sales Potential: Why Creating an Opportunity in Salesforce Upon Booking a Meeting Is Essential

In the fast-paced world of sales, every interaction counts. Whether it’s a cold call, an email exchange, or a booked meeting, each touchpoint represents a potential opportunity to drive revenue and foster lasting relationships with customers. One crucial step in this process is the seamless integration of these interactions into a robust Customer Relationship Management (CRM) system like Salesforce.

When it comes to booking meetings, many sales professionals may overlook the importance of immediately creating an Opportunity in Salesforce. However, doing so can provide a myriad of benefits that ultimately contribute to improved efficiency, enhanced collaboration, and increased sales success. Let’s delve into why creating an Opportunity upon booking a meeting is not just a good practice but an essential one:

  • Capture Intent and Context: Booking a meeting signifies a significant step in the sales cycle. It demonstrates that the prospect is interested in learning more about your product or service. By creating an Opportunity in Salesforce at this stage, you capture the intent behind the meeting and contextualize it within the larger sales process. This ensures that all relevant information related to the opportunity is documented and easily accessible to the sales team.
  • Facilitate Seamless Progression: A well-structured sales process relies on clear milestones and stages. By creating an Opportunity in Salesforce, you establish a formal entry point into your sales pipeline. This allows you to track the progress of the opportunity from the initial meeting booking to closure. Moreover, it enables sales reps to prioritize their follow-up activities and allocate resources effectively based on the stage of each opportunity.
  • Enable Collaboration and Transparency: Sales is rarely a solo endeavor. It often requires collaboration among team members, including sales reps, managers, marketers, and customer support. By creating an Opportunity in Salesforce, you provide a centralized platform where stakeholders can access real-time information about the opportunity. This fosters transparency, aligns everyone around common goals, and facilitates seamless collaboration throughout the sales process.
  • Data-Driven Decision Making: Salesforce is renowned for its robust reporting and analytics capabilities. By creating Opportunities upon booking meetings, you lay the foundation for gathering valuable data insights. This includes tracking conversion rates, analyzing win-loss ratios, and identifying patterns in customer behavior. Leveraging this data allows you to make informed decisions, refine your sales strategies, and optimize your overall performance.
  • Enhance Customer Experience: In today’s competitive landscape, delivering a personalized and streamlined experience is paramount. By creating an Opportunity in Salesforce, you demonstrate professionalism and attention to detail. It allows you to tailor your approach based on the specific needs and preferences of each prospect, ultimately enhancing the overall customer experience and increasing the likelihood of conversion.

In conclusion, the decision to create an Opportunity in Salesforce upon booking a meeting is not just about organizational efficiency; it’s about maximizing sales potential and driving sustainable growth. By capturing intent, facilitating progression, enabling collaboration, empowering data-driven decision-making, and enhancing the customer experience, this practice sets the stage for success in today’s dynamic sales environment. So, the next time you book a meeting, remember to seize the opportunity—both figuratively and literally—by creating an Opportunity in Salesforce. Your sales pipeline will thank you for it.

Why I love Leads in Salesforce

I’m probably old-school, but I love the Lead object in Salesforce. I just love having a table where all of the lowish quality or yet-to-be-validated people go. Pulling a list from ZoomInfo? Drop it in the Lead object! Got a conference list? Drop it in the Lead object! Sure – if someone fills out your Demo Request form they should be a Contact – but that’s where Lead auto-conversion comes in. Before I espouse on my love of the Lead object, I’ll list the negatives of using Leads:

Cons of Using the Lead Object:

  • A person is just a person. If you just use the Contact object and auto-convert everything a person is just a person – this aligns better with systems like Hubspot and Outreach where a person is…. just a person. There’s no more need to say, ‘yeah, but this person is just a Lead! They haven’t been qualified yet.’ All people are just people.
  • Duplicates! It’s easy to block duplicates in Salesforce on a single object; blocking across objects is more complicated. Yes, you can have Lead-Contact cross-object duplicate rules but that still creates confusion. ‘Why can’t I add this Contact?’ ‘Because it already exists as a Lead! Please convert the Lead’. Much simpler to just have everyone in as a Contact

Pros of Using the Lead Object:

  • It’s out-of-the-box Salesforce. Any decent Salesforce consultant will tell you to lean towards out-of-the-box Salesforce functionality as much as possible. Why? Because there’s less ongoing upkeep and customization required to maintain out-of-the-box functionality.
  • Qualification. Most of the Leads are going to be garbage. If you’re only dealing with Contacts you know have a majority of Contacts as garbage. I like the Lead object as a type of ‘qualification’ object – only some fraction of these people are going to make it through to ‘Contacts’.
  • Conversion rates. I like it that Salesforce maintains the conversion information from Lead to Contact (and, if an Opportunity is created on conversion maintains it to the Opportunity, too). This way you can track the touchpoints on the Lead, you can track the touchpoint at point of conversion and you can continue tracking on the Contact. I think you get better marketing visibility when using the Lead + Contact objects.
  • Built in Salesforce functionality: easily spin-up Lead assignment rules and easily pull reports on Leads with Converted information. Because it’s out-of-the-box functionality features are built right in.

I totally get dropping the Lead object entirely and just using the Contact object. Auto-convert anything that happens to be a Lead to a Contact. Now your reps are only dealing with ‘People’ in Salesforce and you can assign and report on details through the Account (where Contacts have a native relationship, unlike Leads). I also understand that, at some point, you’re re-marketing to Contacts anyway – if you’re Total Addressable Market is small and easily defined, at some point the vast majority of people in that market are going to be Contacts, anyway. But, I’m still a fan of Leads – there’s always going to be that need for high-volume, yet-to-be-qualified people dumped into the top of the funnel and that’s Leads. It’s still Salesforce in-built functionality so you get expansive features and reporting with Leads – you can track touch-points from that high-level person through qualification and closed/won Opportunities. By using the Lead object you can track conversions and touch-points from the more-or-less unknown person, through the qualification to someone where there’s a potential business Opportunity, to them becoming a customer. Leads are hard to beat.

Tracking Sales Velocity in Salesforce

One of the first metrics I pull in any Salesforce I start in, and a metric I regularly revisit in orgs I’ve been working in for some time, is Sales Velocity.

Sales Velocity = Number of Opportunities × Average Deal Size × Win Rate × Sales Cycle Length

  • Number of Opportunities: Easy to get – just the number of Opportunities in the org. Sometimes we’ll overlay an Account Segment on the Opportunity (i.e. SMB, Mid-Market, Enterprise) and most times we’ll exclude Renewal Opportunities. Whether tracking Sales Velocity or not you’ll want to know the rate at which Opportunities are added to Salesforce so you know your pipeline coverage.
  • Average Deal Size: Also easy to get in Salesforce – just pull All Closed/Won Deals and average their Amount. Their may be nuances for multi-year deals.
  • Win Rate: To calculate win rate, I go back to this blog post. You’re just looking for the number of Closed/Won Deals divided by the total number of Closed Deals. Easy to pull using Summary Level Formulas in Salesforce
  • Sales Cycle Length: This one is a little more fun – could be as simple as a row-level formula that calculates from Created Date to Closed/Won Date. You can also start calculating time in stage reports – which provide indications when the Opportunity has been languishing in certain stages for too long and about how long an deal that’s likely to close stays in any one stage.

Typically, in any newish company’s Salesforce org these numbers are all over the board – the company may know that they can move some smaller deals through the pipeline quickly or that larger deals are being created with larger companies but not moving through the pipeline. Pretty obvious stuff. There’s still two reasons why I like this analysis:

  • Win Rate over time should improve and if it’s not improving then we can look at what’s leading to the creation of Opportunities, the quality of Leads coming to sales and the reasons for closed/lost. Some of these things can be adjusted by sales.
  • Inverse metrics to the above. Deals that are Closed/Won always move faster through the pipeline than Deals that are Closed/Lost. So looking at Closed/Lost Deals gives you data on indicators that a Deal that’s been sitting in Stage 2 well beyond the average amount of days of a Closed/Won Deal in Stage 2 is unlikely to close. This forces reps to move on from Deals to focus on those with a higher likelihood to close.

Sales velocity is not the be-all-and-end-all metric in a Salesforce org. It does, though, pull out key metrics that help to focus the sales organization on the deals that matter.

.

Campaign Influence in Salesforce

I often get asked to ‘show the ROI’ of various marketing Campaigns in a Salesforce from an organization that, up to this point, hasn’t put in the rigor to actually track influence on Opportunities through their sales funnel. I’m going to detail here basic steps to implement now so that you start tracking the ROI of different programs in your Salesforce.

First, in your Salesforce go to Setup >> Campaign Influence Settings and make sure Campaign Influence is Enabled:

Just doing that is a great start. While you’re in Salesforce Setup, if you don’t already have this field add the field ‘Secondary Lead Source’ to the Lead and Contact objects – it can just be a 250 character free text field. Back on the Lead object at fields, go to Field Mappings and make sure to map Secondary Lead Source between Leads and Contacts. Every time you add or update a Lead in Salesforce, set the Secondary Lead Source to whatever source you’re using to touch the Lead (i.e. a new form fill might overwrite Secondary Lead Source with the name of the form, or a Conference List might get the name of the Conference). We have some of the basics in place now – a Secondary Lead Source field that we’ll use to write whatever the current touch point it, it’s mapped between Leads and Contacts and we have Campaign Influence on. Next, if you haven’t already, create basic Campaigns in Salesforce for your marketing activities – things like Website, Email Blast, Conference, List Import – whatever activities marketing has going on to drive Leads to Sales. Create a Flow on Leads to whenever the Secondary Lead Source on a Lead is changed, it checks the Secondary Lead Source and looks for a corresponding campaign – for example if Secondary Lead Source is a form name (‘Contact Us Form’) then look for the ‘Website’ or ‘Forms’ Campaign – if a corresponding Campaign is found, create a new Campaign Member to relate this Lead to the Campaign. The point of these changes is so that you have Campaigns that encompass all the ways marketing might drive Leads to sales – then, you use the Secondary Lead Source field on Leads to write that touch to the Lead – on the back-end the flow then uses the Secondary Lead Source value to attribute that touch to the Lead.

With the basics above in place, encourage sales to work exclusively from the Lead object until the Lead reaches a ‘conversion’ point – typically when a demo is booked. When that happens the sales rep should convert the Lead to a Contact and create an Opportunity at that time. Marketing uses the various campaigns to drive Leads to sales, sales works (ideally quality) Leads until they’re at a point of conversion – typically when a demo is set – and an Opportunity is created. From the Opportunity stage, the rep then works through the stages of the pipeline – if the demo occurs and is a good fit, the Opportunity is advanced, otherwise just close out the Opportunity.

What happens with all of these pieces above in place is this:

  • Leads come in to Salesforce through various means and have a Lead Source a Secondary Lead Source and a Campaign Set.
  • A Lead is typically touched more than just 1 time before it’s ready for sales – as these touches occur the Secondary Lead Source is updated and the Lead is related to additional campaigns. A Lead may come from a conference, then later fill out a form on a site – that’s 2 touches.
  • The rep then converts the Lead to a Contact and creates on Opportunity on conversion. The Lead Source and Secondary Lead Source will transfer to the Contact (and Lead Source to Opportunity) – but what’s important is the Campaigns will also transfer.
  • This ensures your Opportunities are related to original source and all of the various Campaign touch points that led to Opportunity creation.

Salesforce Slack integration

The Salesforce-Slack integration is worth taking the time to build out. Two simple use-cases:

  • You can create a custom channel to announce New Business Opportunity Wins
  • You can update Opportunities directly from Slack

In my opinion just those two use-cases make configuring Slack and Salesforce worthwhile.

Start by installing Salesforce’s Slack package in your Salesforce: https://appexchange.salesforce.com/listingDetail?listingId=a0N3A00000FnD9mUAF&tab=e

The configuration part is pretty simple – first connect Salesforce to your Slack:

The next parts – I just skip right over – I confirm them in the set up, but I’m not interested in adding Slack to page layouts or custom objects – just sending alerts to Slack channels:

The ‘Automation Configuration’ part is what matters – this is where you’ll connect Salesforce to a specific Slack Channel. I typically create the Channel in my Slack first, then go to this section to connect Salesforce to it:

Once you’ve connected to your channel, Salesforce will save that record and give you an ID – this ID matters for adding to a Flow to post the Alert:

Now that Slack and Salesforce are configured, it’s a simple flow to post to this Channel. Create a new Flow – start with any input criteria you want, for example when an Opportunity is Closed/Won. The very first step in the Flow is to get that Slack Channel and Destination:

This is a Get Records Step where you add in the name of your Slack Channel and the Channel type of ‘channel’. Next, add a Decision Step to validate that this Slack Channel was found:

These steps ensure that there is a Slack Message Destination (i.e. the channel to post the message to) available to post to. Next, create a Text Template – this is where you’ll add the Text you want to post in the message – for example, ‘New Opportunity Won!’:

After your Decision – if the Slack Message is Found – add a new Action to post to Slack:

The Message Destination ID is the Message Destination found in the Decision Step. Record ID is the record triggering the alert. And the Message is the Text Template created earlier. The basic Flow looks like this, pretty simple:

What I found particularly cool about this is the built in Slack option to ‘Update Next Step’ directly from Salesforce:

Calculating Opportunity Win Rate in Salesforce

One of the first things I do in a new Salesforce is calculate Opportunity Win Rate globally. This metric can be used as a baseline to estimate the likelihood that current pipeline will close and to estimate how much pipeline should be generated in order to hit targets. To create an Opportunity Win Rate report in Salesforce, create an Opportunity Report and add over the following columns:

  • Amount
  • Won
  • Closed
  • Stage

With those fields added, then add two Summary Formulas:

  • Win Rate %
  • Loss Rate %

The Win Rate % Formula looks like this:

And the Loss Rate % Formula looks like this:

Run this report to see your Win/Loss Rate:

This is just ‘Global’ Win/Loss rate – this is just for All Opportunities. Beyond this high-level calculation, you can then apply per your market segments or per sales rep. This win/loss calculation gives you your high-level baseline win rate to apply across your open pipeline.

How to Send Desktop Notifications in Salesforce Flow

The requirement: when an Opportunity advances to a specific stage, send an email alert and an in-app Salesforce alert. Sending the email alert was easy – been doing that for over a decade – sending the in-app Salesforce alert was new to me. Here are the steps to send an in-app Desktop alert in Salesforce – nd alert that looks like this:

The first step is to create your notification – that’s under Salesforce >> Setup >> Custom Notifications:

For this example I just created a Desktop alert. Once you’ve created your Notification, you’ll need the ID of this notification. To get this, open Developer Console and run this Query:

Select Id,CustomNotifTypeName from CustomNotificationType

That query will return Notification Names and IDs – copy the ID of the Notification you want to use. Create your Flow with the necessary business logic – in my case there were specific users this alert needed to go to. In order to get the users the alert should go to you have to query the user object for those users:

It’s important that the Users are Active or the alert will fail when it attempts to alert inactive users. This next step was hard for me – you then need to create a Collection Variable of Type = ‘Text’ that can store multiple values:

This is where we’ll add the List of User IDs that should get the notification. So after the Query to Get Users, we need to Loop over the Users:

And Looping over the Users, for each User, add their User ID to this List:

This part is key because this defines who the Alert will be shown for – and the Alert Action requires data in this specific format in order to send the Alert. With the List of Users you want to send the Alert To, next define the Notification Action:

Here’s how these boxes are populated:

  • Custom Notification Type ID: add in the ID of the Custom Notification created and queried at the start.
  • Notification Body: you can create a Text Template (and you can create it right in that screen) of the Notification Body – the text you want to show in the Alert.
  • Notification Title: similar to the above, you create a Text Template of what you want the Title of the Notification to be
  • Recipient IDs: this is where you add the List of User IDs created above. This has to be a List of Text variables, the Flow will reject anything else.

With those values added I could save this Notification and test it – and debugging worked. However, when I actually ran the Flow with real records, I got an error. One additional value is required in the Notification:

The Target ID – in my case I used the ‘Record ID’ of the record triggering the event. The Target ID will be where the user is routed to if they click the alert. So if a user gets this alert – that an Opportunity changed to a certain Stage – they can click the alert and will be routed to the record.

That’s it – kind of a cool feature in Salesforce to post ‘alerts’ about things without the need to send emails or slacks all the time.

Matching Leads to Accounts in Salesforce

If you’re using Leads and Contacts in Salesforce it can be a bit hard to track all people at the Account level – there’s no native matching of Leads to Accounts in Salesforce. Implementing Lead to Account matching in Salesforce is pretty easy, though – here are the steps:

First, create a ‘domain’ formula field on Account that ‘cleans’ any value in the website field to just return a ‘clean domain’ – the formula looks like this:

SUBSTITUTE(
  IF(
      FIND(“/”,
          IF(
              FIND(“www.”, Website) > 0,
              IF(
                  FIND(“//”, Website) > 0,
                  SUBSTITUTE(
                             Website,
                             LEFT(
                                  Website,
                                  FIND(“//www.”, Website) + 5),
                             NULL
                             ),
                  Website
               ),
               IF(
                   FIND(“//”, Website) > 0,
                   SUBSTITUTE(
                       Website,
                       LEFT(
                           Website,
                           FIND(“//”, Website) + 1),
                       NULL),
                   Website
                   )
               )
           ) > 0,
      LEFT(
          IF(
              FIND(“www.”,Website)>0,
              IF(
                  FIND(“//”,Website)>0,
                  SUBSTITUTE(
                      Website,
                      LEFT(
                          Website,
                          FIND(“//www.”,Website) + 5
                      ),
                     NULL),
                  Website
              ),
              IF(
                  FIND(“//”,Website)>0,
                  SUBSTITUTE(
                      Website,
                      LEFT(
                          Website,
                          FIND(“//”,Website) + 1
                      ),
                      NULL
                  ),
                  Website
              )
          ),
          FIND(“/”,
              IF(
                  FIND(“www.”,Website)>0,
                  IF(
                      FIND(“//”,Website)>0,
                      SUBSTITUTE(
                          Website,
                          LEFT(
                              Website,
                              FIND(“//www.”, Website) + 5
                          ),
                          NULL
                     ),
                      Website),
                  IF(
                      FIND(“//”,Website) > 0,
                      SUBSTITUTE(
                          Website,
                          LEFT(
                              Website,
                              FIND(“//”,Website) + 1
                          ),
                          NULL
                      ),
                      Website
                  )
              )
          ) -1
      ),
      IF(
          FIND(“www.”,Website)>0,
          IF(
              FIND(“//”,Website)>0,
              SUBSTITUTE(
                  Website,
                  LEFT(
                      Website,
                      FIND(“//www.”,Website)+5),
                  NULL
              ),
              Website
          ),
          IF(
              FIND(“//”,Website)>0,
              SUBSTITUTE(
                  Website,
                  LEFT(
                      Website,
                      FIND(
                           “//”,
                           Website) + 1
                       ),
                      NULL
              ),
              Website)
      )
  ),
  ‘www.’,
  ”
)

So your formula field looks like this:

This is an important field – it’s what we’ll use to match Leads to Accounts and it can be used to identify duplicate Accounts since this field strips out values like ‘http’ and ‘https’ to only return a ‘clean domain’ (i.e. salesforce.com not http://salesforce.com).

Next, create a very similar field on Leads – but use the email address to create a ‘clean domain’ field instead of website. This will also be a text formula field that looks like this:

SUBSTITUTE(Email, LEFT(Email, FIND(“@”, Email)), NULL)

And the actual field looks like this:

We’ll use the domain field on Leads to match to the domain field on Accounts. We’ll add an additional field on Leads: a Lookup to Account. This is the field we’ll populate with the Account ID when we find a match based on the two domain fields. This is a simple lookup to Account field that looks like this:

Finally, we’ll create a flow that on Lead Create – if the Lead has an Email Address – then match the Lead’s Domain to an Account Domain and if a matching Account is found, set this new Account field on the Lead. Create a Flow that triggers on Leads (I typically just do on Lead Create). The first step in this Flow is to Get Account Records that match the Lead’s Domain:

Next, add a decision step to check if an Account record was found or not:

If an Account was found, use the values from this record to set the Account field on the Lead:

(in the above screen-shot, I also set the Company Name so that Company Names are consistent everywhere). After that, just update the Lead with the new values. If I need to backfill to match Leads to Accounts for all records in the Salesforce, I typically do this offline via Dataloader following the same logic: export all Leads with domain, export all Accounts with Domain and Account ID, match Accounts to Leads on domain then bulk update to set the Account field on Leads.

Matching Leads to Accounts in Salesforce is valuable for many reasons and it ensures when looking at an Account in Salesforce you’ll see all ‘people’ related to that Account, not just Contacts.