A broken Google Ads conversion tracking setup is one of the most common and most expensive problems in B2B SaaS advertising. This is the story of a SaaS marketing team running around $40K per month in Google Ads spend that discovered their strong reported ROAS was masking a pipeline that was quietly falling apart. Their Google Ads dashboard showed healthy returns. Their CRM told a different story. The gap between what Google reported and what actually closed as revenue had been growing for months, but no one caught it because the surface metrics looked fine. After a full conversion tracking audit, a rebuild of their conversion architecture, and a switch from target ROAS to target CPA bidding with offline conversion import, pipeline from Google Ads doubled within 60 days without increasing spend. Here is how it happened, what broke, and what other SaaS teams should learn from it.
The Situation: A Growing B2B SaaS With A Google Ads Problem
Account Size, Spend, And Campaign Mix At The Start
The company sold a mid-market B2B SaaS product with an average contract value in the low five figures and a sales cycle that typically ran 30 to 45 days from first touch to closed-won. Their Google Ads account had been running for about two years. Monthly spend sat at roughly $40K, split across branded search, non-branded search, and a Performance Max campaign that had been added six months earlier. The team was three people: a head of demand gen, a performance marketer who managed the account day to day, and a marketing ops person who handled the CRM and reporting stack.
What The Team Had Tried And Why It Stalled
They had done most of the things you would expect a competent team to do. They tested ad copy, ran experiments with landing page variants, segmented campaigns by intent tier, and worked through several rounds of negative keyword cleanup. Performance had improved in year one. But over the past two quarters, despite stable or slightly increasing spend, the pipeline sourced from Google Ads had flattened. The head of demand gen described it as “running faster to stay in place.”
The Core Tension: ROAS Reporting Vs. Pipeline Reality
Here is where it got interesting. Google Ads was reporting a target ROAS that looked strong. The account consistently hit or exceeded the team’s ROAS target. But when the head of demand gen pulled a report from their CRM showing pipeline and closed revenue attributed to Google Ads over the same period, the numbers did not match. Google said the campaigns were working. The pipeline said otherwise. For months, the team assumed the discrepancy was just normal attribution lag. It was not.
The Problem: Optimizing For The Wrong Conversion Goal
Why tROAS Was The Wrong Bidding Goal For This Business
Target ROAS bidding optimizes toward conversion value as reported to Google. For ecommerce, where a purchase fires immediately and has a clear dollar value, this works well. For B2B SaaS with a multi-week sales cycle and revenue that closes in a CRM, not on a website, tROAS is optimizing against a proxy at best and a fiction at worst. This team had assigned static conversion values to form submissions and demo requests. Google’s algorithm was optimizing to maximize the total value of those form fills. But a demo request is not revenue. It is a hand-raise. The algorithm had no visibility into which demo requests actually became pipeline, let alone which ones closed. It was getting exactly what it was asked to get: more form fills at a favorable reported value. The problem was that “favorable reported value” had nothing to do with actual business outcomes. For a deeper look at how SaaS companies fall into this trap, this guide covers eight of the most common Google Ads mistakes SaaS teams keep making.
How The Attribution Gap Between Google Ads And CRM Created False Confidence
The gap was structural. Google Ads counted a conversion whenever someone submitted a demo request form. The CRM counted pipeline when a sales rep qualified that lead and moved it to an opportunity stage. These were two different events, happening days or weeks apart, measured by two different systems with no feedback loop between them. Because the team was optimizing and reporting against the Google Ads conversion data, they were making decisions based on a metric that had drifted away from the business outcome it was supposed to represent.
The Specific Moment When The Gap Became Undeniable
The breaking point came during a quarterly business review. The CFO asked a simple question: “Google Ads spend is up 15% year over year. Pipeline from Google Ads is flat. What is going on?” The demand gen lead pulled the data side by side and could not reconcile the two stories. Google Ads said the account was performing better than ever. The CRM said it was not. That was the moment the team stopped trusting the dashboard and started auditing.
The Diagnosis: Conversion Tracking Was Lying
Enhanced Conversions Were Not Set Up Correctly
The first thing the team found was that enhanced conversions, which Google uses to improve attribution accuracy by matching first-party data like email addresses back to ad clicks, were technically enabled but not functioning correctly. The hashed email parameter was not being passed on the confirmation page for one of their two main form types. This meant roughly half their conversions were being modeled rather than matched, which degraded the signal Google’s algorithm was learning from.
GA4 And Google Ads Were Counting Different Things
The second problem was a mismatch between GA4 and Google Ads conversion counting. The team had imported GA4 events into Google Ads as conversion actions, but they had also kept a legacy Google Ads conversion tag firing on the same form. This meant some conversions were being double-counted. Worse, the GA4 event used a different attribution window than the Google Ads tag, so the same form submission could show up as one conversion in one system and two in another. The team had never reconciled the two because the aggregate numbers “looked about right.”
What The Account Looked Like After A Real Tracking Audit
After a week of auditing, the picture was clear. Roughly 30% of reported conversions were either duplicates, modeled from incomplete data, or misattributed. The effective cost per qualified lead was significantly higher than what the dashboard showed. And Google’s bidding algorithm, which had been fed this inflated conversion data for months, had learned to optimize for a signal that did not reflect reality. It was not that the algorithm was broken. It was doing exactly what the data told it to do. The data was just wrong.
The Fix: Switching To CPA Bidding With Offline Conversion Import
How The Team Rebuilt The Conversion Architecture
The first step was cleaning the conversion setup. They removed the duplicate GA4-imported conversion action, fixed the enhanced conversion implementation so hashed email data passed correctly on all form types, and consolidated down to a single primary conversion action in Google Ads. Then they built an offline conversion import pipeline. When a lead reached the “Sales Qualified” stage in their CRM, that event was pushed back to Google Ads via the Google Ads API, matched to the original click ID (gclid) stored at form submission. This gave Google’s algorithm a downstream signal tied to actual pipeline, not just form fills.
Why They Moved From tROAS To tCPA As The Primary Bidding Goal
With the new conversion architecture in place, target ROAS no longer made sense. The team was not assigning revenue values to conversions. Instead, they were telling Google: “This is what a qualified lead looks like. Optimize to get more of them at this cost.” Target CPA was the natural fit. They set an initial CPA target based on their historical cost per SQL from CRM data, with some headroom built in because they expected the learning phase to be bumpy. This is one of the most important strategic decisions for SaaS lead generation through Google Ads, and getting it wrong can stall an account for months.
The Learning Phase Reset And How They Managed Through It
Changing the primary conversion action and the bidding strategy triggered a full learning phase reset. For the first two weeks, CPA spiked and volume dropped. The performance marketer’s instinct was to intervene, to lower bids, pause underperforming campaigns, or revert. They did not. They held the line, maintained budgets, and let the algorithm re-learn against the new signal. They did make one tactical adjustment: they temporarily increased the CPA target by about 20% during the learning phase to give the algorithm room to explore, then tightened it back down once conversions stabilized. Understanding how to manage through learning phase disruption is critical here, because panicking during this window is how most teams undo the fix before it has a chance to work.
The Result: Pipeline Clarity And Lower CPL Without Reducing Spend
What Changed In The Metrics After 60 Days
After 60 days on the new setup, the numbers had shifted materially. Total form submissions from Google Ads actually dropped by about 15%. But qualified pipeline from Google Ads roughly doubled compared to the prior quarter. Cost per SQL fell significantly. The reason was straightforward: Google’s algorithm was no longer chasing low-intent form fills. It was optimizing for the leads that actually moved through the funnel. Fewer leads, but the right leads.
How The Sales Team Responded To The Change In Lead Quality
The sales team noticed before the marketing team did. Within the first month, two reps independently mentioned that “the Google leads got better.” Conversion rates from demo to opportunity improved. The average deal size from Google Ads sourced leads held steady, which meant the pipeline increase was real volume growth, not an artifact of counting differently.
The Lesson For Other SaaS Teams Running Google Ads
The lesson is uncomfortable but important: if your Google Ads reporting and your CRM reporting tell different stories about the same campaigns, one of them is wrong. And if you are making bidding, budget, and strategy decisions based on the wrong one, you are optimizing your account into a wall. For B2B SaaS specifically, CPA vs ROAS is not a philosophical debate. It is a structural question about whether Google’s algorithm has access to a signal that actually represents your business outcome. If revenue closes in a CRM weeks after the click, the algorithm needs that downstream signal. Without it, you are flying blind and calling it optimization.
How groas Handles Conversion Architecture In DWY Accounts
This is the kind of problem that groas’s Done With You product is built to catch early. In a DWY engagement, the proprietary engine runs underneath your account doing the heavy lifting, but a senior strategist works alongside your team and audits exactly these structural issues: conversion tracking hygiene, bidding strategy alignment, attribution gaps between Google Ads and your CRM. The engine, trained on over $500 billion in profitable ad spend, flags patterns that indicate signal degradation, like rising conversion volume paired with flat or declining downstream metrics.
Your team stays in control. You make the calls. But you are making them with a strategist who has seen this failure pattern across hundreds of accounts and an engine that does not sleep, does not miss data discrepancies, and does not wait for a quarterly business review to notice that pipeline does not match what the dashboard says.
For SaaS teams running Google Ads in-house, the DWY model means you keep your people, your process, and your institutional knowledge. groas adds the engine and the senior advisory layer that most in-house teams cannot replicate on their own. No onboarding fees. Month-to-month, cancel anytime. A weekly report on exactly what was done, and a strategy call every other week to stay aligned.
If you suspect your own conversion tracking is telling you a story that does not match what your CRM says, or if you are running tROAS on a B2B SaaS account and have never questioned whether that is the right bidding strategy, those are signals worth investigating. The team in this story lost at least two quarters of pipeline growth to a problem that was hiding in plain sight.
The fix was not complicated. The diagnosis was the hard part. And having someone alongside your team whose job is to catch exactly this kind of structural issue before it costs you two quarters is the difference between the DWY model and doing it alone.
If your in-house team runs Google Ads and you want the engine plus a senior strategist without giving up the driver’s seat, get started with groas and see what your account looks like when the data is actually right.




