Performance Max Restructure Lifts SaaS ROAS to 4.4× in 90 Days
A B2B SaaS brand running Google Ads with Performance Max cannibalizing branded terms and CPA running 2.2× above target. We rebuilt the entire account structure — and reached profitable scale in one quarter.
×4.4 ROAS
Final ROAS
↓35% CPA
Cost Per Acquisition
↓67%
Wasted Spend
90 Days
Timeline
The Situation
ROAS That Looked Fine. Performance That Wasn't.
A B2B SaaS company came to us with a Google Ads account that appeared to be performing — the dashboard showed a respectable ROAS and reasonable conversion volume. But the sales team was complaining: trial signups were low quality, CPA was well above target, and the attribution looked suspicious.
A one-hour audit confirmed what we suspected. Performance Max was consuming branded search traffic — users searching the company name by brand — and counting those easy conversions as PMax wins. Strip out the brand inflation, and non-brand PMax was running at a loss. The underlying account structure had never been built to perform; it had been built to look like it was performing.
Before
Negative
Real ROAS (brand-stripped)
2.2×
CPA vs target
40%
Wasted Brand Spend
Below target
Trial Signups
After
4.4×
Real ROAS
↓35%
CPA below target
↓67%
Brand Wasted Spend
+112%
Trial Signups
Root Causes
Five Issues Destroying True Performance
Beyond the brand cannibalization headline problem, the audit uncovered four more structural failures compounding the damage:
Performance Max consuming branded search traffic — users searching the company name were counted as PMax conversions, artificially inflating ROAS while the real non-brand PMax performance was negative.
Asset groups built with generic marketing copy not tailored to any specific ICP segment — audience signals left completely empty, meaning the algorithm had no starting signal for who the best customers were.
Bidding strategy set to tCPA with fewer than 30 conversions per month — the algorithm had insufficient data to learn effectively, leading to erratic delivery and missed opportunities.
No brand exclusions in PMax, meaning branded queries competed against organic results and inflated CPC on the brand's own name — paying for clicks that would have come for free.
Demo/trial campaigns and feature/pricing campaigns mixed into one asset group with one shared budget and one CPA target — wildly different conversion types blended together with no ability to optimize each independently.
Suspect your PMax ROAS is brand-inflated?
A free audit finds the real number — and what to do about it.
The Approach
Five Structural Fixes. One Clean Account.
We rebuilt the entire account over a two-week implementation window, giving the algorithm a full 10-week optimization runway after the learning phase to demonstrate real performance.
1
Brand Exclusion & Attribution Cleanup
Added a comprehensive brand exclusion list to PMax — blocking all branded query variants from being served by Performance Max. Created separate branded Search campaigns with intentionally low bids to capture navigational intent at minimal cost. Rebuilt attribution to separate brand-attributed vs. non-brand conversions, giving us a true view of non-brand performance from day one.
Rebuilt four asset groups targeting distinct ICP segments: high-growth startups, mid-market ops teams, enterprise procurement, and agency/consultant buyers. Each group received dedicated headlines, descriptions, images, and audience signals tailored to that segment's specific pain points and buying language.
4 ICP segmentsDedicated headlines per segmentAudience signal per group
3
Bidding Strategy Migration
Switched from tCPA (insufficient conversion data) to Maximize Conversion Value with a ROAS floor. After a 3-week learning period during which we monitored delivery and did not make structural changes, moved to tROAS once data accumulated above the 30-conversion monthly threshold needed for stable algorithm learning.
Max Conv. Value → tROAS3-week learning phase30-conv. threshold
4
Audience Signals from GA4
Fed PMax asset groups with GA4 audience signals: trial users from the last 90 days, pricing page visitors, feature comparison page visitors, and similar audiences built on high-LTV customers. These signals dramatically accelerated learning and improved placement quality from the first week of each campaign's operation.
Isolated high-intent Search campaigns by intent type: brand vs non-brand, feature keywords vs competitor keywords. Each type received manual bidding with CPC floors calibrated to its conversion rate. This gave granular control over the most valuable query types and maintained quality score on the highest-converting terms in the account.
Brand vs non-brand separationCompetitor keyword campaignsManual CPC on top terms
Results
Real Performance. Not Brand-Inflated Numbers.
At 90 days, the restructured account delivered genuine improvements across every metric — with the most important shift being that the 4.4× ROAS reflects actual new user acquisition, not branded navigational clicks:
Metric
Before
After
Change
ROAS
Negative (brand-inflated)
4.4×
↑ Profitable
CPA
2.2× target
↓35% below target
↑ ↓35%
Brand Wasted Spend
40% of budget
↓67%
↑ ↓67%
Trial Signups
Baseline
+112%
↑ +112%
Cost per Trial
Baseline
↓35%
↑ ↓35%
Impression Quality
Low intent
High intent
↑ Rebuilt
Click Volume
High (irrelevant)
↓31% (relevant)
↑ Quality up
Ad Relevance Score
Below average
Above average
↑ Improved
Key Structural Insight
The attributed ROAS looked fine before — because brand conversions were inflating the number. After attribution cleanup, non-brand PMax was running at a loss. The rebuild delivered genuine 4.4× ROAS on new user acquisition.
Campaign Breakdown
Three Campaigns. Three Distinct Roles.
Separating the account into purpose-built campaigns revealed that each query type performs very differently — and requires different budgets, bids, and creative to perform optimally:
Non-Brand PMax (Segmented)
×4.4 ROAS
Core acquisition engine
+112% trials4 ICP asset groups
↑ Was negative before rebuild
Branded Search (Isolated)
×8.7 ROAS
Navigational intent only
↓67% brand spend waste
↑ Low cost, high conversion
Competitor Keywords Search
×2.9 ROAS
New market segment captured
Manual CPC
↑ New segment, was untapped
Is Your Google Ads Account in the Same Position?
This case study is directly relevant if your account shows any of the following signs:
Your PMax "ROAS" looks great but you suspect branded traffic is making it look better than it really is
You've never built brand exclusion lists or created separate branded search campaigns
Your PMax asset groups use the same generic copy without targeting specific buyer personas
You're on tCPA bidding with fewer than 30 conversions per month
Performance Max and regular Search campaigns are competing for the same queries
Your audience signals are empty or set to "expansion only" with no seed audiences
30 min · Free · We'll show you the gaps, no strings attached
Frequently Asked
Questions About This Case Study
PMax cannibalization happens when Performance Max serves ads on branded queries (users searching your company name) that would have converted organically or via cheaper branded search campaigns. Prevention requires two steps: (1) add a comprehensive brand exclusion list to your PMax campaigns so they cannot serve on branded queries, and (2) create separate branded Search campaigns with lower bids to capture that navigational intent intentionally. In this SaaS case, brand traffic was inflating PMax ROAS by 40% — after applying exclusions, non-brand ROAS was negative and needed a full rebuild.
tCPA (target cost per acquisition) works best when you have 30+ conversions per month per campaign, all valued equally (e.g. each trial signup = equal value). tROAS (target return on ad spend) works best when conversions have different values (enterprise trial vs. SMB trial, monthly vs. annual signup). For SaaS, tROAS is generally preferred once conversion data exceeds 30/month because it allows the algorithm to prioritize higher-LTV customer segments. This case started with Maximize Conversion Value (no target, just data accumulation) and graduated to tROAS after 3 weeks.
The most effective PMax audience signals for B2B SaaS are: (1) GA4 custom audience of trial users or paying customers from the last 90–180 days, (2) pricing page visitors (highest purchase intent), (3) feature comparison page visitors, (4) similar audiences based on high-LTV customer data. These signals tell PMax who your best customers look like, dramatically reducing the cold-start learning period and improving placement quality from day one.
After a significant PMax change (new campaign, new asset group, new bid strategy, new audience signal), expect a 2–4 week learning phase where performance is volatile and delivery may be inconsistent. Do not make additional structural changes during this period. In this SaaS case, the learning phase lasted 3 weeks, after which ROAS stabilized and improved progressively over the remaining 7 weeks of the 90-day period.
B2B SaaS Google Ads ROAS benchmarks vary significantly by deal size and customer LTV. For SMB-focused SaaS (ACV under $5,000), ROAS between 3×–8× on Google Search is typical after optimization. For mid-market/enterprise SaaS (ACV above $20,000), ROAS as a short-term metric is less meaningful — cost per qualified pipeline opportunity is a better north star. This case reached 4.4× ROAS for a mid-market email marketing SaaS in a competitive space within 90 days of restructuring.
We'll audit your campaign structure, attribution, and bidding strategy — and show you what your real ROAS looks like after brand exclusions. Free, 30 minutes, no obligation.