← All posts
28 September 2026

When Smart Bidding Breaks: A SaaS Google Ads Audit

If your Google Ads account “looks busy” but CAC will not come down, it is often not a creative problem. It is usually measurement plus bidding running on the wrong signals.

Introduction

This case study is based on a recent Google Ads audit for a growth focused advertiser. Think B2C or B2B SaaS with a clear purchase or signup outcome, aggressive growth targets, and a team that has been “doing the right things” like running multiple campaign types and leaning on Smart Bidding.

On the surface, the account had conversions. Some campaigns even showed strong CPAs. But the overall cost per selected outcome was above target, and the system kept spending meaningful budget in places that produced zero goal aligned conversions.

Anonymized dashboard snapshot showing CPA vs target over last 30 days
Anonymized dashboard snapshot showing CPA vs target over last 30 days

Symptoms we saw (and you might recognize):

  • The primary KPI (selected action CPA) sat meaningfully above target over the last 30 days
  • A couple of campaigns looked “efficient”, masking large pockets of waste
  • Several campaigns and segments spent past the account’s CPA threshold without producing the intended business outcome
  • Smart Bidding was widely deployed, but conversion volume on the true goal was not stable enough to support it
Key takeaway: when measurement is noisy, Smart Bidding does not get “a bit worse”. It can optimize confidently in the wrong direction.

The audit setup: what we evaluated (and why it matters)

We evaluated the account using a Purchase or primary conversion lens over the last 30 days, focusing on two questions SaaS founders should care about:

  1. Is Google receiving clean, accurate conversion data for the business outcome you actually want?
  2. Is the bidding strategy appropriate for the amount and quality of conversion data available?

In this audit, the “growth score” and issue count were not just slightly off. The account showed a broken pattern: high severity issues clustered around attribution, conversion tracking integrity, and Smart Bidding health.

Simple diagram of “Signal quality → Bidding decisions → Spend allocation”
Simple diagram of “Signal quality → Bidding decisions → Spend allocation”

What the audit revealed (in plain English)

The account did not have one problem. It had a chain reaction.

Here is the simplified diagnosis:

  1. Conversion signals were polluted (too many primaries, and low intent events were treated like success).
  2. A key attribution bridge was inactive (a partner postback connection was not sending app events back to Google Ads).
  3. Smart Bidding was asked to do precision work with unreliable data (many campaigns on tCPA, Max Conversions, and even tROAS without enough real conversions).
  4. Budget leaked into keywords, devices, and campaigns that had already “failed” (spent beyond the target CPA threshold with zero goal aligned conversions).

The result was predictable: some campaigns looked good, but the blended outcome was inefficient, and the system kept exploring expensive dead ends.

Key takeaway: you cannot out optimize broken measurement. Fix the signal first, then fix bidding.

Root cause #1: attribution postbacks were effectively silent

One of the most damaging issues was that a mobile measurement partner style integration (for example, AppsFlyer) appeared active on its own, but Google Ads was not receiving the partner’s postbacks.

This matters if you are a SaaS founder running app install plus subscription flows, or even hybrid web to app journeys. When Google cannot see downstream events, it will optimize to the nearest proxy it can find, often the cheapest install, the fastest click, or the easiest on platform action.

What this looks like in the wild:

  • Google Ads shows conversion actions configured for app events
  • The attribution partner shows the app is tracking installs and events
  • But the partner shows no Google Ads attributed events, or postbacks are not firing
  • Smart Bidding starts acting “random” because it is not learning from real outcomes

Practical fix checklist (generalized):

  1. In your MMP, confirm Google Ads is enabled as a partner and not paused.
  2. Ensure install and key in app events have postbacks turned on.
  3. Verify the correct Google Ads customer ID is linked.
  4. Confirm the right events are mapped, including value parameters if you use ROAS.
  5. Validate in Google Ads that events are arriving consistently before changing bidding.
Flow chart of “In app event → MMP → Google Ads conversion action”
Flow chart of “In app event → MMP → Google Ads conversion action”

Root cause #2: too many “primary” conversions (and some were low intent)

The account had more primary conversions active than recommended. In SaaS, this is common when teams mark everything as a conversion: page views, session starts, button clicks, signups, trials, purchases, upgrades.

The problem is not that those events are useless. The problem is that Smart Bidding treats primary conversions as the goal.

If you give Google six different “success” definitions, it will average across them. It will often chase the easiest ones, which are usually the least valuable.

Even worse, the audit surfaced a classic mistake: a low intent analytics event such as session_start was flagged as a conversion in GA4. That can inflate conversion counts, lower reported CPA, and completely distort bidding.

What to do instead:

  • Keep 1 to 3 primary conversions that map to real revenue intent
  • Move micro conversions to secondary (still tracked, not bid to)
  • Audit GA4 conversion flags and remove anything that triggers too easily

