Most B2B SaaS teams scale paid spend before they understand which channels actually produce sales-qualified leads. The result is a bloated budget, a CRM full of form fills that never convert, and a revenue team that stops trusting marketing numbers. This is a breakdown of how a mid-market project management SaaS cut its cost-per-SQL from $1,240 to $570 in 90 days, not by changing its ad creative, but by rebuilding the attribution layer first.
The Starting Point: Leads That Looked Good on Paper
The client was spending $42,000 per month across Google Search and LinkedIn, generating roughly 180 form fills monthly. Their CRM reported a 22% MQL-to-SQL conversion rate, which looked reasonable, but the sales team consistently flagged that most pipeline came from a much smaller set of inbound leads. The disconnect was attribution: every conversion was being credited to the last ad click, which was almost always a branded Google search. This made branded search look like the top performer when it was simply the final step in a longer journey.
When we audited the account, we found that 63% of SQLs had touched a LinkedIn Sponsored Content ad or an organic blog post at least two sessions before converting. None of that touchpoint data was flowing into the bidding model. Google's Smart Bidding was optimising toward cheap branded clicks rather than toward the lead types that actually closed, which is a pattern we cover in more detail in our analysis of why Google Ads don't generate quality leads.
Phase 1: Fixing the Attribution Model Before Touching Bids
The first intervention was a 30-day freeze on budget changes. Instead, we connected HubSpot CRM to Google Ads via the offline conversion import API, passing SQL and closed-won signals back with a 14-day delay to match the actual sales cycle. We also layered in a data-driven attribution model in GA4 rather than last-click, which redistributed credit across the full path. According to Google's documentation on conversion tracking, importing offline conversions tied to actual revenue events is one of the highest-leverage changes available for B2B advertisers.
The attribution rebuild revealed three things immediately. First, LinkedIn Conversation Ads were driving 28% of first touches for leads that eventually became SQLs, but were being credited with zero conversions. Second, two blog-assisted paths involving bottom-of-funnel SEO content were initiating 19% of the SQL pipeline. Third, one Google Search campaign targeting broad competitor keywords was generating 34 conversions per month in last-click data but only 4 SQLs in the 90-day window. We cut that campaign's budget by 70% in week five.
What the Data Said About Channel Contribution
Once real SQL data was flowing into the bidding model, the channel picture shifted sharply. LinkedIn cost-per-SQL dropped from an estimated $3,100 (based on last-click) to $890 in the data-driven model, because it was now receiving partial credit for the pipeline it was genuinely initiating. Google Search cost-per-SQL rose from a reported $480 to $1,050 once branded assist inflation was removed from the numbers. The total blended cost-per-SQL across both channels dropped from $1,240 to $570 because budget moved toward what was actually working.
This kind of recalibration is only possible when you treat multi-touch attribution as a prerequisite to scaling B2B ROI, not as a reporting exercise done after the fact. The key metrics we tracked across the 90-day period are listed below.
- Cost-per-SQL (blended): $1,240 to $570, a 54% reduction
- LinkedIn first-touch SQL contribution: 0% credited to 28% credited
- MQL-to-SQL rate: 22% to 31% (better lead quality from adjusted bidding)
- Monthly SQLs generated: 40 to 61, with the same $42,000 budget
- Branded keyword share of budget: reduced from 41% to 18%
Landing Page Changes That Supported the Shift
Fixing attribution exposed a secondary problem: the landing pages receiving LinkedIn traffic were built for a broad audience and asked for a demo immediately. Visitors arriving via LinkedIn Sponsored Content were typically earlier in the buying process, and a hard demo CTA converted at 1.2% on that traffic. We created a separate landing page variant offering a free benchmark report instead, which lifted conversion rate to 4.7% on the same LinkedIn audience. The page structure followed the same principles we outline in our guide on why B2B landing pages don't convert, specifically around matching offer depth to audience intent.
The benchmark report also served a qualification function. Leads who downloaded it and then booked a follow-up call converted to SQL at 48%, compared to 19% for cold demo requests from the same channel. This confirmed that the attribution problem was partly masking a funnel-stage mismatch: LinkedIn was being asked to do the job of a bottom-of-funnel channel when it performs better as a mid-funnel nurture driver.
What Made This Reproducible
The changes that produced these results were structural, not tactical. Offline conversion imports, data-driven attribution in GA4, and CRM-to-ads signal syncing are available to any B2B advertiser running Google Ads with a connected CRM. The reason most teams don't implement them is that they require coordination between marketing operations, sales, and the paid media team, which is harder than adjusting a bid strategy. The payoff is that Smart Bidding starts optimising toward revenue-generating behaviour instead of cheap clicks.
The three-month timeline matters too. Attribution models need at least 30 conversions per month to train reliably, and SQL signals take time to accumulate. If you audit this setup at week three, the numbers look messy. By week ten, the signal is clean enough that the algorithm starts making materially better decisions without any manual bid intervention. Patience in the data-collection phase is what separates teams that see results from those that give up and revert to last-click reporting.