Skip to content

Performance Max low ROAS — diagnostic playbook

playbook google ads updated 2026.05.06 6 min read

Performance Max ROAS rarely collapses uniformly — it slips on one channel slice (Display, Search, YouTube, or Shopping) while the blended number masks where the spend is actually leaking.

What "low ROAS" means in Performance Max

ROAS in PMax = conversion value / cost, blended across all six inventory slices. Google does not let you bid per slice, but the channel performance report (released to all accounts in 2024-Q1, expanded with Search/Shopping splits in 2024-Q4) exposes impressions, clicks, conversions, and value per channel (Google Ads Help — About PMax channel performance).

A "low" ROAS is relative to two anchors:

  • Account benchmark — your prior 90-day Search + Shopping baseline. PMax should match or beat it after the 6-week ramp.
  • tROAS target — if you set tROAS=400% and observe 230%, the bidder is either still learning, undercredited by attribution, or starved of conversion value signals.

This article is for the second case after the learning phase has closed. For tracking-gap symptoms (zero or near-zero conversions), see Performance Max not converting. For brand-overlap leakage, see Performance Max brand cannibalization.

Top causes (ranked by audit frequency)

  1. Brand search absorbed into PMax. Without a brand-exclusion list, PMax claims branded queries that would have closed at 8-15× ROAS through Search anyway, inflating reported ROAS but cannibalizing organic and Search-campaign incrementality. Cross-link Performance Max brand cannibalization.
  2. Single asset group for everything. One asset group = one signal pool. Mixing top-funnel and bottom-funnel intent collapses Smart Bidding's ability to separate value-per-click (Google Ads Help — Asset groups, 2025).
  3. Display/YouTube slice dominating spend. When channel report shows Display + YouTube > 60% of cost but < 25% of value, the campaign is buying cheap impressions instead of converting clicks.
  4. Audience signals empty or generic. PMax treats audience signals as seeds. Without Customer Match lists or in-market segments, the bidder explores broad lookalikes and ROAS plateaus low.
  5. Conversion values flat or missing. If every conversion = $1, tROAS bidding is effectively tCPA. eCommerce accounts must pass dynamic transaction value; lead-gen accounts should value-tier leads (see Enhanced Conversions for Leads).
  6. Search themes missing. Search themes seed PMax with intent on the Search slice — without them, PMax falls back to URL + asset signal only. See fix PMax search themes missing.
  7. Shopping feed quality issues. Disapprovals, missing GTINs, low-quality images, or stale prices throttle the Shopping slice — historically the highest-ROAS slice in PMax for retail.

Diagnostic checklist

Run top-down. Stop at the first "yes" — that is the dominant cause until disproven.

#CheckWhere in UIThreshold
1Brand exclusion list appliedCampaignBrand exclusions0 brands listed = critical leak
2Channel report — Display + YouTube cost shareInsightsChannel performance>60% cost & <25% value = misallocation
3Search slice value vs. costInsightsChannel performance → Search rowROAS below account Search baseline = suspect cannibalization
4Asset group countAsset groups1 group for catalog >50 SKUs = under-segmented
5Audience signals attachedAsset group → Audience signalEmpty or generic only = weak seeding
6Search themes per asset groupAsset group → Search themes0 themes = falling back to URL signal only
7Conversion value varianceGoalsConversions → value distributionSingle fixed value = tROAS bidding starved
8Merchant Center disapprovals (retail)Merchant Center → Diagnostics>5% items disapproved = Shopping throttle

Fix paths

Order matters — Smart Bidding will reset learning if you change tROAS, audiences, and asset groups in the same week.

  1. Add brand exclusions first. Apply account-level brand list (your brand + obvious misspellings + any sub-brand you already win organically). Wait 7 days. Re-pull channel report. If Search-slice ROAS climbs and total volume holds, cannibalization confirmed.
  2. Split asset groups by intent or product line. Aim for 3-5 asset groups: branded, generic-commercial, top-funnel/awareness, plus one per major product cluster for retail. Each gets distinct creatives, audience signals, and search themes.
  3. Strengthen audience signals. Upload Customer Match buyer list (≥1000 active matches per Google's match-rate guidance) per asset group. Add 2-3 in-market segments matching the product cluster. Avoid Affinity unless awareness is the goal.
  4. Add search themes per asset group. 5-15 themes, grouped by intent. See fix PMax search themes missing.
  5. Pass dynamic conversion value. For eCommerce, confirm transaction_id + value in tag and Merchant Center feed. For lead gen, value-tier leads (MQL=$X, SQL=$Y) via Enhanced Conversions for Leads + offline conversion import.
  6. Only then adjust tROAS. If after 14 days the campaign still misses target by <20%, raise tROAS in 5-pt increments weekly. Larger jumps reset learning (Google Ads Help — Bid strategy status).
  7. Address Shopping feed quality last. Most Merchant Center fixes (titles, GTINs, image quality, price freshness) compound — start with disapprovals, then expand attributes per Merchant Center product data spec.

"Performance Max uses Google AI to optimize across channels, but it relies on the inputs you provide — audience signals, creative assets, and conversion data — to find the most valuable customers." — Google Ads Help — About Performance Max

Methodology note. Whitead's PMax low-ROAS rule chain runs four signals in sequence before flagging a campaign: (1) channel-cost ratio (Display+YouTube cost-share vs. value-share), (2) brand-exclusion presence, (3) asset-group-to-SKU ratio, (4) audience-signal richness (Customer Match attached + at least one in-market or custom segment). A campaign failing two or more signals is flagged HIGH; failing one returns MED. We do not flag based on tROAS gap alone — tROAS misses post-learning are usually the symptom of one of the four upstream gaps, not a bidding problem. The fix-priority engine sorts recommendations by reversibility (brand exclusion = lowest risk, tROAS change = highest risk) so audit recipients act on safe levers first.

When to escalate

Escalate when:

  • After all four upstream fixes (brand exclusion, asset-group split, audience signals, conversion values), ROAS stays below 70% of tROAS for 21+ days. Likely candidates: product margin / offer issue, not media.
  • Channel report shows Search + Shopping ROAS healthy but YouTube/Display dragging blended below target — and you cannot exclude those channels in standard PMax. Consider testing Demand Gen as a separate campaign for upper-funnel and tightening PMax to retail-conversion-heavy slices.
  • Brand exclusions applied but Search-slice ROAS still drops vs. baseline — open an incrementality test (geo-holdout or budget-split) before scaling further. Smarter eCommerce 2025 case studies show 10-30% PMax conversions are non-incremental on accounts without prior brand-campaign control (Smarter eCommerce — PMax incrementality, 2025-08).

Sources