Understory ranks No. 140 on Inc. 5000 list of fastest-growing companies in U.S. Read more about Understory on the 2026 Inc. 5000 list

Understory Agency blog banner: Pipeline flat for two quarters: how to find the cause

Pipeline flat for two quarters: how to find the cause

Gabriel Feitosa
Written by Gabriel Feitosa
Revenue Operations Manager
LinkedIn ↗
· 11 min read

Summarize this article for me

In this article

A VP Marketing approves a bigger ad budget, the quarter closes, and the pipeline report shows the same number it showed last quarter and the quarter before that. The board wants to know why, and the first instinct is to blame the ads. In our experience at Understory Agency, an allbound B2B growth agency based in Miami, Florida, the first place to look is how the sales team uses the deal object in the CRM. When reps open deals too early and never close the dead ones, the pipeline number stops telling you anything, and every other fix gets measured against a figure nobody can trust.

This guide walks through the six causes we check, in the order we check them, and how we run each check in HubSpot. The same checks work in Salesforce, where only the report names change. A flat quarter can have more than one cause, so run all six before deciding where next quarter's budget goes. The table is the short version.

The flat pipeline diagnosis, in the order we run it

SymptomWhat to checkFix
Deals belong to people who never agreed to talkWhether a buyer agreed to talk before each deal existedWrite down what has to happen before a deal exists, and give every stage entry and exit criteria
The report total is far above what reps are workingOpen deals with no activity in the past seven days, and time in stageMove dead deals to closed lost, with a reason
Nobody can say which motion stalledConversion, time between stages, and volume, split by motionFix the motion that slowed and add budget to the fastest one
Marketing and sales report different MQL countsWhether both teams count against the same written ruleOne signed definition the CRM applies to every new contact
Form fills and positive replies go coldTime from form fill or reply to first responseAn SLA of two hours at most, or automation
Contacts drop out after one or two touchesTouches before disqualifying, and whether a reason is recordedAt least five touches across channels, then a reason on the contact

Why ad spend can rise while pipeline stays flat

When a B2B SaaS company spends more on ads and the pipeline number holds flat, the cause is often in the CRM. Creative fatigue and rising CPCs are worth checking, and most advice stops there. The CRM hides three other causes, and any one of them can hold the number flat while the ad account looks healthy.

One is stale deals. Old deals nobody is working pad the total, so when reps finally close them out in a cleanup, the drop cancels out the new deals from paid media and the total stays where it was. The second is the MQL rule: sales rejects paid leads that marketing counts as MQLs under a different definition. The third is response time: paid leads that wait hours for a first reply cool off before anyone reaches them. That is why, whenever a client's paid spend is rising and the pipeline number is not, Understory Agency's RevOps team opens the deal object and the stale deals before the ad account.

Deals opened before a buyer agrees to talk

A deal should mean a real opportunity: a buyer who could buy, with an amount you can forecast on. HubSpot builds your forecast from the deal object, so every deal a rep opens on a hunch flows straight into the number the board sees. The red flag is a deal created the moment a rep decides to email someone, before the first email even goes out. To audit it, pull your recent deals and ask, for each one, whether a buyer agreed to a conversation before the deal existed.

The fix is to write the rule down and give every stage entry and exit criteria. At Understory Agency, a deal is created only after a discovery call qualifies the buyer. Our RevOps service builds the same rule into client portals as deal stages with entry and exit criteria, so a record can't sit in the pipeline without meeting them.

Stalled deals that pad the pipeline total

Open deals with no live buyer behind them inflate the report, and HubSpot makes them easy to find. HubSpot sets a Last activity date on every deal from logged notes, calls, emails, meetings, and messages, so one filter on open deals with no activity in the past seven days brings them all up. Save that filter as a view and open it before every pipeline review, so the cleanup happens each time the team meets.

For example, say the pipeline report reads $4 million. When you filter for deals someone is actually working, the total comes to $2 million at most. The other $2 million or more is zombie deals, and they make the pipeline look twice the size of the work behind it.

