EMAX Studio Blog

AI驱动的Meta广告每日健康检查:在你醒来之前自动暂停烂广告

Manuel Mrosek · 2026-06-17 · 浏览量

AI驱动的Meta广告每日健康检查:在你醒来之前自动暂停烂广告

AI驱动的Meta广告每日健康检查,是一个定时脚本:它从Marketing API拉取前一天的Insights,套用固定的CTR、CPM和frequency阈值,自动暂停所有低于这些阈值的广告,并在你打开笔记本之前把一屏报告发送到Telegram或Slack。做对了,每天只要大约三分钟的算力,到上午9点就能省下比这多得多的浪费广告预算,还能替代每天点进Ads Manager、对着那五列数据眯眼的早晨仪式。

如果你还没在账户上配好Meta的Marketing API,先从Meta Ads CLI分步搭建指南开始。如果你还在犹豫该不该让AI代理来跑你的广告,更宏观的论证在用AI代理跑Facebook广告。本文假设你已经有一个能跑的CLI、一个System User token,至少一个跑着的ad set。我们从大多数人会跳过的那一步接着讲:真的每天检查这些广告。

为什么每日检查比每周复盘更胜一筹

Meta的delivery算法不会给亏损广告一周时间让它站稳脚跟。衰减曲线很快。一个开局CTR 1.4%、第二天掉到0.4%的ad set,已经被算法限流了:投放更少、CPM更高、版位更差。到了第三天预算照样按日烧着,但广告被推给的是手指滑错的人,而不是真想要这个offer的人。

这里的财务账才是关键。一个$30/天的ad set,在你注意到之前以0.3% CTR多跑了五天,就在不会转化的流量上烧掉$150。两个campaign下面跑20个ad set,那就是每个月$3,000被冲走,只因为周六早上没有人去看面板。每周复盘的习惯假设广告死得慢。它们不慢。它们在24到48小时内就死了,而你的预算继续为葬礼买单,直到你把它关掉。

每日胜过每周还有一个原因:creative疲劳。7天窗口里frequency超过4.0意味着同一个人看到你的广告四次以上。互动崩盘、ad relevance下降,Meta开始向你收更高的每次展示费用作为补偿。捕捉疲劳的唯一办法是每天看frequency,而不是周五下午坐下来"做营销"时才看。

真正的每日健康检查到底做什么

"广告面板"这个词让人想到Ads Manager。这不是我们要搭的东西。我们要搭的是一个小Python脚本,按顺序做四件事,不需要任何面板。

第一,它用一个永不过期的System User token向Meta Marketing API做认证。没有登录、没有二次验证提示、没有session超时——这个token周日早上7点跟周二中午一样能用。

第二,它从所有active的ad set拉取前一天的Insights:impressions、clicks、CTR、CPM、spend、frequency,以及你配置的任何自定义conversion事件。对大多数账户来说,这就是每个ad account一次API调用,按ad set和ad拆解。

第三,它套用你的阈值。不是Meta推荐的阈值、不是某个行业基准——是你的阈值。是你认定的、"这个广告在工作"和"这个广告在烧钱"之间的那条线。如果广告不及格,脚本标记它。如果它真的不及格(下面会讲什么叫真的不及格),脚本可以当场暂停它,在你睡觉的时候。

第四,它把一条消息发到你真正会看的地方。对大多数operator来说就是Telegram或Slack。不是邮件——邮件是报告去等死的地方。这条消息包含一行摘要、一张通过/失败的表,以及夜里自动采取的所有动作。

就这样。没有面板、没有分析套件、没有每日登录。整个闭环是200行Python加一条cron。

三条真正管用的每日触发规则

在真实的EMAX Studio广告上跑过这个,并帮过几个小广告主做同样的事之后,我们发现三条规则承担了大部分工作。其余都是锦上添花。

规则1:100+ impressions之后CTR低于0.5% = 自动暂停。
这是单条杠杆最大的规则。100次impressions之下没有信号——第一天就暂停是业余水平。超过100次impressions后,CTR在统计上已经足够有意义可以做决策。冷流量上CTR低于0.5%意味着要么creative错了、要么hook错了、要么受众错了。这三种情况都不会通过再烧$50变得更好。自动暂停,往前走。

规则2:CPM连续3天超过ad set中位数的2倍 = 警告。
不是自动暂停——是警告。如果某个ad set里的单条广告连续三天付着兄弟广告平均CPM的两倍,Meta在告诉你这个广告的relevance score很低。有时候你还是留着它,因为conversions很强;警告给你一个机会去看一眼。仅凭CPM自动暂停是个错误,因为高CPM配高conversion rate依然是赚钱的广告。

规则3:7天窗口内frequency超过4.0 = creative疲劳标记。
和规则2同样的原则——是标记,不是击杀。frequency超过4意味着你的受众一周内看到同一个creative四次以上。有时这是有意的(retargeting)。大多数情况下意味着你需要在接下来的48小时里出一个新creative变体,否则CPM会继续往上爬。脚本标记这条广告,理想情况下抄送给负责creative的人。

