← All case studies
Case study · Paid media system rebuild

Fixing Google Ads: from zero SQLs to a clean, intent-driven pipeline.

The challenge: five-figure ad spend, zero SQLs

When I inherited Google Ads, it wasn’t a handoff. It was a beeping object in the corner of the room. We were investing five figures a month in paid search, generating traffic but no sales-qualified leads. Landing pages were mismatched, intent was ignored, and a bot attack had corrupted the data decisions were being made on. This wasn’t a creative problem. It was a system problem.

$4.8MPaid search pipeline
+260%Generic search CTR after moving to intent clusters
+650%Generic search conversion rate after aligning ads → pages → case studies
−35%Cost per conversion, with no added ad spend
100%Of corrupted Q3 data isolated and quarantined

The real problem

It looked like an ad problem. It was a system failure.

By the time I took full ownership of Google Ads, the channel looked “fine” on the surface: strong CTRs, steady spend, and plenty of traffic. But none of it converted into SQLs. Not one.

Campaigns were optimized for a buying environment that no longer existed. Landing pages didn’t match keyword intent. Case studies, the single biggest predictor of SQL behavior, weren’t in the paid path at all. We were paying for attention, but not giving prospects what they needed to make decisions.

Then Q3 made everything worse. A bot attack quietly flooded our demo forms, inflating MQL counts and corrupting our attribution. The CRM logic we inherited was auto-tagging every form submission as an MQL, whether someone downloaded a guide or actually booked a demo. So the “positive” months were inflated, and Sales was drowning in unqualified noise.

When I dismantled that thing, man, did it come tumbling down. But as of the handoff, numbers were on the come-up. Targeting logic was sound, paths were matched to intent, and the expectation was that Q1 2026 would be robust, though a different kind of robust than Q1 2025.

“It wasn’t that the ads broke. The market changed, fast, and the ads didn’t change with it.”

The Builder’s Log, Q1

Context + approach

Traffic without decisions.

Context

What I walked into

  • Five-figure monthly ad spend → zero SQLs.
  • ~40 ads covering unrelated verticals (beauty → B2B), all pointing to two generic landing pages.
  • CTR benchmarks looked “fine,” but nothing was converting beyond form fills.
  • Segmented signup pages built in November–January were never used in active campaigns.
  • Case studies weren’t part of the decision path, even though Sales relied on them heavily.
  • Buyer intent had shifted economically, but the ads were still optimized for the old buying environment.
My approach

What needed to change

  • Reverse-engineer why a formerly stable channel stopped producing SQLs in Q1.
  • Shift from keyword-driven campaigns to intent clusters aligned with new buyer priorities.
  • Align ad messaging with what Sales was actually hearing on calls (ROI, pilots, proof).
  • Rebuild landing pages so they help prospects make decisions, not just capture traffic.
  • Pull case studies into the conversion path, since every SQL touched proof content before converting.
  • Standardize ad → page → case study flows around the actual decision journey.

How it played out

Five phases, one system reboot.

Phase 1 · Diagnose the collapse

Velocity was masking misalignment

In Q1, performance didn’t drop because of budgets or creative fatigue. It dropped because buyer priorities changed overnight. What used to work (trend-forward messaging, influencer-first framing, broad landing pages) no longer matched what prospects cared about.

  • Identified that prospects now prioritized ROI, pilots, and proof, not trend participation.
  • Found 40+ mixed-topic ads pointing to two pages that no longer matched intent.
  • Realized the new ICP behavior wasn’t reflected anywhere in ad copy or landing pages.
  • Traced SQL paths and discovered every converting prospect viewed a case study first.
  • Confirmed the “drop” wasn’t a technical issue. It was a message-market misalignment.
Phase 2 · Rebuild around intent

Make the ads deliver proof early

Once the disconnect was clear, I rebuilt the entire paid strategy around what prospects now needed to believe: that the agency could deliver measurable outcomes. The ads didn’t need to be “catchy.” They needed to be true and aligned with decision-making.

  • Shifted from keyword groups to intent clusters tied to real buyer questions.
  • Analyzed 24 calls linked to lost deals to extract objections and misunderstandings.
  • Used AI to turn those patterns into a messaging matrix for ads and landing pages.
  • Matched ads to the correct landing pages and updated flows to include case studies.
  • Introduced pre-qualification and proof-driven framing to align expectations.
Phase 3 · Rebuild the proof layer

