Many organizations assign Marketing Cloud Account Engagement (Pardot) prospects who are not yet sales ready to a “Cold” leads queue in Salesforce so data syncs and is available for reporting. The problem is that Pardot can’t reassign these leads once they “score up” and many get stuck in the cold leads queue in perpetuity.
In this post, we’ll discuss how leads can be automatically reassigned from the cold leads queue with the help of Salesforce Flow and some Apex code. This solution allows marketing teams to have full-funnel lead reporting in Salesforce without burdening sales with unqualified leads.
To Sync or Not to Sync?
The question of when to sync prospects from Pardot to Salesforce is one that comes up quite often when speaking to my clients. The answers from marketing and sales often differ. And both sides are passionate about it with compelling arguments.
The Marketing Perspective
I need to show the full impact of my marketing activities and the leads my team is generating. If leads are only synced to Salesforce when they are sales ready, my numbers are going to be understated. That means my budget is going to be questioned — and probably slashed.
The Sales Perspective
My time is valuable and I’m working on a commission. I don’t want to be distracted by a bunch of junk leads. I need to focus my time and energy on leads who have an interest in what we have to offer. I have a quota to hit!
I’m often pulled into these conversations and asked for my recommendation. Without hesitation, my answer is always the same — it depends. Some organizations need all prospects in Salesforce for reporting purposes and some only want sales ready leads added into Salesforce. Both approaches have merit and are correct based on the needs of the organization.
However, you can have your cake and eat it too! Enter — the cold leads queue.
The Salesforce Cold Leads Queue
My favorite solution to satisfy the needs of my friends in marketing and sales is the introduction of a cold leads queue.
The cold leads queue is the best of both worlds solution. It allows all the Pardot prospects to sync immediately to Salesforce — which allows for accurate lead reporting for marketing while not burdening sales with leads that are not yet ready. The cold leads queue is also a great place for sales teams to find additional leads to call in the event they are running low on MQLs to call.
So What’s the Catch?
Like all good things, there is a catch to using a cold leads queue. By design (and for good reason), Pardot can only assign prospects if they are currently unassigned. Once the prospect is assigned and synced to Salesforce, Pardot can’t change the assignment.
I’m sure you see where I’m going with this. In our case, we would assign a lead that does not meet our MQL criteria to the colds leads queue (in Pardot), so it will sync to Salesforce. This is perfect as the lead is in Salesforce for reporting purposes and is not cluttering the lists views of our sales teams.
But what happens when that prospect interacts with our marketing campaign and “scores up” to meet our MQL criteria? Houston, we have a problem!
Reassigning MQLs from the Salesforce Cold Leads Queue
I’ve seen this many times. Leads get stuck in the cold leads queue and are not reassigned once they hit the MQL threshold.
Why does this happen? Well, there are a few reasons.
- People forget that Pardot can’t reassign previously assigned leads and assume that their automation rule is doing the trick!
- Since reassignment has to be done in Salesforce, the marketing team does not have the proper permissions to do the job.
- Manual reassignment of leads is not a fun or glamorous job that Salesforce Admins look forward to doing.
- People just plain forget about leads once they hit the cold leads queue.
So what’s the solution to this issue? I’m glad you asked.
The solution is to use a Salesforce flow and Apex combined to automate it.
Let’s Start With Some Definitions
Apex is a strongly typed, object-oriented programming language that allows developers to execute Flow and transaction control statements on Salesforce servers in conjunction with calls to the API. Using syntax that looks like Java and acts like database stored procedures, Apex enables developers to add business logic to most system events, including button clicks, related record updates, and Visualforce pages. Apex code can be initiated by Web service requests and from triggers on objects.
A flow is an application that can execute logic, interact with the Salesforce database, call Apex classes, and collect data from users. You can build flows by using Flow Builder.
*Definitions from the Salesforce Glossary
The Big Reveal
I know I talked about having your cake and eating too at the beginning of this post. Well, it’s time for cake! The trick to using cold lead queues effectively is automating the process of “promoting” leads from the queue and into the hands of your sales team — and here’s how you do it.
- Step 1 – Determine the criteria that should trigger the reassignment of leads that are in the cold leads queue. This could be a Pardot score crossing a threshold or the change in a custom field value.
- Step 2 – Review your Lead Assignment Rules (Salesforce) for accuracy and make and needed updates.
- Step 3 – Create an Apex class to call your lead assignment rules from Salesforce — in sandbox. This is an invocable process and can be called by flow. Below is an example of how this code could look.
- Step 4 – Create a test class to ensure code coverage. You’ll need to have 75% code coverage in sandbox before your code can be pushed to production.
- Step 5 – Create a record triggered-flow based on your MQL criteria. As an example, your flow could be triggered when a lead is updated and their Pardot score exceeds 150 points.
When creating your Flow, it’s important that you include an asynchronous path. This will ensure that the flow runs after the changes to the lead record (that triggered the flow) are complete.
The rest of the Flow is pretty basic and will look something like this.
- Step 6 – Test and validate. Test your Flow first using Debug to make sure it’s being triggered when your lead score is changed to exceed the target score. Once verified, activate the flow in sandbox and test on some actual leads.
- Step 7 – After validating your flow in sandbox, create your outbound changeset. In production, validate your inbound change set (since this change set does include Apex code, be sure to run all local tests). Deploy once validated.
- Step 8 – Activate your flow and relax — knowing that no good leads are going to go bad in your cold lead queue!
Get Those Lead to Sales!
This post provided a high-level overview of how to automate the reassignment of leads from your cold leads queue. This is a common problem and addressing it is a great way to get some great leads into the hands of your sales team immediately.
If you need a hand setting up the actual process, contact us with your questions.