这就是整本规则书。三个阈值、一个自动动作、两个警告。你不需要一个20条规则的rules engine。你需要三条你信得过的规则。

真实搭建走查

下面是接好线之后的样子。Manuel在EMAX Studio上跑的就是这个堆栈。

脚本位于scripts/meta_daily_report.py。它从~/.emax/automation-config.json(或生产环境对应的/opt/emaxstudio/.emax/)加载凭证,读取meta_ads段以拿到System User token、Ad Account ID和Telegram bot凭证。Marketing API端点是https://graph.facebook.com/v23.0/act_<account_id>/insights,用正确的字段集:impressions, clicks, ctr, cpm, spend, frequency, actions,按ad_idad_name拆解。每个ad account一次HTTPS请求,解析进一个Python dict。

然后脚本把这些数据和EMAX Studio内部的Quick Scan event数据库做join——对每条广告,多少人点进来并真的开始了一个Quick Scan。这一列conversion就是"这条广告拿到了点击"和"这条广告拿到了正确的点击"之间的差别。如果你的业务有类似的漏斗事件(signup、demo booking、free trial start),从你自己的数据库里拉,按utm_campaign或某个自定义URL参数做join。不要相信Meta在小日窗口上报的conversions——它们噪声很大。

代码里套用的阈值:如果impressions >= 100 AND ctr < 0.005,脚本调用POST /act_<id>/<ad_id>status=PAUSED。动作被记录。如果命令行没有传--auto-pause,脚本在报告里标记广告但不实际暂停——头一周很有用,让你建立对阈值的信任。

投递走Telegram。Production Bot(ID 8569897179)发到operator chat(6301180951),用Markdown格式的消息。如果Telegram因任何原因失败——网络抖动、限速、过期chat——脚本fallback到Resend发邮件,这样你永远不会得到一个寂静的早晨。

Hetzner VPS上的cron条目:0 5 * * * cd /opt/emaxstudio && python3 scripts/meta_daily_report.py --auto-pause。这是UTC 5:00,即柏林CEST 7:00——足够早,报告在第一杯咖啡之前就在手机上等着了。--auto-pause这个flag是把脚本从"只警告"翻转到"夜里真的采取动作"的开关。

整件事在CLI搭好之后用了一个下午接线。难的不是代码。难的是承诺这些阈值并相信它们。

健康检查输出格式

报告到达时应该长什么样。不是一堵数字墙——而是一屏摘要,告诉你是该放松还是该打开笔记本。

板块 内容
头部 日期、昨日总花费、币种
自动动作 夜里被自动暂停的广告列表,附原因("CTR 0.31%,142 imp")
警告 CPM超中位数2倍或frequency > 4的广告,未采取动作
头部表现 impressions >= 100的CTR前3广告,用来核对算法在找到赢家
漏斗KPI 昨日开始的Quick Scans(或你的等价conversion事件)、每次扫描成本、与7天滚动平均的对比
尾部 一句话:"All systems green"或"X items need attention"

Telegram消息绝对不应该超过一屏手机能不滚动看完的内容。如果你发现自己把它写更长了,说明你在读太多metrics。三条规则、两个警告、三个头部表现、一个漏斗数字。再多就是周二下午的分析问题,不是早上7点operator的问题。

阈值表——自动暂停、警告还是忽略

给想要可以复制粘贴的起点的人。根据你的CPM范围、你的行业、你的conversion事件调整。这些不是真理,是合理的默认值。

指标 最低样本 自动暂停 警告 忽略
CTR(link clicks) 100 impressions < 0.5% 0.5%–0.8% > 0.8%
CPM vs. ad-set中位数 连续3天 > 2.0x < 2.0x
Frequency(7天) 7天投放 > 4.0 < 4.0
Conversion rate(click → scan) 50 clicks < 1% 1%–3% > 3%
ROAS(如果有跟踪) $50花费 < 0.5 0.5–1.0 > 1.0

两条注意。一:永远不要在低于最低样本的指标上自动暂停。低于100次impressions时,0% CTR什么都不意味着——过早暂停在Meta甚至还没开始学习之前就把广告杀掉了。二:把ROAS作为自动暂停触发条件,在小日窗口上很危险。第一天0.4的ROAS不是死刑;第五天才是。在自动化任何基于ROAS的击杀前,先建一个多日的检查。

陷阱

几件事如果跳过会咬你一口。

不要在没有最低impressions阈值的情况下自动暂停。一个全新广告有时8次impressions之后显示0% CTR,原因不是creative不好。是8次impressions就是统计噪声。在任何自动暂停决策之前,永远要求至少100次——高CPM垂直行业要求200次。

不要在没有预算重新分配规则的情况下暂停。如果你的脚本在一个$100/天campaign预算的ad set里暂停了10条广告中的4条,预算会流向剩下6条——它们健康的话没事,它们也勉强的话糟糕。提前决定被暂停的预算是在campaign内重新分配还是回到账户层,并把它写下来。

