在给小说站接 Facebook Pixel 的过程中,我踩了一个坑:把 ScrollDepth25 和 ScrollDepth75 也想着加进 AEM(聚合事件衡量)的优先级队列——毕竟”用户滚动越深说明越感兴趣”,这个逻辑听起来很合理。
后来想清楚了,这是在做一件很蠢的事。
一句话总结
Facebook Pixel 事件分两层——转化事件(优化广告用)和参与度事件(诊断 + 建受众用)——用错层等于给算法喂错信号,Facebook 会去找”爱滚动”的人,不是”爱读小说”的人。
两层事件,本质是信号质量问题
先看 Facebook 优化目标是怎么工作的:
你在 Campaign 里设置”优化 ViewContent”,Facebook 就会把你的广告展示给最可能触发 ViewContent 的人。算法本质是在学习:哪些人口特征、行为特征的人,最容易产生这个事件。
所以核心问题是:你希望 Facebook 去找什么样的人?
这就是事件分层的本质——不同事件代表不同的用户行为,代表不同质量的人群信号。
| 层级 | 事件 | 信号含义 | 用法 |
|---|---|---|---|
| 转化事件 | ViewContent | 打开了章节、开始读 | AEM + Campaign 优化目标 |
| 转化事件 | ChapterRead50 | 读到章节 50%,真读者 | AEM 高优先级 |
| 转化事件 | ChapterCompleted | 读完整章,深度读者 | AEM 最高优先级 |
| 参与度事件 | PageView | 点进了网站,包括 1 秒就走的 | 数据量积累 |
| 参与度事件 | ScrollDepth25 | 滚了四分之一,可能在看 | 受众建模、行为诊断 |
| 参与度事件 | ScrollDepth75 | 真的在读这一章 | 高质量 Lookalike 种子 |
AEM 的 8 个槽,是资源,不是垃圾桶
iOS 14+ 之后,苹果的隐私政策让大部分 iOS 用户的广告追踪失效。Facebook 的解决方案是 AEM(Aggregated Event Measurement):你预先申报最多 8 个事件,按优先级排列,Facebook 用差分隐私的方式帮你归因。
关键:只有 8 个槽,而且优先级顺序决定归因逻辑——当一个 iOS 用户触发了多个事件,Facebook 只把转化归因给其中优先级最高的一个。
正确的 AEM 配置应该是:
1 | ChapterCompleted (1) > ChapterRead50 (2) > ViewContent (3) > PageView (4) |
ScrollDepth25、ScrollDepth75 不应该在这个队列里。原因:
- 它们不是转化信号,是过程信号
- 浪费宝贵的 AEM 槽位
- 如果 ScrollDepth75 的优先级高于 ViewContent,iOS 用户触发了两个事件,归因会错误地落在 ScrollDepth75 而不是 ViewContent
ScrollDepth 有用,但用法不是”优化”
有用,但用法是数据诊断 + 受众分层,不是优化目标。三个具体用途:
1. 诊断广告质量
投一批广告 → 看落地章节的 ScrollDepth75 触发率:
- ScrollDepth75 率高 = 这批人真的在读 → 广告找对人了
- ScrollDepth75 率低但 ViewContent 高 = 人进来了但不读 → 广告文案/封面和内容不匹配
没有 ScrollDepth,你只知道”有人进来了”,不知道”有没有人在读”。这个区别决定了你该换素材还是换受众,解法完全不同。
2. 建高质量 Lookalike
1 | ScrollDepth75 的人 → 建自定义受众 → Lookalike 1% |
比用 PageView 或 ViewContent 建的 Lookalike 质量高得多——这批人是确认的真读者,Facebook 会去找特征相似的人,带来的也更可能是真读者。
3. 归因分析
对比 ScrollDepth25 vs ScrollDepth75 的转化漏斗:
1 | 100 人进章节 → 60 人到 25% → 30 人到 75% |
留存率 50%,说明内容前段吸引力还行,后段掉人。这是内容问题,不是广告问题——没有 ScrollDepth 数据,这个判断很难做到。
简单说:ScrollDepth 是侦察兵,不是士兵。
它不直接打仗(优化 Campaign),但告诉你谁在认真读、广告找的人对不对、内容哪里在掉人。没有它,你做投流决策是靠猜的。
一个反直觉的坑:PageView 不是越多越好
初期容易有个误区:PageView 数量越多,数据越充分,广告就越精准。
实际上 PageView 的信号质量是最低的——包含了点进来 1 秒就关掉的人、误点广告的人、爬虫(如果 Pixel 没做过滤的话)。用 PageView 做优化目标,Facebook 学到的是”什么样的人最容易点广告”,而不是”什么样的人最容易读小说”。
PageView 的唯一价值是数据量积累——新账号冷启动阶段,用它帮 Facebook 快速建立人群基础,之后该切的时候要切。
当 ViewContent 积累到 500 次,就应该把 Campaign 优化目标从”落地页点击”切换到”ViewContent”。这一步是投流的质变节点。
我的判断框架
遇到一个新事件,用两个问题判断它的定位:
问题 1:这个事件代表的用户,是我真正想要找到的人吗?
- ChapterCompleted 的人 = 读完整章 = 是我想要的人 ✓
- ScrollDepth25 的人 = 滚了一点 = 不确定,太模糊 ✗
问题 2:如果 Facebook 去找更多”触发这个事件的人”,找来的人符合预期吗?
- 优化 ChapterRead50 → 找来的人更可能认真读小说 ✓
- 优化 ScrollDepth → 找来的人更可能”爱滚动”,不代表会读完 ✗
通过这两个问题的事件 → 放进转化层,可以用作 AEM 和优化目标。
不通过的事件 → 放进参与度层,用来建受众和做诊断。
具体到我们的小说站,最终实现的事件体系:
- 布置在 layout(全局):PageView
- 布置在章节页 mount(进章节触发):ViewContent
- 布置在章节页 scroll(读的过程触发):ChapterRead50、ChapterCompleted、ScrollDepth25、ScrollDepth75
前两层进 AEM 配置和 Campaign 优化目标,后面的 scroll 事件全部留在参与度层做受众和诊断用。这个分层是当前最合理的实现,不过随着数据积累,ChapterCompleted 进 AEM 的时机还需要观察。






