Lifecycle Marketing at Funnel: How To Prioritize High-Intent Leads for Sales
Scale the work your best reps are already doing manually.
👋 Hey, I’m Stuart, welcome to the first 🔒 operator deep-dive edition 🔒 of my weekly newsletter. Each week I share a step-by-step playbook to help connect your GTM teams in HubSpot. Future operator deep dives will be only for paid subscribers.
I’m constantly on the lookout for HubSpot playbooks in the wild because it’s those customer-contact-tested processes that hold the most impactful lessons. So when Con Cirillo (Director of Lifecycle Marketing at Funnel) mentioned he’d been working on generating more, high-quality demand without growing headcount, onboarding new tools, or adding new processes for reps I asked if he’d get in the weeds and retro the project with me step-by-step.
Below, Con tells the in-depth story of why this project had such tight constraints, the solution built in HubSpot to scale what the best reps were already doing manually, and the many lessons learned along the way.
For more from Con Cirillo, follow him on LinkedIn, and check out Funnel.
It seems every company is currently trying to do more with less.
This is the story of what happened when Con was tasked with figuring out how to achieve financial targets without being willing to invest more resources to get there.
You’ll get Con’s biggest lessons, including:
Start small. Focus on the the highest-intent pages (and subsequently the highest intent traffic) instead of most of your webpages.
Track pipeline generated vs baseline. Build reporting to compare deals with associated contacts influenced by the campaign to those that don’t.
Invest in more touch points for high-value triggers. Similarly to focusing on higher intent pages, also go deeper on the highest value triggers (like viewing the pricing page) to add more emails or suggested interactions from reps.
Expand suppression lists early. In the first few months of the program, there were lots of contacts enrolled that probably didn’t need to be. If you enroll too many contacts you’re likely to create more work that doesn’t result in meetings.
Aggressively remove contacts using goals. Just as too many contacts with low intent can hurt your conversion and connect rates, not removing contacts from automation when they enter a 1:1 conversation hurts the experience.
Identify out of date internal assignments. Just because a contact in HubSpot has an owner assigned doesn’t mean that owner is still active or engaging with prospects. Use your workflow to re-assign contact owners automatically when needed so prospects don’t go unengaged.
Of course your own mileage may vary, but my hope is you’ll learn from Con’s experience and take away the step-by-step playbook for the lead routing workflow that added 10+ new Deals to the Funnel sales pipeline each month:
Start by scaling what’s already working
Looking at the money and working backwards.
Before investing time and effort, Con had to ask himself:
Can I tell a clearheaded story and honest story about how this thing over here that I'm going to work on will lead to more money?
Prioritization is hard. But ideas that have an impact usually came from talking to the Funnel sales and customer success teams to understand:
what's not working today
which numbers have been trending down recently
which ones they're getting the most pressure to improve.
Creating a solution started with finding small ways to automate the lower leverage tasks keeping reps from doing more of that higher leverage work which would lead to the outcomes the team wants.
The great reps, when they have unlimited amount of time, are already using signals and personalizing messages with the context of the relationship. But when reps can't put that much time into an incremental contact or working one contact, there’s an opportunity for automation and lifecycle marketing to help close the gap
What signals do you build automation around?
Honestly, it's as simple as a URL.
That sounds really low fidelity or low tech and it's certainly not like the sexiest or most scientific thing, but what Con looks at is if a lead comes to a page and then leaves, can he infer the question they had and couldn’t answer.
Tier 1
They might want to know if a feature available in a certain plan or if they are they going be able to solve a specific problem for their use case.
If you're starting an automation or a trigger program, start with page views to high intent URLs.
→ If a visitor goes to the Contact Us page and I don't book a meeting
→ If a visitor goes to the pricing page and I doesn’t chat or book a demo
Those are the pages that will be the most immediate yield.
From a customer experience standpoint, if I had interest and you could tell that I had interest follow up with a casual message saying:
”Hey, seems like you might have some interest”
💡 Your goal is start a conversation, not close the deal with the first message.
Tier 2
Next look at what signals might tell you that somebody is problem aware, solution aware, or even if you don’t know what they are, at least that there's a little flicker of intent.
For Funnel, each of the core parts of the platform has its own product focused page.
For known subscribers or leads, who have some relationship to you and are going to a platform page, they’re trying to learn more about the product or maybe a specific use case for their team. By number of URLs, this bucket will likely have the most pages and is the second place Con started looking for signals.
Tier 3
Finally, there are high volume but low intent pages, like your blog and homepage where the most traffic goes but that are also the most variable.
I go to a lot of company homepages. That doesn't mean I'm gonna buy a lot of their products.
This is the bucket where you want to tread the most lightly. And only introduce it after you’ve tested and captured all the good demand you think is in buckets 1 and 2.
It’s a good idea to get really specific with your filtering in this tier. For example, only raise a signal when a contact from a company with more than X employees goes to the homepage.
When Con looks at a website, he considers volume and intent as the two axes. So high volume, high intent pages come first then low volume, high intent. It's imperfect, but it's consistent. And by applying logic and saying, we're going to look at it as a good proxy, and then just test it from there you can go a long way.
How do you “personalize messaging?
Con explained how it's one thing to just have an email come from a company that says “Hey, we're Funnel. Here's some content.”
That’s one level of risk, but it gets magnified when the email comes from a person.
For example an automation sending an email as sales rep Sean on Sean's behalf with replies that will go to Sean, who's a real person.
There's an uncanny valley with automation and especially email automation.
At that level, personalization gets more delicate and so the less confident you are in your prospects context, the less you probably want to lean on automation. So for somebody on the homepage, even when putting your best copywriting hat on and really listening to how Sean and the best reps on the team talk about things, is probably still risky to automate emails to in your reps names.
When you feel confident about knowing why somebody's on a specific page. Those are the places to lean more on automation. Because yes, you can automate stuff, and that's like a big efficiency unlock. But prospects can sniff out bad automated outreach right away and it irreparably damages their opinion of your brand.
Con’s top tip for personalization. Avoid sounding like an ad read at all and keep it as simple as:
”Hey, first name, saw you on the pricing page. Figured you might want to know about X or Y. What questions do you have?”
Going simpler is better, but Con told me it was only by going overboard and over the top that he was able to realize that simple answer was the right answer.
Step-by-step: Prioritize sales outreach with website intent signals
Identifying intent and helping reps proactively intercept a prospect journey increases outreach engagement and ultimately leads to more buying conversations 💰
See how can you use an automated workflow in HubSpot to loop in the right person, at the right time, with the right message as prospects engage with your website.
Here’s how it works step-by-step:
Pre-work: Create 3 properties - Pricing Page Visits (number), First Pricing Page Visit (date), Last Pricing Page Visit (date)
1. Create a workflow with a Contact Enrollment Trigger
⚡️ Trigger Criteria: The “Page visited” “URL Path contains any of” "pricing"
→ Re-enrollment: Contacts will re-enroll in this workflow
2. Branch: Previously Visited Pricing
Criteria: Pricing Page Visits is known
If true: Go to "Previously Visited Pricing" actions
If false: Go to "First Pricing Page Visit" actions
3. IF "Previously Visited Pricing"
🤖 Action 1: Use the Increase or Decrease Property Value action to increment the "Pricing Page Visits" property value by 1.
⏱ Action 2: Use the Set Property Value action to set “Last Pricing Page Visit” to the date this action was executed
🔔 Action 3: Use the “Send Slack Notification” action to alert the sales team of a new pricing page visit and include relevant context for:
→ Contact Owner
→ Company Name
→ Last Contacted
→ Pricing Page Visits
4. IF "First Pricing Page Visit"
🧮 Action 1: Use the Set Property Value action to set the "Pricing Page Visits" property to 1.
📅 Action 2: Set First Pricing Page Visit Date: The "First Pricing Page Visit" property is set to the current date.
⏩ Action 3: Redirects to the "Set Last Pricing Page Visit Date" action under "Previously Visited Pricing" to set the "Last Pricing Page Visit" property to the current date.
This simple workflow can be used to enable all sorts of helpful reporting and follow-on actions.
Step-by-step: Proactively suggest (or automate) the best next step for reps
Once you’re tracking intent signals in HubSpot, you have the tools you need to help your reps proactively engage with prospects.
But…just because a prospect triggered a signal doesn’t mean they should necessarily receive an automated message.
Here’s an example of how Con uses an automated workflow to identify the right next step for each contact based on the other context that exists in HubSpot.
This is how it works:
1. Create a Contact based workflow
⚡️ Trigger Criteria: Contact has viewed any of the pages we are tracking for intent signals.
→ Tip: This could be directly in the workflow trigger or looking at enrollment in an active list filtered by page visit urls.
2. Use an AND/OR logic branch to check if the contact has an owner
Create a branch that checks in order if:
→ Branch “Known”: Contact Owner is “Known” and is "None of” [Reps who are no longer working leads]
→ Branch “Inactive”: Contact Owner is “Known”
→ Branch “Unknown”: Contact Owner is “Unknown”
3. IF branch is Inactive or Unknown
🤖 Action: Rotate the record to a new owner or create a task to reassign it appropriately.
4. IF branch is Known
🌴 Action 1: Use an AND/OR logic branch to check if the contact was:
→ Branch “< 90“: “Last Contacted” less than 90 days ago
→ Branch “> 90”: Last Contacted more than 89 days ago
5. IF branch is < 90
☑️ Action 1: Create a task “Follow up with { Name } at { Company Name} and assign it to the “Contact Owner” and include the Deal Stage of the most recently updated deal.
📄 Action 2: Add the contact to a static list “Trigger | Prospect | Sales Received Alert/Task”
💡 As these contacts have been contacted recently we want to be sensitive with the communication and loop in a rep for manual outreach.
6. IF branch is > 90
🌴 Action 1: Use an AND/OR logic branch to check which signal the contact triggered:
→ Branch “< 90“: “Last Contacted” less than 90 days ago
📧 Action 2: For each branch automate an appropriate email or enroll the contact in a relevant sequence based on the specific page that was viewed.
📋 Action 3: Add the contact to a static list “Trigger | Prospect | Sent Email.
🔄 Action 4 Onwards: If not using sequences repeat a series of delays and automated engagement emails.
🕖 Subscribe to get new step-by-step playbooks for implementing a connected GTM motion in HubSpot every Thursday at 7:50am ET / 6:50am CT / 4:50AM PT.