Integrate case studies into the funnel

Every SQL was consulting a case study before converting, but our landing pages didn’t reflect that. I rebuilt the funnel so prospects saw proof before they scheduled calls, not after.

  • Reworked landing pages to highlight outcomes, case studies, and decision-support content.
  • Integrated modular case study previews directly into paid flows.
  • Retired outdated landing pages that promised the wrong things.
  • Built aligned narratives across ad → page → case study → CTA.
  • Prepared the channel for the next phase of the rebuild, including the later bot-attack cleanup.
Phase 4 · Clean the data layer (Q3)

Separate signal from noise

By Q3, the strategy was right, but the data was lying. Form submissions were up, but SQLs weren’t. The problem wasn’t performance. It was measurement.

  • Identified a bot attack that had inflated MQL counts and corrupted conversion tracking.
  • Audited the entire data pipeline to separate real prospect behavior from bot noise.
  • Rebuilt tracking and validation so the system optimized on truth, not vanity metrics.
  • Confirmed the market had shifted again, with prospects now prioritizing speed, proof, and compliance.
  • Rebaselined reporting so leadership could make decisions on clean data going into Q4.
Phase 5 · Rewire the system (late Q3 → Nov 7)

Align the entire funnel on intent

Once the data was clean, I rebuilt the conversion architecture so every part of the system (ads, pages, forms, and CRM logic) agreed on what “high intent” actually looked like.

  • Simplified the form ecosystem so only genuine buying signals triggered MQLs.
  • Rewrote landing pages to match what prospects were actually asking about on sales calls.
  • Realigned branded and generic search campaigns to route traffic by intent, not keywords.
  • Fixed CRM routing so Sales could immediately tell “ready to talk” from “just browsing.”
  • Handed off a system where ads, pages, proof, and pipeline logic finally told the same story.

Key learnings

What I learned rebuilding this channel.

This wasn’t a story about “fixing some ads.” It was a full system reboot. Here’s what I’d want another marketing lead to know before they inherit a noisy, underperforming paid channel.

01

Performance problems are usually system problems.

On paper, the ads looked fine. CTRs were at or above benchmark, spend was steady, and there was traffic. But there were zero SQLs. The real issue wasn’t headlines or CPC. It was a broken system: mismatched landing pages, bad routing, no intent separation, and bots polluting the data layer.

02

Intent beats keywords every time.

The campaigns were organized around keywords. The buyers were making decisions around intent. Once I rebuilt the structure around intent clusters (pilots, ROI proof, Q4 urgency, compliance), CTR and conversion rate jumped without increasing spend.

03

Proof has to show up before the form, not after.

Every SQL we closed had touched a case study. None of the landing pages reflected that. As soon as I rebuilt flows so proof lived before the CTA, not buried in a resource center, the channel started behaving like a decision engine instead of a traffic faucet.

04

Clean data is a prerequisite for good strategy.

The bot attack in Q3 didn’t just inflate our form fills. It distorted how the team talked about performance. Until I cleaned the data, quarantined corrupted periods, and rebuilt MQL logic, every decision was being made on a funhouse-mirror version of reality.

05

Not every form fill deserves to be an MQL.

Before the rebuild, every form submission was auto-promoted to MQL. That made the funnel look full, but it diluted Sales’ time and hid the fact that paid search wasn’t generating sales-qualified conversations. Fixing the MQL rules, and separating demo forms from downloads, made the pipeline honest again.

06

Branded and generic search are different jobs.

Branded search is mid-funnel. Generic search is discovery and comparison. Treating them the same was killing performance. Once branded campaigns were routed to proof-heavy demo pages and generic campaigns to intent-matched landing pages, the channel finally started pulling its weight.

07

SQLs lag behind fixes, and that’s okay.

By the time I handed this off in early November, the ads and landing pages were performing, but the SQL count hadn’t caught up yet. That’s not failure. That’s the reality of six-figure B2B cycles. Q4 was the planting season. Q1 is when the new, clean pipeline would start showing up in the sales dashboard.

08

The real win was a predictable, honest system.

The real outcome wasn’t just “better metrics.” It was a paid search engine leadership could finally trust: clear intent paths, honest conversion data, and a funnel designed to turn search demand into SQLs on purpose, not by accident.

Paying for traffic that never turns into pipeline?

Let’s find where the system is breaking, and rebuild it around how your buyers actually decide.