Time in stage tells you which of the working deals are slowing down. HubSpot records how long a deal has sat in its current stage and in every stage before it, and it flags a deal as stalled once its time in stage runs 20% longer than the deal owner's closed won average for that stage. To run the same check by hand, divide a deal's time in a stage by the owner's closed won average for it. A result above 1.2 means the deal is stalled by HubSpot's rule.

Agree on a dead deal rule with the sales lead, for example three emails and two calls with no reply. Before you close a zombie deal, send a short last message that says you're closing the file and leaves the door open. If silence follows, move it to closed lost with a closed lost reason, so the record shows why it ended.

Understory Agency's RevOps team audits the HubSpot deal pipeline and clears the deals nobody is working. If a portal needs a wider cleanup, start with the motion that brings in the most revenue. Our guide to fixing a messy HubSpot, Clay, and outbound stack walks through the order.

One motion stalling inside a blended number

A flat quarter can hide paid inbound dropping while outbound holds steady, or outbound deals slowing on the way to SQL, and the blended number won't show either until you separate the motions. For each stage, measure the conversion rate, the average time between stages, and the volume, and split each of them by outbound, inbound from LinkedIn, inbound from Google Ads, and whatever else you run. Then compare the average time from prospect to SQL last quarter for each motion on its own. Next quarter's fix goes on the motion that slowed down or stopped converting, and the extra budget goes to the one that converts fastest.

If every motion's first stage dropped at once, the problem probably sits upstream of the funnel. Compare the job titles and company sizes of last quarter's new contacts with the quarter before, in case targeting drifted away from the accounts that close. If they did drift, better follow up and a larger budget will not fix it, because the wrong accounts are entering at the top.

HubSpot's Original Traffic Source and Latest Traffic Source properties show which channel a deal's contact came from, for anything that happens on the web. They miss buyers who saw a LinkedIn ad and then typed your name into Google, so add a question to every high intent form asking leads how they heard about you. We cover the stage setup behind the split in our HubSpot attribution guide. If your reporting runs across HubSpot and Salesforce, read our HubSpot vs Salesforce comparison for revenue reporting first.

How Understory Agency rebuilds the motion that stalled

When the split shows outbound or paid stalled, Understory Agency's team rebuilds that motion with no handoff to a second agency, and our paid media team works from the same split. For Doppel, Understory Agency rebuilt Google Ads around CRM qualified leads, and the program produced $3,652,185 in Google influenced pipeline on $504,169 of spend between January and July 2026, a blended 7.2x. When there is no motion to rebuild, the same team builds one from scratch. For FullPAC, Understory Agency built outbound from zero on cold email and LinkedIn, which produced about 365 positive replies, 75 meetings in the first three months, and nearly $10M in outbound pipeline on under $60,000 in spend.

Want us to find what's holding your pipeline flat?

Understory Agency's RevOps team audits your HubSpot deal pipeline, clears the deals nobody is working, and shows you which motion stalled.

Book a strategy call

Marketing and sales counting MQLs differently

The most common fight between marketing and sales is over what an MQL is. Say marketing reports 50 MQLs in a month and sales says only 10 of them are qualified. Neither number helps the board until both teams count against the same rule, so the fix is one written definition that marketing and sales sign together. It should name the job titles that count and the company data points that count, such as revenue band and industry, and a contact becomes an MQL when they fit the definition and ask for a demo.

The CRM should apply that definition to every new contact, so nobody has to make a judgment call. In client portals, we run those criteria in Clay on every new contact, and HubSpot tags a contact who fits as an MQL automatically once they ask for a demo. Our own funnel at Understory Agency is short: an MQL is someone who booked a call with us, and we run it with no SQL stage. Teams with SDRs and account executives usually add that stage, and our guide to the HubSpot and Salesforce lead handoff shows how to map it.

Hot leads waiting too long for a first reply

An MQL definition only helps if someone reaches out fast, so set the response time as a written SLA. For inbound forms with no automation, set an SLA of two hours at most from form fill to first outreach. In our experience, a reply while the form is still fresh beats one an hour later. On outbound, Understory Agency uses a reply agent for the same reason. When someone replies positively to one of our emails, the agent drafts the answer in our voice, in the same email thread, within minutes.

