用途:ad-test-loop 管理付费社交广告测试的三个关键环节——付费前先确定测试能回答什么问题、投放时不落入平台静默默认值、读结果时不自我欺骗。使用前需先阅读项目的 ADS.md(模板 templates/ADS.md),其中包含账户、分析、后端表、campaign 记录与内部规则。
主要能力与流程:
- 测试计划(templates/test-plan.md):明确测试要支持的决策及可能答案(含 inconclusive);区分分配型与效果型问题;定义处理组、对照组、差异点、优化事件、落地页与归因窗口;指定判定指标(接近钱的合格动作)及平台优化代理指标;用 node scripts/arms.mjs plan --budget <per arm> --cost <cost> 计算每组预算与保守单事件成本;给出判定日、停止日、每个创意的损失上限及暂停责任人。
- 投放(Meta 见 references/meta-ads-manager.md):克隆已验证设置,关闭会改变展示或转化计数的默认项,需比较变体时每个广告组只放一个变体;向用户展示最终设置并等待明确同意;发布后回读每个广告的目的地、utm_content、两种媒体、AI 披露、优化事件、预算与状态;当天写 campaign 记录(templates/campaign-record.md)。
- 第 0 天:检查测量是否工作,事件、会话与测试线索是否到达;平台审核系统会打开新广告 URL,需标记疑似自动化流量并分别报告;第 0 天不做判定。
- 判定日读取(templates/results-read.md):按组与创意统计花费、展示、点击、落地会话、合格动作与付款,核对平台转化与后端记录;随机拆分或配对可用 node scripts/arms.mjs compare A=<events>/<spend> B=<events>/<spend> 并报告其判定;inconclusive、screen only、gross failure shown 都算结果;应用损失上限。
- 回写:更新 campaign 记录、newsjack 资产库状态与创意经验(须带分母)。
硬性限制:未经用户对最终设置明确同意,不得产生任何展示;通过 API 或 MCP 创建的对象一律 status: PAUSED,取消暂停即视为投放;激活、加预算、修改在线广告各需单独同意;暂停与停止无需同意。缺少发布清单项会阻止投放;冷观众检查仅写“合成面板、未做人工检查”可过筛但阻止扩量。不得仅凭站点流量数据排除国家、城市或受众。任何关于胜出的结论都必须给出事件数、曝光量与 arms.mjs 判定。扩量还需人工冷观众检查存档且判定优于 screen only。