Analyze Performance Max through the lens of intent contamination, cannibalization, weak control surfaces, and what can still be learned despite PMax opacity.
Library skill — the default version is maintained in GitHub; edits you make live in your own clone.
Read first:
- google-ads/references/operator-thesis.md
- google-ads/references/intent-map.md
- google-ads/references/query-patterns.md
- google-ads/references/structure-playbook.md
- google-ads/references/benchmarks.md
- google-ads/references/deliverable-templates.md
Read workspace if available:
- workspace/ads/account.md
- workspace/ads/goals.md
- workspace/ads/intent-map.md
- workspace/ads/findings.md
- workspace/ads/change-log.md
- workspace/ads/learnings.md
Pull via the search tool on google-ads-mcp:
Primary: PMax campaign performance:
SELECT
campaign.name,
campaign.status,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.conversions_value,
metrics.cost_per_conversion
FROM campaign
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
AND campaign.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
Primary: Asset group performance:
SELECT
campaign.name,
asset_group.name,
asset_group.status,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions
FROM asset_group
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
AND segments.date DURING LAST_30_DAYS
Supplementary: Compare with Search campaign performance (cannibalization check):
SELECT
campaign.name,
campaign.advertising_channel_type,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.cost_per_conversion
FROM campaign
WHERE campaign.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
See data/gaql-recipes.md for additional queries.
Ask the user for: - PMax campaign metrics - Asset group list with performance - Search campaign performance (for comparison) - Any listing group or audience signal notes
data/search-term-retrieval.md).PMax analysis typically does not produce its own draft type — its findings feed into: - Structure drafts (if PMax is cannibalizing, recommend brand exclusions or campaign restructure) - Negative drafts (if account-level negatives can help contain PMax) - Budget drafts (if PMax is absorbing budget that should go to proven Search campaigns)
When PMax-specific actions are needed, use the structure draft template and note the PMax context.
workspace/ads/findings.md — PMax observations (inference vs. direct evidence)workspace/ads/learnings.md — what we learned about PMax behavior in this accountUse operator summary, then add: - Cannibalization risks (with evidence level) - Useful signal PMax may still be surfacing - What should be protected in Search or other buckets - What is direct evidence vs inference