关于 pmax-optimization
面向 Google Performance Max(PMax)广告活动的优化技能,供广告运营者和营销 Agent 使用。它围绕结构、受众信号、素材表现与流量控制提供诊断和调整指导。
主要功能
- 01评估广告系列与素材组结构
- 02检查受众信号和搜索主题
- 03分析素材评级并建议替换
- 04管理品牌排除与否定关键词
- 05检查最终网址扩展设置
适用场景
- 01拆分不同产品线的素材组
- 02排查品牌搜索流量被蚕食
- 03替换表现较低的广告素材
- 04调整搜索主题与网址扩展
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ itallstartedwithaidea/ agent-skills --skill pmax-optimization安装后在 Claude Code 中输入/pmax-optimization确认已加载。
详细介绍
效果最大化广告系列优化
属于 Agent Skills™,由 googleadsagent.ai™ 提供
描述
效果最大化广告系列优化技能为 Google 自动化程度最高的广告系列类型提供专家级管理。效果最大化(PMax)广告系列利用 AI 驱动的定向,在 Google 的所有广告资源中投放广告——包括搜索、展示广告、YouTube、Discover、Gmail 和 Maps。虽然 Google 会自动完成大部分投放工作,但广告主的策略性输入会显著影响效果:素材质量、受众信号、网址策略、搜索主题和广告系列结构,决定了 PMax 带来的是高效增长还是无效支出。
此技能旨在解决 PMax 的核心难题:优化一个黑盒系统。它会制定结构方面的最佳实践(按照产品线或受众细分规划素材组架构)、配置能加速机器学习且不限制覆盖面的受众信号、管理网址扩展设置以平衡自动化与品牌安全,并利用搜索主题功能影响 PMax 在搜索中的展示位置。
素材效果管理是 PMax 成功的关键。此技能会监控素材效果评级(最佳、良好、较低及其可用组合)、识别表现不佳的创意元素,并生成替换素材。它还会管理经常被忽视的否定性控制措施:品牌排除项(防止蚕食品牌搜索广告系列)、否定关键词(可通过 API 或联系 Google 代表设置),以及展示广告和 YouTube 广告资源的展示位置排除项(维护品牌安全)。
适用场景
- 用户询问“效果最大化”或“PMax”广告系列
- 用户想要“优化 PMax”或“提升 PMax 效果”
- 用户提到“素材组”或“素材效果”
- 用户询问 PMax 的“受众信号”
- 用户提到“网址扩展”或“最终到达网址”设置
- 用户想要为 PMax“添加搜索主题”
- 用户询问 PMax 是否会蚕食搜索广告系列的流量
- 用户提到“PMax 否定关键词”或“品牌排除项”
- 用户想要“规划 PMax 广告系列结构”或“创建素材组”
架构
flowchart TD
A[PMax Campaign Analysis] --> B[Structural Assessment]
A --> C[Asset Performance Review]
A --> D[Signal Quality Evaluation]
B --> B1[Asset Group Architecture]
B --> B2[Campaign Segmentation]
B --> B3[URL Expansion Settings]
B --> B4[Bidding Configuration]
C --> C1[Headlines: Best/Good/Low]
C --> C2[Descriptions: Best/Good/Low]
C --> C3[Images: Best/Good/Low]
C --> C4[Videos: Best/Good/Low]
C --> C5[Ad Strength Rating]
D --> D1[Custom Segments]
D --> D2[Your Data Lists]
D --> D3[Google Audiences]
D --> D4[Demographics]
B1 --> E[Optimization Engine]
B2 --> E
B3 --> E
B4 --> E
C1 --> E
C2 --> E
C3 --> E
C4 --> E
D1 --> E
D2 --> E
D3 --> E
D4 --> E
E --> F[Structural Recommendations]
E --> G[Asset Replacement Queue]
E --> H[Signal Refinements]
E --> I[Negative Controls]
I --> I1[Brand Exclusions]
I --> I2[Negative Keywords via API]
I --> I3[Placement Exclusions]
I --> I4[Search Theme Adjustments]
实现
PMax 广告系列评估与优化引擎:
async function optimizePMax(customerId, campaignId) {
const campaign = await getPMaxCampaignData(customerId, campaignId);
const assetGroups = await getAssetGroups(customerId, campaignId);
const audienceSignals = await getAudienceSignals(customerId, campaignId);
const searchTermInsights = await getSearchTermInsights(customerId, campaignId);
return {
structuralAssessment: assessStructure(campaign, assetGroups),
assetPerformance: analyzeAssets(assetGroups),
signalQuality: evaluateSignals(audienceSignals),
searchAnalysis: analyzeSearchTerms(searchTermInsights),
recommendations: generateRecommendations(campaign, assetGroups, audienceSignals),
negativeControls: reviewNegativeControls(campaign)
};
}
function assessStructure(campaign, assetGroups) {
const issues = [];
if (assetGroups.length === 1 && campaign.productCount > 20) {
issues.push({
severity: 'high',
finding: 'Single asset group serving all products',
recommendation: 'Split into themed asset groups by product category for tailored messaging'
});
}
for (const group of assetGroups) {
if (group.headlines.length < 5) {
issues.push({
severity: 'medium',
assetGroup: group.name,
finding: `Only ${group.headlines.length} headlines (minimum 5, recommended 15)`,
recommendation: 'Add headlines to maximize ad combination options'
});
}
if (!group.videos || group.videos.length === 0) {
issues.push({
severity: 'high',
assetGroup: group.name,
finding: 'No videos provided — Google will auto-generate low-quality videos',
recommendation: 'Upload at least one custom video to prevent auto-generation'
});
}
if (group.adStrength !== 'EXCELLENT') {
issues.push({
severity: 'medium',
assetGroup: group.name,
finding: `Ad strength: ${group.adStrength} (target: Excellent)`,
recommendation: 'Add more unique, diverse assets to improve ad strength'
});
}
}
return {
urlExpansion: campaign.urlExpansionEnabled,
finalUrlStrategy: campaign.finalUrlStrategy,
biddingStrategy: campaign.biddingStrategy,
issues
};
}
function analyzeAssets(assetGroups) {
const analysis = [];
for (const group of assetGroups) {
const allAssets = [
...group.headlines.map(a => ({ ...a, type: 'headline' })),
...group.descriptions.map(a => ({ ...a, type: 'description' })),
...group.images.map(a => ({ ...a, type: 'image' })),
...(group.videos || []).map(a => ({ ...a, type: 'video' }))
];
const lowPerformers = allAssets.filter(a => a.performanceLabel === 'LOW');
const bestPerformers = allAssets.filter(a => a.performanceLabel === 'BEST');
analysis.push({
assetGroup: group.name,
totalAssets: allAssets.length,
performanceDistribution: {
best: bestPerformers.length,
good: allAssets.filter(a => a.performanceLabel === 'GOOD').length,
low: lowPerformers.length,
learning: allAssets.filter(a => a.performanceLabel === 'LEARNING').length
},
replacementCandidates: lowPerformers.map(a => ({
type: a.type,
content: a.text || a.url,
performanceLabel: a.performanceLabel,
action: 'replace_with_new_variant'
})),
topPerformers: bestPerformers.map(a => ({
type: a.type,
content: a.text || a.url,
insight: 'Use this as a template for new variants'
}))
});
}
return analysis;
}
搜索主题和否定关键词管理:
function configureSearchThemes(campaign, searchTermInsights) {
const topConvertingTerms = searchTermInsights
.filter(t => t.conversions > 0)
.sort((a, b) => b.conversionValue - a.conversionValue);
const missingCoverage = searchTermInsights
.filter(t => t.impressionShare < 0.3 && t.conversions > 0);
return {
recommendedThemes: topConvertingTerms.slice(0, 25).map(t => ({
theme: t.searchTerm,
rationale: `${t.conversions} conversions, ${formatCurrency(t.conversionValue)} value`,
searchVolume: t.estimatedVolume
})),
expansionOpportunities: missingCoverage.map(t => ({
theme: t.searchTerm,
currentImpressionShare: t.impressionShare,
potentialGain: `Up to ${((1 - t.impressionShare) * t.conversions).toFixed(0)} additional conversions`
})),
maxThemes: 25
};
}
async function manageNegativeKeywords(customerId, campaignId) {
const searchTerms = await getSearchTermInsights(customerId, campaignId);
const negatives = searchTerms.filter(term =>
term.clicks > 5 && term.conversions === 0 && term.cost > 50
);
return {
recommendedNegatives: negatives.map(n => ({
term: n.searchTerm,
clicks: n.clicks,
cost: n.cost,
matchType: 'EXACT'
})),
implementation: {
method: 'google_ads_api',
note: 'PMax negative keywords require API access or Google rep assistance',
apiEndpoint: 'CampaignCriterionService',
criterionType: 'KEYWORD',
negativeType: 'campaign_level'
},
brandExclusions: {
enabled: true,
excludedBrands: [],
recommendation: 'Exclude own brand if running separate branded Search campaigns'
}
};
}
与 Buddy™ Agent 集成
效果最大化广告系列优化是 Buddy™ Agent 中的高优先级技能,因为 PMax 广告系列在 Google Ads 账户支出中的占比日益增加。Buddy™ 每天监控 PMax 素材效果评级,自动标记评级为“较低”的素材,并利用广告文案生成技能生成替换建议。
Buddy™ 通过关联搜索字词洞察与转化数据,应对 PMax 的透明度难题,从而更清晰地了解 PMax 正在哪些位置找到转化。它会监控品牌查询的归因情况,检测对搜索广告系列流量的蚕食;当 PMax 以高于专用搜索广告系列的每次点击费用获取品牌流量时,Buddy™ 会建议设置品牌排除项。
该平台会管理受众信号的生命周期,按计划刷新客户匹配名单,并在转化模式发生变化时建议更新信号。对于电子商务账户,Buddy™ 会与购物广告技能协调,优化会直接影响 PMax 购物广告展示的商品 Feed 数据。
最佳实践
- 为不同的产品类别或受众群体创建单独的素材组
- 每个素材组至少提供 15 条标题、4 条说明、15 张图片和 1 个以上的自定义视频
- 上传自定义视频,避免 Google 自动生成低质量视频素材
- 添加搜索主题,引导 PMax 的搜索广告库存投放至高意向查询
- 如果单独投放品牌搜索广告系列,请启用品牌排除功能,避免流量蚕食
- 每周检查素材表现,并在 2 周内替换评级为“低”的素材
- 从强有力的受众信号(客户匹配、再营销名单)开始,加快学习
- 如果需要严格控制接收流量的落地页,请停用网址扩展
- 预留 4–6 周,让 PMax 退出学习阶段后再进行结构性更改
- 每周监控搜索字词洞察,并通过 API 为不相关的查询添加否定关键词
平台兼容性
| 平台 | 支持情况 |
|---|---|
| Claude Code | ✅ |
| Cursor | ✅ |
| Codex | ✅ |
| Gemini | ✅ |
相关技能
- 受众定向 - 受众信号是关键输入,可加快 PMax 机器学习
- 购物广告 - 产品 Feed 质量会直接影响 PMax 购物广告投放
- 广告文案生成 - 为 PMax 标题、说明和创意生成及替换素材
- 持续学习 - 根据 PMax 广告系列表现数据自动发现优化模式
关键词
效果最大化,PMax 优化,素材组,受众信号,搜索主题,PMax 素材,网址扩展,PMax 否定关键词,品牌排除,素材表现,PMax 广告系列结构,PMax 最佳实践,Google PMax,效果最大化广告系列,PMax 流量蚕食
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT 许可证