很多人研究竞品广告素材,流程几乎一模一样:在创意中心按播放量排序,点开表现最好的那条,来回看三遍,再凭感觉总结一句“前半段节奏很快”或“痛点抓得准”,然后照着拍一版。效果不温不火,就再打开下一条爆款,继续重复。
问题不在于不够勤奋,而在于看的指标从一开始就不对。播放量和点赞数只能说明这条素材赢过,却无法告诉你:它究竟在哪一秒赢了,又是靠什么赢的。而这两件事,才是下一条素材真正能复用的部分。
先说明数据来源:本文提到的所有曲线和百分位,都来自各平台公开的广告资料库和创意中心。只要使用自己的账号就能查看,不涉及抓取、签名或任何绕过机制。创意中心本来就是平台给广告主准备的,数据一直摆在那里;多数人只是没有弄清楚,究竟该看哪几个数字。
播放量可能是最没用的指标
播放量受到平台分发逻辑的严重干扰。一条素材播放量高,可能是内容确实好,也可能只是上线早、投放猛,刚好吃到了低价流量窗口。只看播放量本身,根本分不清“创意好”还是“预算大”。
点赞数的问题更大。点赞代表情绪反应,但这种反应往往和你真正关心的转化并不在一个方向。一条让人发笑的素材可能点赞很多,用户笑完却直接划走,转化仍然是零。围绕点赞优化,优化出来的是娱乐性,不是购买意愿。
这两个指标还有同一个致命缺陷:它们都是没有时间维度的标量。广告素材是沿时间展开的内容,用户在第 2 秒、第 5 秒、第 8 秒的行为完全不同;一个总播放量,却把整条时间线压平了。拿一个被压平的数字,去指导一项本质上围绕“什么时间发生什么”的工作,信息从起点就已经丢失。
真正带有时间维度的数据,其实就在创意中心的素材详情页里,只是几乎没人点进去看。
三条曲线,分别看三个关键拐点
打开一条高表现素材,除了视频本身,平台通常还会给出三条几乎没人认真研究的逐秒曲线:逐秒留存、逐秒点击、逐秒转化。横轴是视频播放到第几秒,平台会标明总时长;纵轴则分别对应这一秒仍在观看的人数、点击人数和转化人数。平台甚至会帮你标出几个高光帧,但标出位置不等于替你完成解读。高光帧只告诉你哪里发生了变化,不会告诉你这种变化意味着什么。
读曲线的重点,不是整体高不高,而是拐点出现在哪一秒。三条曲线的拐点,各自回答一个问题:
留存曲线的断崖,判断开头有没有留住人。所有留存曲线都从 100% 开始下滑,关键在于下滑的形状。第 2 秒或第 3 秒出现陡降,说明开场的前两秒没有给用户足够的继续观看理由;划走的,正是没有被钩住的人。断崖的位置直接对应脚本中的那一句话、那个镜头。第 3 秒掉下去,问题就出在第 3 秒的画面。
点击曲线的峰值,告诉你卖点到底在哪一秒真正打中了用户。点击不会均匀发生,往往集中爆发在一两秒内。那一秒的画面在做什么——展示价格、演示效果,还是抛出承诺——就是这条素材真正的钩子。很多人以为钩子一定在开头,但点击峰值常常会告诉你,它其实在中段。
转化曲线的滞后,是最反直觉、也最有价值的信号。转化几乎不会和点击同步,总会晚一些。用户可能在第 5 秒被打动并点击,却在第 12 秒看完利益点后才完成转化。这段滞后,也就是点击峰值到转化开始上升之间相隔的秒数,告诉你素材需要留出多长的说服区间,才能让用户从“感兴趣”走到“愿意购买”。滞后太长,往往意味着利益点铺得太慢,用户还没等到结论就离开了。
把三条曲线叠起来,一条素材的完整逻辑就出来了:先用几秒留住用户,在某一秒打动他们,再用几秒把兴趣推向转化。这三个拐点所在的秒数,就是可以原样带进下一条脚本的结构。
CTR 要看百分位,绝对值没有意义
除了曲线,平台通常还会提供一个额外指标:这条素材的 CTR 百分位。
新手最容易犯的错,是把 CTR 当作绝对值来读,比如“这条 CTR 有 5%,还不错”。5% 究竟高不高,离开同类基准根本无法判断:在冲动消费类目里,5% 可能垫底;在高客单价类目里,5% 可能已经领先。绝对 CTR 本身不传递有效信息,百分位才传递。百分位 0.9,意味着它的点击表现超过了所在行业 90% 的素材,这才是能用来决策的一句话。
百分位还有一个容易被忽略的参数:时间窗口。同一条素材,按最近 7 天、30 天或 180 天计算,可能得到截然不同的百分位。一条刚刚开始放量的素材,在 7 天窗口中可能排名很高,但放进 180 天窗口就会被稀释。你选哪个周期进行对比,决定了这个数字到底代表什么,因此时间窗口要和自己的投放节奏对齐。
还有一条同样容易漏看的曲线:素材按天计算的热度走势。它是在上升、进入平台期,还是已经拐头下滑?如果一条素材 CTR 百分位很高,但热度曲线已经向下,此时去模仿,追的只是上一波流量尾声。真正值得复制的,是百分位不错且热度仍在上升的素材。这条曲线决定的不是“要不要抄”,而是“现在抄会不会太晚”。
把一批曲线交给模型做归因
只看一条素材的三条曲线,人脑还可以处理。但要得到可复用的结论,就得把同一行业里跑得好的十几条、二十条素材放在一起,看它们的拐点到底有什么共性:是不是都在第 2 秒前稳住了留存?点击峰值是不是总落在某一类固定画面上?人脑很难完成这件事,因为你需要同时在脑中对齐数十条曲线的逐点数值。这正是模型该介入的地方。
正确做法不是一步到位,而是分成两步(这套两步法和广告文案聚类那篇文章的思路一致):
第一步,逐条素材提取结构化字段。针对每条素材,提取三条曲线各自的拐点秒数、拐点附近的数值跌幅,以及该秒画面在做什么,并整理成一条结构化记录。这是高并发、偏机械的工作,每条素材一次调用,一批下来通常是几百到几千次。
第二步,把整张表一次性交给模型做归因。提示词必须把输出格式钉死。不要问“这些素材为什么好”,否则只会得到一堆“开场很有吸引力”之类的空话。应要求模型针对每个共同结构,输出以下三部分:
You'll receive per-second curve summaries for N high-performing creatives in
one category, each with three inflection seconds, drops, and a frame
description at that second. Find the recurring structures, and output each
one in the format below, no prose:
1. Inflection second
Which second of the video this structure reliably appears at (give a
range, not a single point)
2. What the frame is doing
The specific action/element at that second, pointing to specific
creative IDs, no vague descriptions allowed
3. Reusable script structure
Abstract it into one instruction you can write into the next script
(e.g. "an after-use result frame must appear before second 2")
4. Counterexample
Are there creatives in this batch that break this structure and still
perform well? If so, list them. If the structure doesn't actually hold,
say so directly
第一步适合低成本的批处理档位;第二步需要同时容纳整批曲线数据,正好是长上下文档位的主场。数十条素材的逐点数组,很容易累积到几十万 token。两个档位搭配使用,成本和精度才能同时对齐。
归因必须落到脚本结构上
上面提示词的第三部分,决定了整套方法有没有价值。不能转化为下一条素材脚本指令的归因,都是空话。
“这些爆款节奏都很好”不是归因,只是一种感受;你无法把“节奏很好”拍出来。“所有能留住用户的素材,都会在第 2 秒前展示使用后的结果画面,而不是产品本身”才是归因,因为它能直接变成可执行的拍摄指令:下一条脚本,第 2 秒前必须出现结果画面。
判断一个归因有没有用,只需要问一件事:它能不能变成脚本中的一个具体变量?秒数是变量,画面类型是变量,说服区间的长度也是变量。能变成变量的留下,不能的删掉。最终你需要的不是一份竞品分析报告,而是下一批素材的变量表:第几秒放什么,要留几秒用于说服,钩子应该落在哪一帧。
变量表再往前一步是脚本,再往前一步则是成片。从脚本到成片,需要站内图像与视频生成;完整的“关键词到曲线归因到脚本到成片”闭环,见关键词到成片那篇文章。本文只处理从曲线读到变量表这一半。
最大的陷阱:别让模型把相关性当成因果
批量归因有一个几乎无法避免的陷阱:模型很容易把相关性直接判成因果。
它看到十条高留存素材开头都有猫,就会告诉你:“猫是提升留存的关键。”但真实情况可能只是,这批素材恰好来自一个喜欢用猫的团队;猫和高留存都只是该团队风格的结果,二者之间并不存在因果。你相信了这个归因,下一批素材硬塞进一只猫,留存却不会有任何变化。
这个陷阱和 JS 逆向中模型“识别出一种算法家族后,就不再细看”的问题本质相同:模型一旦给出自洽解释,就会停止怀疑自己。逆向工作流的解决办法,是在提示词中强制模型输出反证部分;这里完全可以直接沿用。因此,上方提示词中的第四部分——反例——不是可选项,而是检验归因是否可信的关键。
实际用法很直接:如果模型声称“第 2 秒的结果画面导致了高留存”,就继续追问它:“这一批中,是否存在第 2 秒展示结果画面、但留存很差的素材?”如果存在,说明这个因果判断不成立,画面与留存之间还有其他因素。如果模型搜索完整批次后找不到反例,这个结构才值得写进变量表。一个无法给出反例的模型,它的任何归因都不该直接用来指导创作;否则你拍出来的只会是一堆相关性,且根本不知道为什么不生效。
每一步该用什么模型
这条四步流程对模型的要求完全不同。用同一个模型跑完整个流程,要么浪费成本,要么牺牲精度:
步骤 | 所需能力 | 选择 | model id |
|---|---|---|---|
逐条素材提取字段(N 条素材的拐点 + 对应画面) | 成本低,可高并发执行数百到数千次调用 | Claude Sonnet 5 |
|
批量归因(同时容纳整批曲线,寻找共性) | 长上下文,单次输入可达几十万 token | Kimi K3 |
|
因果检验与反例查找(质疑共同结构) | 推理能力强,愿意反驳自己的结论 | Claude Opus 5 |
|
单条素材差异归因(为什么它的转化滞后) | 中等推理能力,能够围绕某个具体秒数解释问题 | GPT-5.6 Sol |
|
尤其值得强调的是反例步骤。它检验的,本质上和算法家族识别中反证部分检验的是同一件事:模型会不会继续质疑自己刚刚得出的结论。较弱的模型会把反例部分写成结论复述,例如“该结构在大多数素材中均得到验证”;更强的模型会真正找出与结论矛盾的素材。反例部分的质量,直接决定你会围绕多少伪因果去拍素材。
不要只听我的说法,自己测一次。测试流程如下:
从一个行业中挑出 10 到 15 条头部素材,拿到每条的三条逐秒曲线和 CTR 百分位。
用低成本档位将它们提取为结构化表格,包括拐点秒数和该秒画面。
把整张表连同上文第 4 部分的反例提示词,一起交给
claude-opus-5和gpt-5.6-sol。只看一件事:模型能否主动把“留存漂亮但转化很差”的素材挑出来作为反例。能在没有额外提醒时给出反例的档位,才是能拿来写脚本的归因档位。
跑一轮就能看出差别,比任何 benchmark 都更直接。
真正麻烦的不是选模型,而是切换成本
四个模型、三个供应商、三套 SDK、三种鉴权方式、三种错误格式。想在不同步骤用不同模型,最朴素的办法是接三个客户端;但多数人一算成本就觉得不值得,最后还是整条流程只用一个模型。结果就是在批量归因阶段使用了反例能力较弱的档位,围绕伪因果拍出一堆无效素材,却不知道问题出在哪里。
AIReiter把这一层抹平了:一把 key、一个兼容 OpenAI 的接口,背后覆盖四个档位;只需修改请求体中的 model 字段,就能完成切换。
# Batch attribution + counterexamples: the reasoning tier
curl https://aireiter.com/api/v1/chat/completions \
-H "Authorization: Bearer $AIREITER_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5",
"messages": [{"role": "user", "content": "<attribution prompt + N curve-summary table>"}]
}'
# Extract fields per creative: change the model field, leave the rest
# "model": "claude-sonnet-5"
# Long context to hold a whole batch of curves:
# "model": "kimi-k3"
如果你已经在使用 OpenAI SDK,只需把 base_url 指向 https://aireiter.com/api/v1,其他部分无需改动。使用 Anthropic SDK 时,则用相同的 key 请求 POST /api/v1/messages。
价格方面,Claude 模型按官方定价七折计费,GPT 模型五折计费。这个流程的折扣恰好覆盖了主要成本:逐条素材字段提取是调用最密集的步骤,每批数百到数千次,使用七折的 Claude Sonnet;单条素材差异归因使用半价的 GPT-5.6 Sol。批量归因则需要数十万 token 的长上下文输入,运行在 Kimi K3 上,同一把 key 即可调用。折扣正好落在两个最昂贵的环节上。
免注册试用:先手动输入几条曲线,对比两个模型是否会给出反例,再决定接入哪一个。
结语
用播放量和点赞数读素材,本质上是拿一个压平了时间线的标量,去指导一项从头到尾都与时间有关的工作。信息从一开始就没了。
创意中心一直在提供带时间维度的数据:三条逐秒曲线的拐点,分别告诉你该在哪几秒留住用户、打动用户、促成转化;CTR 百分位则告诉你这条素材在同类中究竟好不好,绝对值本身几乎没有意义。把一批素材的曲线交给模型做批量归因,得到的不再是一句“它很好”的感觉,而是一张可以直接写进下一条脚本的变量表——前提是,你必须强制模型给出反例,逐一把它假定的相关性筛成真正的因果。
模型在这里的角色很明确:它是能同时对齐数十条曲线、找出共同结构,并在提示词约束下愿意反驳自己的归因器。它不会替你拍广告,也不会替你决定因果。反例用来筛选真正的因果,变量表变成脚本,成片则是下一篇文章要解决的事。