mcpField
C
campaign-audit

campaign-audit

github.com/indranilbanerjee营销与增长91386 次安装今天更新
代码仓库

关于 campaign-audit

用于盘点并评估品牌各营销渠道当前状态的只读审计技能,生成涵盖投放、表现、预算浪费和合规风险的报告。可按指定渠道或快速模式执行,并在单个连接器出错时继续审计其他渠道。

主要功能

  1. 01盘点多个营销渠道的在运行项目
  2. 02评估表现、预算浪费与合规风险
  3. 03支持指定渠道和快速盘点模式
  4. 04连接器故障时标记跳过并继续
  5. 05生成 Markdown 报告和 JSON 摘要

适用场景

  1. 01接手新客户时建立营销现状基线
  2. 02季度营销刷新前盘点渠道表现
  3. 03品牌收购或重组后梳理投放
  4. 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 — 前置条件

此技能假定:

  1. 品牌资料已创建,并且 /digital-marketing-pro:validate-profile --brand {brand} 返回 passed 或 passed_with_warnings。如果返回 blocked,则拒绝执行,并告知用户先修复阻塞项——在损坏的资料上进行审计会产生错误的基准数据。
  2. 已配置所涉及渠道的连接器凭据(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.

行为规则

  1. 所有渠道均为只读。 不暂停、编辑或删除任何广告系列。不发送电子邮件。不修改任何 CRM 记录。这是一次清点与评分。
  2. 单个渠道出故障 ≠ 整个审计失败。 出故障的连接器应作为发现列入“已跳过的渠道”列表,而不是作为异常中止整个技能。
  3. 提供具体数字,不用形容词。 “每月浪费 $X”胜过“支出效率低”。如果没有某项数字,请注明“未知 — {connector} 未返回该数据”,而不是捏造数字。
  4. 合规发现应引用一手来源。 引用“X 法规要求 Y”时,切勿使用 Wikipedia、博客文章或 LLM 输出作为来源。使用 skills/context-engine/compliance-rules.md 中的条目;如果其中没有涵盖某个司法管辖区,请将该发现标记为 compliance_basis: unverified,不要猜测。
  5. 报告保留双副本。 内部副本(用于跟踪)保存到 ~/.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 摘要

相关技能 + 命令

评论

支持 Markdown