Example SaaS primary conversion set (generalized):

  • Trial started (if trial to paid is strong and consistent)
  • Paid subscription (best if volume allows)
  • Sales qualified lead (for enterprise lead gen)

Secondary conversions (good for diagnostics):

  • Pricing page view
  • Demo form started
  • Trial step completed
  • In app activation event
Key takeaway: the moment you mark micro events as primary, you stop paying for customers and start paying for “activity”.

Root cause #3: Smart Bidding was deployed without enough real conversion volume

This audit showed many campaigns running tCPA and Maximize Conversions, and even a tROAS campaign, despite having too few goal aligned conversions.

Smart Bidding is not magic. It is a control system that needs enough clean feedback to learn. If you do not have stable, goal aligned volume, the algorithm will still bid. It just will not bid well.

What “too few conversions” looks like:

  • Campaigns stuck in learning or constantly “re learning”
  • Large swings in CPA day to day
  • The system over values cheap segments that do not convert later
  • Reported conversion volume looks fine, but the business outcome is missing (because of polluted primaries)

How to right size bidding to your signal:

1. Fix conversion definitions first (primary versus secondary).

2. Wait for clean data to accumulate.

3. If you are under roughly 30 real conversions per month for the goal, consider:

- Maximize Clicks with guardrails (short term)

- Manual CPC with tight targeting (short term)

- Portfolio strategies only when conversion volume supports it

4. Re introduce tCPA only after volume stabilizes on the true outcome.

This is not anti automation. It is sequencing.


Root cause #4: spend was leaking into “no outcome” areas

Even with a couple of strong campaigns, the audit found significant budget going to campaigns that produced zero goal aligned conversions over the window.

This is more common than most teams admit. You launch experiments, keep them running “to gather data”, and suddenly a large share of budget is funding traffic that never converts.

The audit also flagged:

  • Multiple keywords that spent past the CPA threshold without producing the intended outcome
  • Device segments that did the same

In practical terms, this is how you stop the bleeding without overreacting:

  • Triage first: sort by cost with zero goal aligned conversions, not by CTR.
  • Isolate the culprits:
  • Queries or keywords with spend beyond your CPA threshold and no outcomes
  • Devices or networks with the same pattern
  • Decide an action per bucket:
  • Tighten match types (move broad to phrase or exact where appropriate)
  • Add negatives from search term reviews
  • Rewrite ads to qualify harder (especially for SaaS with unqualified demand)
  • Fix landing page relevance, speed, and message match by device
  • Pause or cap budgets on persistently zero outcome campaigns
Key takeaway: if a campaign cannot produce a single real outcome within your acceptable test budget, it is not “learning”. It is just spending.

The fix plan we recommended (sequenced for founders)

Founders do not need a 40 point checklist. They need the right order of operations.

Phase 1: restore measurement trust

  • Reactivate and validate partner postbacks so Google receives real app outcomes
  • Remove low intent conversions from GA4 conversion flags
  • Reduce primary conversions to the 1 to 3 that reflect revenue intent

Phase 2: align bidding to actual signal quality

  • Pull back from aggressive tCPA or tROAS where conversion volume is insufficient
  • Consolidate where possible to concentrate learning
  • Re deploy Smart Bidding only after the primary conversion signal is stable

Phase 3: cut waste and re qualify traffic

  • Pause or restructure campaigns with persistent zero outcome spend
  • Review keywords above CPA threshold with no outcomes and take decisive action
  • Audit device performance and fix landing experience by device before bidding harder
Before and after table showing “signal quality, bidding choice, waste pockets”
Before and after table showing “signal quality, bidding choice, waste pockets”

Lessons learned for SaaS founders running Google Ads

If you are scaling paid acquisition, this case study is a reminder that performance issues often start upstream of ads.

Here are the reusable lessons:

  • Your conversion schema is your bidding strategy. If it is messy, bidding will be messy.
  • Smart Bidding needs both volume and truth. Do not give it neither and expect stability.
  • A few great campaigns can hide systemic waste. Always review zero outcome spend and segment level leaks.
  • Attribution plumbing matters. If postbacks break, Google will still spend. It just will not learn what matters.
Founders win by building a clean feedback loop: true outcomes in, sensible bidding out.

Want a second set of eyes on your account?

If you are seeing rising CAC, “good looking” dashboard conversions that do not match revenue, or Smart Bidding that feels unpredictable, you are not alone. These are fixable problems once you identify which signals are driving the machine.

If you want, you can try the VEOtool beta to surface measurement and bidding issues quickly, or request an audit style review to get a prioritized fix plan based on how your account is actually set up.

Try the VEOtool beta or request an anonymized style Google Ads audit to get a prioritized measurement and bidding fix plan.

Request an audit