打开 AdSense,进 Reports,按 Platform(设备)拆分,桌面填充率 92–98%,移动只有 55–70%。你 75% 流量是移动,这个差距正在拖垮整站 RPM。动手”修”之前,先把差距分成两半:哪部分是结构性的(动不了),哪部分是配置(能动)。多数人把几个小时花在结构性那部分,反而忽略真正能动的配置部分——正好搞反了。
最快的修法: 把每个移动广告位都换成 data-ad-format="auto" 加 data-full-width-responsive="true",然后跑一次 Lighthouse 移动审计,修掉最严重的 LCP 和 CLS 问题。这两步就能拿回大部分能动的差距。下面是完整打法。
差距是怎么来的——四层
第 1 层:广告主需求(结构性,约占差距 40%)
桌面广告主大量采购固定尺寸——728×90、300×250、970×250——库存深度大。移动的”标准格式”少,需求深度浅。300×250 移动位需求很强;320×100 移动 leaderboard 和 320×50 横幅就差很多。Anchor 填充不错,是移动端较强的格式之一,但所有移动格式平均下来还是低于桌面。
广告主的行为你改不了,但可以选有需求的尺寸。
第 2 层:可见性 viewability(配置,约占 30%)
AdSense 的拍卖偏好高可见性的广告位。按 IAB / Active View 标准,一个广告只有在至少 50% 像素连续在屏 1 秒以上时才算”可见”。一个只对 40% 用户可见的广告位——用户滚太快、或位置太靠下还没滚到就跳了——拿到的出价少、CPM 低,填充率也跟着被拖下来。移动页面更慢、停留更短,所以移动端可见性结构性偏低。一个粗略经验:可见性从约 65% 掉到约 50%,大致损失 10–20% RPM。
这一层你可以动——靠页面速度和广告位位置。
第 3 层:地区(结构性,约占 20%)
移动占比高的地区往往是发展中市场,广告主 CPM 低。印度、印尼、巴西、尼日利亚——移动占比高,CPM 低。如果你的流量集中在这些地区,移动填充率怎么调都低。
第 4 层:格式配错(配置,约占 10%,今天就能修)
这是多数人最快能动的部分。在移动端硬塞桌面尺寸、vignette 频率开太高、或移动端 side rail 开着但根本没位渲染——这些都白白拖低填充。
怎么定位是哪一层在拖你
打开 Reports,按 Platform 拆分,把桌面 vs 移动拉成这张表:
| 指标 | 桌面 | 移动 | 差 |
|---|---|---|---|
| Coverage / 填充率 | |||
| Active View viewable % | |||
| Page RPM / CPM | |||
| Top country 占比 |
然后看哪一项差最大:
- Active View viewable % 差最大 -> 可见性问题。修页面速度和位置(第 2 层)。
- CPM 差最大 -> 地区或尺寸不匹配。看国家分布(第 1、3 层)。
- 填充率差最大但 Active View 正常 -> 尺寸 / 格式配错。审一下移动广告位(第 4 层)。
按层对应的具体修法
修可见性(杠杆最大)
- 跑 Lighthouse 移动审计(Chrome DevTools -> Lighthouse,或
npx lighthouse <url> --preset=desktop再跑移动)。和可见性、竞价资格相关的目标:LCP < 2.5s、CLS < 0.1、INP < 200ms。注意:INP 已在 2024 年 3 月 12 日取代 FID 成为 Core Web Vital——如果某篇指南还让你盯 FID,那就是过时了。 - 每个移动广告位都在 CSS 里预留高度(用和预期广告匹配的固定
min-height)。这样广告加载时不会顶动内容,既保护 CLS,也让广告留在视口里、不被挤出屏幕。 - 别把第一个广告放在第一段之前。 放在正文开始之后一点(大约第 150–200 字之后)。反直觉,但用户到那里时对页面投入度更高,可见性比首屏一闪而过的位置更好。
- 按位置懒加载,不要一刀切。 永远不要给首屏广告位懒加载——那会直接伤可见性。正文中段的位用约 150–300px 的
rootMargin,首屏以外的位用 300–500px,让广告在用户滚到前刚好就绪。浏览器原生懒加载对广告来说太激进。
修尺寸
只用移动友好的尺寸:
- 300×250——移动需求最好。
- 336×280——也强。
- 320×100——OK,需求小一点。
- 响应式
data-ad-format="auto"——让 AdSense 自己选,一般会落到 300×250。 - 避免:728×90 硬塞到移动端(缩成无法阅读)、970×250(移动几乎无需求)。
截至 2026 年 6 月 Google 仍推荐的响应式标签:
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-XXXX"
data-ad-slot="YYYY"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
data-full-width-responsive="true" 没有被弃用;Google 自己的测试显示全宽响应式广告在移动竖屏下表现更好。保持开启。
降格式摩擦(Auto ads)
登录 AdSense,点你站点旁的 Edit,打开 Auto ads settings。格式分两组:Overlay formats(Anchor ads、Vignette ads、Side rail ads)和 In-page formats(Banner ads、Multiplex ads、Related search)。然后:
- Anchor ads——移动端保持开。它是可见性最高的移动格式之一,很少是问题所在。如果它挡了你的 UI,用新的定位控件调一下。
- Vignette ads——高摩擦的就是它。可以考虑移动端直接关,或者保留但要知道 “Allow additional triggers for vignette ads”(2026 年 2 月 9 日新增,若不操作会在 3 月 9 日自动生效):它会在一些信号下多触发 vignette,比如读到文章末尾再往上滚、闲置约 30 秒后再交互、以及切回后台标签页时。(Google 已于 2026 年 6 月 15 日移除浏览器返回键这个触发条件,它现在不再触发了。)关掉这个开关会连带关掉原有的触发方式——没法只关新增的那几种。
- Side rail ads——移动端关掉(手机上没有可用的侧栏宽度)。桌面的左/右/双侧控件在移动端本来也不生效。
- Banner / Multiplex——控页内密度,调 “Maximum number of ads on a page” 和 “Minimum distance between ads on a page”,别让移动端被低可见性的位塞满。Multiplex 只有在你真有内容网格布局时才挣钱。
移动 RPM 怎么看(不要过度反应)
移动 RPM 每周波动 15–30%,原因是广告主季节性预算、流量地区结构变化、AdSense 拍卖逻辑变化。不要根据 3 天的下跌做决定。用 30 天滚动窗口,只有 30 天平均显著变化了再动。
提移动填充率的最短路径
按命中率排序:
- Lighthouse 移动审计 + 修前两个最严重的问题——通常是 LCP 和 CLS。每减约 0.5s LCP,移动 RPM 大致涨 5–15%。
- 所有移动位换成
data-ad-format="auto"+data-full-width-responsive="true"。 让 AdSense 自己选尺寸。 - 移动端降低 vignette 频率(或直接关)。损失 5–10% 原始展示,但靠更好的页面指标和更少跳出,换回 10–20% 填充。
- 第一个广告挪到第一段之后,别放在它前面。反直觉的可见性收益。
- 等 30 天再测。 测量期间不要再做别的大改动。
怎么确认修好了
- 过约 14–30 天,重开 Reports -> Platform,对比同样的四指标表。移动端 Active View viewable % 应该是最先动的指标;填充率会滞后一点跟上。
- 重跑 Lighthouse 移动:
LCP < 2.5s、CLS < 0.1、INP < 200ms现在应该通过。 - 在 Ads -> Overview 里,确认移动 coverage 上升而没有新增政策警告(伴随密度警告的填充上涨是假赢——见下面的广告密度)。
哪些情况确实不是你操作错了
如果你 70%+ 流量来自低 CPM 国家、80%+ 是移动,绝对 RPM 怎么调都低——优化改不了这群受众的拍卖底价。这种情况要把变现多元化——战略框架看 Ad blocker 对 RPM 的影响。
容易误判的情况
- “多加移动位能补回低填充”——不行。密度惩罚会触发(看 广告密度违反政策),加低填充位只是把同样总收入摊薄。
- “移动填充应该和桌面一样”——不可能。哪怕极致优化也会留约 10–15% 残差。目标关掉一半差距,不是全部。
- “页速度只影响 CPM,不影响填充”——两者都影响:页速度 -> 可见性 -> 竞价资格 -> 填充。
- “为了清理移动端把 anchor 关掉”——别。Anchor 可见性高,通常是净正向;要先怀疑的高摩擦格式是 vignette。
预防建议
- 移动优先设计。第一天就在 CSS 里规划广告位置、尺寸和预留高度。
- 把 Core Web Vitals(LCP、INP、CLS)当成变现 KPI,不只是 SEO 指标。
- 移动填充率每周看一次,但只对月度趋势动手。
- 测布局改动时:一次只改一项,测 14 天,再下结论。
FAQ
Q:要不要降低移动广告优先级? A:不要。多数流量在移动。大盘子的低填充仍然比小盘子的高填充挣得多。
Q:加速真的能提填充吗? A:能。可见性是竞价器资格检查的输入,页面更快 -> 可见展示更多 -> 出价更多 -> 填充更高。LCP 减 0.5s 大致值 5–15% 移动 RPM。
Q:移动 CPM 低,但填充率没问题,为什么? A:地区结构、尺寸需求偏薄、或者跑了太多低 CPM 格式(尤其 vignette)把均值拉低了。
Q:能给移动和桌面投不同广告吗? A:每次 impression 投什么由 AdSense 决定,你不直接控制。你能控的是 AdSense 控制台里按设备开关哪些位和 Auto ads 格式(Edit site -> Auto ads settings)。
Q:移动填充一周掉 20%,发生什么了? A:三个常见嫌疑:广告主季中撤预算、你的 Core Web Vitals 倒退(看 Search Console)、流量地区结构突然变(看 Analytics)。三个都查过再动广告位。
Q:FID 这个指标还要优化吗?
A:不要了。Google 已于 2024 年 3 月 12 日下线 FID,用 INP(Interaction to Next Paint)取代,“good”门槛是 INP < 200ms。任何还在提 FID 的 AdSense 或速度指南都早于这次变更。