关于 competitor-analysis
competitor-analysis 是将 Google Ads 竞价数据转化为竞争情报的 Agent 技能。它持续整理竞争对手画像、估算市场份额,并识别曝光度和竞争行为的变化。
主要功能
- 01分析竞价洞察数据
- 02持续构建竞争对手画像
- 03检测竞争趋势变化
- 04估算市场份额
- 05分析广告文案策略
- 06识别曝光机会
适用场景
- 01调查 CPC 上升和竞争压力
- 02跟踪竞争对手重叠率与排名趋势
- 03寻找有份额增长潜力的关键词
- 04为广告文案和预算决策提供依据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ itallstartedwithaidea/ agent-skills --skill competitor-analysis安装后在 Claude Code 中输入/competitor-analysis确认已加载。
详细介绍
竞争对手分析
属于 Agent Skills™,由 googleadsagent.ai™ 提供
描述
竞争对手分析技能将 Google Ads 竞价数据转化为可执行的竞争情报。通过系统地分析竞价洞察、广告预览结果和竞争指标,该技能可以描绘出每个广告系列和关键字的竞争格局。它会识别你正在与哪些对手竞争、他们的广告与你的广告同时出现的频率,以及你在争夺曝光度的过程中是胜是负。
该技能不止于原始竞价洞察数据,还会建立竞争对手档案,追踪他们随时间的行为变化。它可以检测竞争对手何时加大攻势(重叠率和排名高于率上升),识别季节性竞争模式,并根据曝光份额趋势估算竞争对手的预算和出价策略。结合广告文案分析后,还能揭示竞争对手的营销信息策略、优惠结构和独特卖点。
市场份额估算将分析结果融为一体。通过将你的曝光份额、点击份额和转化份额与竞价洞察数据相关联,该技能可以估算你的市场份额,并识别最有可能提升份额的具体竞争对手和关键字。这有助于制定战略决策,确定在哪些领域积极竞争、在哪些领域守住阵地,以及在哪些领域让出空间以转向利润更高的细分市场。
适用场景
- 用户询问“竞争对手分析”或“竞争格局”
- 用户提到“竞价洞察”或“我在和谁竞争”
- 用户想知道“为什么我的 CPC 在上涨”(竞争压力)
- 用户询问“曝光份额”或“市场份额”
- 用户提到“竞争对手广告”或“竞争对手在做什么”
- 用户想了解“竞争定位”或“竞争策略”
- 用户询问“重叠率”或“超越份额”
- 用户提到“曝光份额正在被竞争对手抢走”
架构
flowchart TD
A[Google Ads API] --> B[Auction Insights Extraction]
B --> C[Impression Share Data]
B --> D[Overlap Rate Data]
B --> E[Position Above Rate]
B --> F[Outranking Share]
B --> G[Top of Page Rate]
C --> H[Competitor Profiler]
D --> H
E --> H
F --> H
G --> H
I[Ad Preview & SERP Data] --> J[Competitor Ad Analyzer]
J --> J1[Headline Patterns]
J --> J2[Offer Structures]
J --> J3[Extension Usage]
J --> J4[Landing Page Analysis]
H --> K[Competitive Landscape Model]
J1 --> K
J2 --> K
J3 --> K
J4 --> K
K --> L[Market Share Estimation]
K --> M[Trend Analysis]
K --> N[Threat Detection]
L --> O[Strategic Recommendations]
M --> O
N --> O
O --> P[Defend Positions]
O --> Q[Attack Opportunities]
O --> R[Concede & Redirect]
实现
竞价洞察提取和竞争对手画像:
async function analyzeCompetitors(customerId, config) {
const { granularity = 'campaign', lookbackDays = 90 } = config;
const auctionInsights = await getAuctionInsights(customerId, granularity, lookbackDays);
const competitors = buildCompetitorProfiles(auctionInsights);
return {
competitors: competitors.sort((a, b) => b.threatScore - a.threatScore),
marketShare: estimateMarketShare(auctionInsights),
trends: analyzeTrends(auctionInsights, lookbackDays),
opportunities: identifyOpportunities(competitors),
threats: identifyThreats(competitors)
};
}
function buildCompetitorProfiles(auctionInsights) {
const competitors = {};
for (const row of auctionInsights) {
if (row.domain === 'You') continue;
if (!competitors[row.domain]) {
competitors[row.domain] = {
domain: row.domain,
impressionShare: [],
overlapRate: [],
positionAboveRate: [],
outrankingShare: [],
topOfPageRate: [],
campaigns: new Set()
};
}
const comp = competitors[row.domain];
comp.impressionShare.push(row.impressionShare);
comp.overlapRate.push(row.overlapRate);
comp.positionAboveRate.push(row.positionAboveRate);
comp.outrankingShare.push(row.outrankingShare);
comp.topOfPageRate.push(row.topOfPageRate);
comp.campaigns.add(row.campaignName);
}
return Object.values(competitors).map(comp => ({
...comp,
avgImpressionShare: average(comp.impressionShare),
avgOverlapRate: average(comp.overlapRate),
avgPositionAboveRate: average(comp.positionAboveRate),
avgOutrankingShare: average(comp.outrankingShare),
threatScore: calculateThreatScore(comp),
campaigns: [...comp.campaigns]
}));
}
function calculateThreatScore(competitor) {
const overlapWeight = 0.3;
const posAboveWeight = 0.3;
const outrankWeight = 0.25;
const isWeight = 0.15;
return (
average(competitor.overlapRate) * overlapWeight +
average(competitor.positionAboveRate) * posAboveWeight +
average(competitor.outrankingShare) * outrankWeight +
average(competitor.impressionShare) * isWeight
) * 100;
}
市场份额估算和战略建议:
function estimateMarketShare(auctionInsights) {
const yourData = auctionInsights.filter(r => r.domain === 'You');
const avgImpressionShare = average(yourData.map(r => r.impressionShare));
const avgTopOfPage = average(yourData.map(r => r.topOfPageRate));
return {
estimatedSearchMarketShare: avgImpressionShare,
topOfPagePresence: avgTopOfPage,
absoluteTopPresence: average(yourData.map(r => r.absoluteTopOfPageRate)),
shareGrowthOpportunity: 1 - avgImpressionShare,
primaryLossReason: avgImpressionShare < 0.5
? determineLossReason(yourData)
: 'market_leader_position'
};
}
function generateCompetitiveStrategy(competitors, marketShare) {
const strategies = [];
for (const comp of competitors) {
if (comp.avgPositionAboveRate > 0.6 && comp.avgOverlapRate > 0.8) {
strategies.push({
competitor: comp.domain,
strategy: 'defend',
actions: [
'Increase bids on overlapping keywords',
'Improve ad copy to differentiate messaging',
'Add competitor name as negative keyword if brand bidding detected',
'Strengthen landing page experience for shared keywords'
]
});
} else if (comp.avgImpressionShare < 0.3 && comp.avgOverlapRate > 0.5) {
strategies.push({
competitor: comp.domain,
strategy: 'attack',
actions: [
'Increase budget on campaigns where this competitor appears',
'Target their branded terms if policy-compliant',
'Analyze their ad copy for messaging gaps you can exploit',
'Extend coverage to keywords they rank for but you don\'t'
]
});
}
}
return strategies;
}
与 Buddy™ Agent 集成
竞争对手分析作为持续情报层,在 Buddy™ Agent 中运行。该平台每天提取竞价洞察数据,建立纵向竞争数据库,揭示特定时间点快照中无法发现的趋势。Buddy™ 可以检测竞争格局变化——新进入者出现在多个广告系列中、现有竞争对手加大攻势,或竞争对手退出某个细分市场。
当 Buddy™ 检测到竞争威胁(排名高于率上升、超越份额下降)时,会触发主动通知,并提供具体的防御建议。相反,当它检测到竞争对手撤出(重叠率下降)时,会建议重新分配预算,以获取空出的曝光份额。
该技能为预算优化技能提供信息(竞争压力增大时,需要加强预算防御),为广告文案生成技能提供信息(竞争对手营销信息的空白有助于制定文案策略),并为关键字研究技能提供信息(竞争对手覆盖空白揭示了拓展机会)。
最佳实践
- 从广告系列和关键字两个层面查看拍卖洞察,了解不同的竞争视角
- 每月跟踪竞争对手趋势,在其影响效果之前发现战略转变
- 将竞争应对重点放在质量得分具有优势的关键字上
- 不要在所有方面都卷入竞价战——根据利润率和转化数据选择要争取的领域
- 分析竞争对手的广告文案和着陆页,寻找差异化机会
- 密切关注新进入者——新竞争对手初期的激进举措往往预示着持续投入
- 使用因排名(而非预算)导致的展示次数份额损失,区分竞争问题和预算问题
- 为排名前 3–5 的竞争对手制定应对方案,以便快速响应
- 在预算规划周期中考虑季节性竞争模式
- 将拍卖洞察与第三方数据(SEMrush、SpyFu)结合,全面了解竞争态势
平台兼容性
| 平台 | 支持情况 |
|---|---|
| Claude Code | ✅ |
| Cursor | ✅ |
| Codex | ✅ |
| Gemini | ✅ |
相关技能
- 关键字研究 - 竞争对手关键字挖掘有助于发现覆盖缺口和拓展机会
- 广告文案生成 - 对竞争对手营销信息的分析有助于制定广告文案差异化策略
- 预算优化 - 竞争压力数据可指导预算防御和重新分配决策
- 主动情报 - 通过自主网页搜索获取实时竞争情报
关键词
竞争对手分析、拍卖洞察、展示次数份额、重叠率、排名高于率、超越份额、竞争情报、市场份额、Google Ads 竞争、竞争策略、竞争对手广告、竞争格局、搜索竞争、竞价竞争、竞争监测
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License