关于 campaign-audit
用于盘点并评估品牌各营销渠道当前状态的只读审计技能,生成涵盖投放、表现、预算浪费和合规风险的报告。可按指定渠道或快速模式执行,并在单个连接器出错时继续审计其他渠道。
主要功能
- 01盘点多个营销渠道的在运行项目
- 02评估表现、预算浪费与合规风险
- 03支持指定渠道和快速盘点模式
- 04连接器故障时标记跳过并继续
- 05生成 Markdown 报告和 JSON 摘要
适用场景
- 01接手新客户时建立营销现状基线
- 02季度营销刷新前盘点渠道表现
- 03品牌收购或重组后梳理投放
- 04审查追踪故障与合规风险
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ indranilbanerjee/ digital-marketing-pro --skill campaign-audit安装后在 Claude Code 中输入/campaign-audit确认已加载。
详细介绍
原文在翻译后有更新,译文可能不是最新。
/digital-marketing-pro:campaign-audit — 跨渠道现状审计
此技能会生成一份文档,描述品牌当前在所有渠道上运行的一切——哪些内容正在投放、哪些正在花费预算、哪些表现良好、哪些在浪费预算、哪些悄然出现故障。这是开展任何有依据的 /digital-marketing-pro:campaign-plan、/digital-marketing-pro:performance-report 或 /digital-marketing-pro:competitor-analysis 更新的前提。
上下文效率
此技能开销较大。对任何引用的文件,先使用 Grep 再使用 Read,然后仅通过 offset + limit 读取匹配范围。在打开文件前,先列出品牌的数据目录(~/.claude-marketing/brands/{slug}/,如果设置了该环境变量,则为 $CLAUDE_PLUGIN_DATA/digital-marketing-pro/brands/{slug}/)。在会话中途重新调用时,跳过已在上下文中的文件。
在以下情况下使用此技能:
- 代理公司接手新客户时(代理公司运营工作流的第 8 步)——接手新客户后的第一周内,在提出任何新方案之前。
- 季度营销活动更新前——建立你将据以提出异议的基准。
- 品牌收购或重组后——营销所有权发生变更,且新团队需要一份关于“我们实际在运行什么?”的统一事实来源时。
- 账户工作长期中断后(休假、陪产假、合同间隔)——在不做任何更改的情况下重新了解当前情况。
此技能的用途
代理公司接手一个品牌时,前任通常留下的是一份有 40 个标签页的 Google 表格、分布在三个平台上的六个仪表板,以及一份没人记得如何配置的 API 集成列表。如果没有明确的审计,新团队要么(a)在熟悉业务期间默默让现有活动继续运行,从而继承其中的问题;要么(b)拆除并重建,从而失去关于实际奏效内容的组织知识。
此技能提供第三种选择:生成一份审计文档,清晰记录当前运行状态、为每个项目评分,并直接为下一次规划讨论提供依据。它是只读的——绝不会暂停、修改或终止任何营销活动。
审计内容
| 渠道 | 盘点内容 | 评分内容 |
|---|---|---|
| 付费搜索 | 活跃的 Google Ads / Microsoft Ads 广告系列、广告组、关键词、每日预算、最后修改日期 | 支出效率、质量得分、转化跟踪状态、否定关键词覆盖率、仍在花费的无效广告组 |
| 付费社交 | 活跃的 Meta / LinkedIn / TikTok / Pinterest / X 广告系列 + 受众 + 创意素材 | 频次、学习阶段状态、创意疲劳、受众重叠、归因窗口是否正确 |
| 零售媒体 | Amazon Ads、Walmart Connect、Instacart Ads 账户和广告系列 | ACOS、品牌词与非品牌词的占比、热门 SKU 的声量份额 |
| 电子邮件 | 活跃的自动化流程 / 用户旅程(Klaviyo、HubSpot、ActiveCampaign、Brevo、Marketo)、发送列表、送达率指标 | 打开率、发件人信誉、列表卫生情况及时间、每个列表的 GDPR/DPDPA 同意来源、损坏的模板 |
| 自然社交 | 各平台的发帖频率(过去 90 天)、互动率、粉丝趋势 | 发帖频率的一致性、AI 披露合规性、本地化覆盖情况 |
| 内容 / SEO | 过去 90 天内发布的页面、排名关键词(前 50 名)、结构化数据标记状态、内链密度 | 收录状态(GSC)、Core Web Vitals、AI Overview 引用率、技术债务项 |
| AEO / GEO | 品牌在 Google AI Mode、Perplexity、ChatGPT 搜索、Claude 搜索、Copilot、Gemini App 中的提及率 | 相较于排名前 5 的竞争对手的提及率、引用份额、推荐份额 |
| CRM + 自动化 | HubSpot / Salesforce / Pipedream / Zapier / Make 中运行中的工作流、正在使用的细分受众、生命周期阶段映射 | 孤立工作流(近期无执行记录)、损坏的连接器、重复联系人率 |
| 网站分析 | GA4 媒体资源 + GSC 媒体资源分别关联到哪些域名、配置的转化事件、同意模式状态 | 标签触发状态、事件命名一致性、所选的归因模型 |
| 网红 / 公关 | 活跃的创作者合作(进行中 + 已暂停)、合同约定的交付内容、FTC 披露合规性 | 单次互动成本、创作者受众真实性检查、披露完整性 |
| 合规状况 | 已启用的品牌级声明、AI 内容的《欧盟 AI 法案》第 50 条披露状态、C2PA 签名状态、Cookie / 同意横幅版本 | 每项受监管声明均映射到一个主要来源;缺失的披露将升级处理 |
审计还会记录尚未开展但理应开展的事项,例如没有任何活动的渠道、缺失的跟踪像素、过期的 API 令牌、已弃用的自动化流程。
流程
步骤 0 — 前置条件
此技能假定:
- 品牌资料已创建,并且
/digital-marketing-pro:validate-profile --brand {brand}返回passed或passed_with_warnings。如果返回blocked,则拒绝执行,并告知用户先修复阻塞项——在损坏的资料上进行审计会产生错误的基准数据。 - 已配置所涉及渠道的连接器凭据(Google Ads、Meta Business、LinkedIn Campaign Manager、电子邮件平台、CRM、GA4、GSC 等)。缺少连接器不会阻止审计,但会降低审计的完整性;审计会在相关部分注明“已跳过 {channel} — 未配置连接器”。
步骤 1 — 确认当前品牌和审计范围
如果提供了 --brand <slug>,则使用该品牌;否则使用当前品牌。如果两者都没有,则报错:"--brand <slug> required, or run /digital-marketing-pro:switch-brand first."
如果提供了 --channels <list>(例如 paid_search,email,seo),则仅审计这些渠道;否则审计所有已配置连接器的渠道。
如果提供了 --quick,则仅执行渠道级盘点(跳过历史表现数据提取和 AEO/GEO 检查),适合快速了解“当前正在运行什么”。
步骤 2 — 清点各个渠道
对于每个范围内的渠道,使用 --read-only 调用相关的数据拉取脚本。例如:
# Paid search
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel google_ads --action inventory --read-only
# Paid social
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel meta_ads --action inventory --read-only
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel linkedin_ads --action inventory --read-only
# Email
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel email --action automations --read-only
# Organic + SEO
python "${CLAUDE_PLUGIN_ROOT}/scripts/seo-executor.py" --brand "{brand}" --action audit-current
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel organic_social --action cadence
# AEO / GEO (skip for a fast audit)
python "${CLAUDE_PLUGIN_ROOT}/scripts/ai-visibility-checker.py" --brand "{brand}" \
--mode api --competitors "{auto-from-profile or --competitors arg}"
# CRM + automation health
python "${CLAUDE_PLUGIN_ROOT}/scripts/crm-sync.py" --brand "{brand}" --action audit-workflows
# Web analytics health
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
--channel ga4_health --action diagnostic
如果脚本返回 {"error": "..."} 而不是清单,则将该渠道标记为 skipped: <reason> 并继续。切勿因为某个渠道出故障而让整个审计失败——出故障的渠道本身就是一项发现。
步骤 3 — 评分与分流
对于发现的每个项目,应用评分标准(4 个等级,保守评估):
| 等级 | 含义 | 示例 |
|---|---|---|
| 🟢 健康 | 表现符合基准,无需采取行动 | 打开率 >25% 的电子邮件自动化;QS ≥ 7 的 Google Ads 广告系列;主要关键词排名前 10 的 SEO 页面 |
| 🟡 快速见效 | 小幅修复即可带来显著提升(耗时 <2 小时) | 广告文案缺少网站链接附加信息;包含失效合并标签的电子邮件模板;缺少 schema 标记的落地页 |
| 🟠 战略缺口 | 需要实质性干预(研讨会、素材、决策) | 没有有效的再营销受众;没有否定关键词列表;AI 生成内容没有 AEO 披露 |
| 🔴 危险信号 / 损失 | 正在造成资金损失或合规风险 | 广告系列仍在支出,但转化跟踪已失效;电子邮件列表没有 GDPR 来源记录;CRM 工作流因重复联系人而触发 |
符合以下任意一项的情况都属于危险信号:(a)每月可衡量的浪费金额 > $X(默认 $500,可使用 --red-flag-spend-threshold 覆盖);(b)违反法规(缺少同意、缺少 AI 披露、虚构声明);(c)品牌安全风险(正在投放的广告系列涉及已停售产品,或与其他正在投放的广告系列相矛盾)。
步骤 4 — 编写审计文档
将审计报告写入 ~/.claude-marketing/brands/{slug}/audits/campaign-audit-{YYYY-MM-DD}.md,并将用户可见的副本发布到 ~/Documents/DigitalMarketingPro/{brand}/audits/{YYYY-MM-DD}-campaign-audit.md(双副本模式)。文档结构:
# Current-State Campaign Audit — {brand_name}
**Run date:** {YYYY-MM-DD}
**Auditor:** /digital-marketing-pro:campaign-audit
**Active brand profile:** {profile_version_or_last_modified}
**Channels in scope:** {list}
**Channels skipped:** {list with reason}
---
## 1. Executive Summary
- **{N} active campaigns** across {M} channels
- **Estimated monthly spend (managed):** {currency} {amount}
- **Healthy items:** {count} · **Quick wins:** {count} · **Strategic gaps:** {count} · **🔴 Red flags:** {count}
- **Top three red flags** — bulleted, with the specific cost or risk
- **Recommended next conversation** — usually one of: budget reallocation, conversion-tracking fix, compliance remediation, channel-mix shift
## 2. By channel
### 2.1 Paid search
| Account | Campaign | Status | Daily budget | Last modified | Spend (30d) | Conversions (30d) | Triage |
|---|---|---|---|---|---|---|---|
| ... | ... | ACTIVE | $X | YYYY-MM-DD | $Y | N | 🟡 Add sitelink extensions |
[Repeat for each channel section. Include the inventory table, the scoring summary, and the per-item triage.]
## 3. Cross-channel observations
- Attribution model in use (and which channels override it)
- Cross-channel audience overlap (Meta retargeting includes Google Ads converters?)
- Cadence collisions (email send + LinkedIn organic + paid social all hitting the same audience the same morning?)
- Funnel gaps (channel produces leads but no nurture sequence wired up)
## 4. Compliance posture
- EU AI Act Article 50 disclosure state on AI content
- C2PA signing state for AI images/video distributed in EU markets
- Consent-mode (cookie banner) version + last consent rate
- Regulated-industry claim register (linked to primary sources)
## 5. AEO / GEO snapshot
Mention rate vs top 5 competitors across Google AI Mode, Perplexity, ChatGPT search, Claude search, Copilot, Gemini App. Citation share, recommendation share, trend vs last audit.
## 6. Quick-wins backlog (do these this week)
Bulleted list. Each item: action · channel · effort · expected impact · who owns it.
## 7. Strategic gaps (queue for next planning conversation)
Bulleted list. Each item: gap · why it matters · what would close it · estimated investment.
## 8. 🔴 Red flags (escalate before continuing routine work)
Bulleted list. Each item: the specific issue · cost or risk in concrete numbers · the literal command or platform action to remediate.
## 9. Channels NOT running that probably should be
Bulleted list. Each item: channel · why it's missing · what minimum viable activation looks like.
---
**Next steps:**
- Take the quick-wins backlog into a 30-min triage with the account lead.
- Bring the strategic gaps to the next `/digital-marketing-pro:campaign-plan` conversation.
- Resolve every 🔴 red flag before the next routine work cycle.
步骤 5 — 更新品牌的审计历史
在 ~/.claude-marketing/brands/{slug}/audit-history.json 中追加一条简短记录:
{
"audits": [
{
"type": "campaign-audit",
"date": "{YYYY-MM-DD}",
"channels_audited": ["paid_search", "email", "seo", "..."],
"channels_skipped": [{"channel": "linkedin_ads", "reason": "connector_unauthenticated"}],
"healthy_count": N, "quickwin_count": N, "gap_count": N, "redflag_count": N,
"report_path": "{tracking_path}",
"published_path": "{user_visible_path}"
}
]
}
步骤 6 — 向用户展示报告
在对话中输出:
✅ Campaign audit complete for {brand_name}.
Channels in scope: {list}
{N} healthy · {N} quick wins · {N} strategic gaps · {N} 🔴 red flags
📂 Report saved to:
{published_path}
Top 3 red flags:
1. {item}
2. {item}
3. {item}
Next: walk the quick-wins backlog in a 30-min triage, or run
/digital-marketing-pro:performance-check for a metrics-only snapshot,
or /digital-marketing-pro:campaign-plan to start the next planning cycle.
行为规则
- 所有渠道均为只读。 不暂停、编辑或删除任何广告系列。不发送电子邮件。不修改任何 CRM 记录。这是一次清点与评分。
- 单个渠道出故障 ≠ 整个审计失败。 出故障的连接器应作为发现列入“已跳过的渠道”列表,而不是作为异常中止整个技能。
- 提供具体数字,不用形容词。 “每月浪费 $X”胜过“支出效率低”。如果没有某项数字,请注明“未知 — {connector} 未返回该数据”,而不是捏造数字。
- 合规发现应引用一手来源。 引用“X 法规要求 Y”时,切勿使用 Wikipedia、博客文章或 LLM 输出作为来源。使用
skills/context-engine/compliance-rules.md中的条目;如果其中没有涵盖某个司法管辖区,请将该发现标记为compliance_basis: unverified,不要猜测。 - 报告保留双副本。 内部副本(用于跟踪)保存到
~/.claude-marketing/brands/{slug}/audits/;用户可见的副本保存到~/Documents/DigitalMarketingPro/{brand}/audits/(如果已设置,则使用$DIGITAL_MARKETING_PRO_PUBLISH_DIR)。采用双副本模式,是为了让用户无需翻找隐藏目录就能找到文件。
参数
/digital-marketing-pro:campaign-audit [--brand <slug>] [--channels <list>] [--quick]
[--competitors <list>] [--red-flag-spend-threshold <amount>] [--json]
--brand <slug>— 要审计的品牌(否则使用当前品牌)--channels <list>— 要审计的渠道子集,以逗号分隔(否则审计所有已配置连接器的渠道)--quick— 仅清点渠道;跳过历史数据拉取和 AEO/GEO 检查--competitors <list>— 为 AEO/GEO 部分指定明确的竞争对手列表(否则使用品牌资料中的列表)--red-flag-spend-threshold <amount>— 覆盖默认的每月 $500 浪费金额阈值,用于标记 🔴 项目--json— 除 Markdown 报告外,额外输出机器可读的 JSON 摘要
相关技能 + 命令
validate-profile— 前置检查(先运行)campaign-plan— 如何处理发现的战略差距launch-campaign— 计划获批后要做什么performance-check— 更轻量的纯指标快照competitor-analysis— 与 AEO/GEO 部分自然搭配aeo-audit— 如果第 5 部分引发担忧,可进行更深入的 AI 引擎可见性审计${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py— 底层数据提取