不要在正在主动扩量的阶段跑健康检查。如果你在用5倍预算增加去刻意压力测试一个新受众,前48小时会因为Meta在重新学习投放而产生很难看的CTR。在那个窗口里的自动暂停会在实验完成前杀掉它。要么用一个tag禁用这个campaign的自动暂停,要么搭一个脚本会尊重的"scaling mode"标志。

不要相信第一天的数字。发布广告后的前24小时包含算法的探索阶段:它刻意把广告推给一个更宽、更怪的用户集合来找到你的转化者。第一天的CTR几乎总是比第三天差。在第一天的CTR上暂停,你会暂停那些本来会稳定成赢家的广告。

不要在周一早上自动暂停周末低谷。对大多数B2B和很多B2C垂直行业,周六周日CTR比工作日CTR低30到50%。如果你的周一早报自动暂停所有周末表现不佳的广告,你来上班时会看到一个没有live广告的campaign。要么在周末把阈值加权升高,要么干脆在周一把脚本设为"只警告"。这个论证更深入的版本在从lead到客户的AI营销自动化里,里面讲了为什么自动化规则需要有日历意识。

常见问题

这个每月运行成本多少?

便士。Marketing API调用在Meta标准rate limits下是免费的。一台便宜的VPS来跑cron job大约$5/月——如果你已经有一台服务器就是$0。Anthropic或OpenAI tokens,如果你用LLM写摘要文本而不是模板化,每次每日运行大约$0.01到$0.03。所以总共大约$5到$7/月。第一次自动暂停一条$50/天广告省下的就够付一整年。

这对Google Ads、LinkedIn Ads或TikTok Ads有效吗?

同样的架构对它们都有效。每个平台都有API,返回大致一样的KPI,并接受pause命令。阈值不同——TikTok的CTR比Meta高,LinkedIn的CPM是Meta的5到10倍。但脚本的结构(pull、threshold、act、report)是一样的。大多数operator从Meta开始,因为它花费最高,而且最不擅长快速发信号。让Meta跑顺之后,一个一个加其他平台。

我怎么处理creative refresh——AI会写下一个变体吗?

健康检查本身不写creative。它告诉你哪些广告在死、为什么死、什么时候死。下一步——生成新creative——是一个独立的job。脚本举起的flag就是creative refresh的触发,你可以手动做,也可以管道接到一个内容生成工具,产出新的hooks、图片和文案,准备好上传。EMAX Studio对我们自己的广告就是端到端这么做:每日报告标记疲劳,第二天早上campaign队列就有三个新变体准备好了。把这两件事桥接起来的那块在从lead到客户的AI营销自动化里描述。

AI真的能决定下一个该写什么creative吗?

它能——而且越来越能做——但小心你让它做什么。AI很擅长在一个有效的想法上生产新的hook变体(改写、改重点、换角度)。它在决定何时彻底放弃一个概念、试一些真正新的东西上要差很多。用AI做变体生成;把人类判断留给"我们到底还该不该跑这个offer"。这就是对我们有效的分工。

这跨多个ad account有效吗?

是的,而且应该。我们认识的大多数operator跑2到8个ad account——一个客户一个,或者内部团队每个品牌一个。脚本接受一个account ID列表,对每个跑同一条管道,发送一份合并报告或每个account一份报告。对agency来说,每个客户一份报告有意义;对内部多品牌团队,一个合并面板通常扫起来更快。无论哪种方式,System User token覆盖所有user有访问权限的account,所以认证是一次性的设置。

如果API挂了或被限速会发生什么?

脚本会用指数退避重试(3次尝试,然后放弃)。如果还是失败,你会收到一条Telegram消息:"Health check failed, manual review needed."这就是正确的行为。错误的行为是静默失败,让你三天后才发现没有任何检查在跑。从第一天就把失败模式建进去。

诚实的底线

AI驱动的Meta广告每日健康检查不是一夜暴富的工具。它不会把亏损campaign变成赢家。它不会替你写更好的hook。它不会替你跟设计师谈creative briefs。

它能做的,是把你广告操作里最贵的24到48小时决策——关于是否继续在CTR崩塌的广告上烧预算的决策——在你睡觉的时候做掉。它会替代每天早上打开Ads Manager、害怕看到什么的仪式。它会在早上7点给你手机上一个数字,告诉你是放松还是打开笔记本。

对一个每月在Meta上花$1,000的solo operator,这省下的浪费预算足以让它把自己付回十次。对一家管着$50,000/月、五个客户的agency,这就是一个junior media buyer能管两个客户和能管六个客户之间的差别。杠杆随着花费规模放大。

我们认识的、持续这么做的agent——设好阈值、相信它们、让脚本夜里暂停、只在被标记的警告上介入——比手动管理的同行表现更好。不是小幅度。是在同样的creative、同样的预算、同样的受众下,ROAS好30到50%,因为烂广告死得更快,预算更早流向幸存者。

emax.studio用免费的90秒扫描跑一下你自己的营销资产,看看你漏斗里真正的瓶颈在哪儿。免费、不用注册,完整报告在两分钟内回来。


关注 EMAX Studio:Instagram | YouTube | Facebook

分享:

准备好创建您的AI视频了吗?

5积分免费。无需信用卡。

免费开始