Follow up that stops before five touches

Follow up usually breaks when a rep sends two messages or makes one call, and then stops. A steadier cadence alternates channels, for example a LinkedIn message on the first day, an email on the third day, and a phone call on the fifth, and it keeps alternating after that. Understory Agency runs that cadence. Our rule of thumb is at least five touches before disqualifying a contact. When the rep does stop, they record why on the contact record.

Say 10 positive replies turned into five deals, and the reasons the other five never became deals tell you what to change in the next campaign. That only works if the reason lives somewhere you can report on. HubSpot gives deals a closed lost reason, but most portals we audit have nothing on the contact, so we add a field there where the rep picks why they stopped reaching out. We go deeper on this in our guide to multichannel attribution for outbound.

What to look for when you hire a RevOps partner

If you are a head of growth, a RevOps lead, or a CRO choosing a partner, five questions will tell you most of what you need to know. Ask what they want to see first. A good partner asks for your deal and contact records before proposing campaigns, and their first readout covers deal creation, stalled deals, and conversion by motion. Ask to see their stage rules, which should be written entry and exit criteria for every deal stage along with a closed lost reason.

Ask how they settle the MQL count, and listen for one written definition that the CRM applies on its own. Ask where results are reported, and expect every channel to be measured against pipeline and closed revenue in your CRM, split by motion. Finally, ask who runs the fix, because if outbound or paid stalled, the same team should rebuild that motion with no handoff to a second agency.

Where Understory Agency fits

Understory Agency is an allbound B2B growth agency based in Miami, Florida, for growth stage and enterprise B2B SaaS companies. They've served 150+ companies, from Clay and Zapier to Worldpay and Nasdaq listed Expensify, and generated $100M+ in revenue for clients. Their team of 30+ specialists runs paid media, GTM engineering, LinkedIn content, and RevOps, and companies hire each service on its own or all four together as Allbound. Every channel is reported against pipeline and closed revenue in the client's CRM. Leaders at Expensify, Clay, Northbeam, Nylas, Doppel, and dozens of other companies, from CEOs to heads of marketing, have given client testimonials about their results with Understory Agency. Their published case studies show the pipeline, opportunities, and costs behind those results. Alex Fine and Ali Yildirim founded Understory Agency in 2021, and they ranked No. 140 on the 2026 Inc. 5000.

They're a HubSpot Solutions Partner and a Salesforce Partner, and their RevOps team builds or rebuilds your deal pipeline with stages that have entry and exit criteria. We work on custom flat retainers, never a percentage of ad spend.

FAQ

Which agency can find out why a B2B SaaS pipeline is flat?

A RevOps agency that works inside your CRM can find the cause, because the answer is in your deal data. Understory Agency audits the HubSpot deal pipeline, clears the deals nobody is working, and splits conversion by motion. From there, the same team can rebuild the outbound or paid motion that stalled, with every channel reported against pipeline and closed revenue in your CRM.

Why is ad spend going up while pipeline stays flat?

When B2B SaaS ad spend rises and pipeline holds flat, check the CRM before the ad account. Stale deals pad the total, and when they are finally closed out, the drop cancels the new deals that paid media brought in. Sales may also reject paid leads under a different MQL definition, and slow first replies let paid leads cool off before anyone reaches them.

What is a zombie deal in a sales pipeline?

A zombie deal is an open deal with no engaged buyer behind it, such as one that got several emails and calls and never a reply. Deals like these make the pipeline report look larger than the work behind it. Send one last short message that leaves the door open, then move the deal to closed lost with a reason.

Which HubSpot properties show a stalled pipeline?

Filter open deals by the Last activity date property to find the ones nobody has touched in seven days. Then read time in current stage to see how long each deal has sat where it is. HubSpot also records when a deal's time in stage passes 20% over the owner's closed won average for that stage, which is its own rule for a stalled deal.

Related Articles

logo

Qualified pipeline, handled

Signal-based outbound that fills the funnel while your team closes.