博客
AdMob 广告不展示?如何解决"Ad serving limited"
发布日期: 更新日期: 阅读约 8 分钟
"Ad serving limited"是什么意思
当你在 AdMob 后台看到某个应用或账号出现"ad serving limited"警告时,这通常并不意味着广告已完全停止;它意味着 Google 刻意限制了你的填充率(fill rate)和/或投放的广告量。你的应用会继续运行并发送广告请求,但部分或全部请求可能得不到填充。
了解问题根源应从 AdMob 后台的 Policy Center(政策中心)入手;那里的信息通常会指出限制属于哪个类别(政策、流量质量、app-ads.txt、账号状态)。在不知道根源的情况下随意做出改动,可能会拖长问题解决的过程,而不是解决它。
可能导致限制的原因
账号评估(Account being assessed):新创建的 AdMob 账号会经历一个初始窗口期,在此期间 Google 会观察流量质量——这是 AdMob 官方定义的三种限制类别中的第一种。在此窗口期内,AdMob Network 和第三方竞价(bidding)来源的广告投放可能会被有意限制;你聚合瀑布流(mediation waterfall)中的其他广告源、内部广告(house ads)以及直接销售的合作广告不受影响。这不是处罚;Google 会在持续监测你的流量的同时自动重新审查并更新这个限制。
应用尚未准备好展示广告(App not ready to show ads):每个新关联的应用在能够完全投放广告之前,都会经历一次"应用就绪审核"——这是 AdMob 官方定义的第二种类别。审核期间,该应用的全部广告需求都可能受到投放限制。最常见的原因是:Play Console 或 App Store Connect 中的商店页面不完整或仍处于草稿状态,或者在 AdMob 中填写的包名/商店 ID 与实际页面不匹配(导致应用无法通过验证)。只要应用在 AdMob 中正确设置并关联到受支持的商店,该审核就会自动开始。
无效流量嫌疑(Invalid traffic concerns):AdMob 官方定义的第三种类别。如果你的广告出现异常的点击/展示模式(短时间内点击率异常高、类似机器人的行为、点击自己的广告),Google 可能会限制 AdMob Network 上的广告投放;在这种情况下,第三方聚合(mediation)、内部广告(house ads)和直接销售的合作广告不受影响。其目的是同时保护广告主和发布者。
除了这三种类别之外,还有 app-ads.txt:它并不是"ad serving limited"机制的一个成因,而是 AdMob 以独立状态追踪的另一项单独检查。在后台中,Apps > app-ads.txt 标签页有自己的状态指示;如果找不到该文件,或其中缺少你的发布商 ID,你会看到"Your revenue is at risk"(你的收入正处于风险中)的警告。这两个机制各自独立运作,但由于两者都可能影响你的填充率,值得两个都检查——我们在下文单独讨论这部分。
排查顺序:从哪里开始
1. Policy Center:在 AdMob 后台选中你的应用并查看 Policy Center。那里的信息通常会直接说明限制的类别(政策违规、流量质量、验证缺失);跳过这一步可能会导致后续步骤中修错问题。
2. app-ads.txt 状态:在 AdMob 后台的 Apps > app-ads.txt 标签页中检查与你的应用关联的开发者网站的状态;如果文件找不到,或其中缺少你的发布商 ID,你会在这里看到"Your revenue is at risk"警告。同时手动验证——在浏览器中打开 https://yoursite.com/app-ads.txt——确认文件位于根目录、带有正确的 pub-XXX,并且可以访问。
3. 流量来源:审查你应用内的广告位放置以及流量来源。点击自己的广告、诱导用户误触广告的界面设计(容易造成误触的按钮布局),或购买的/非自然的安装流量,都是触发无效流量嫌疑的常见原因。
这个顺序背后的逻辑很简单:Policy Center 说明限制的类别,app-ads.txt 检查可以排除或确认技术/验证方面的原因,而流量来源审查则能揭示行为方面的原因。不按顺序检查这三项就直接尝试修复,可能意味着反复"修复"同一个问题却始终不成功。
解决步骤与现实的时间预期
如果原因是 app-ads.txt:将文件发布在根目录,使用正确的 pub-XXX 和正确的行格式(例如 google.com, pub-XXX, DIRECT, f08c47fec0942fa0),并在浏览器中确认可以访问。AdMob 通常会在大约 24 小时内重新抓取以验证已修复的文件;Apps > app-ads.txt 标签页中的警告完全从后台消失可能还需要再多等几天,没有保证能加快这一过程的方法。
如果是账号评估或应用就绪审核窗口期:这是一个不需要主动干预的等待期。AdMob 官方说明,总体限制通常持续不到 30 天;应用就绪审核通常需要 2-3 天,账号验证则最多需要 24 小时(极少数情况下可达 2 周)。此期间最安全的做法是避免任何可能触发政策问题的行为(激进的广告位放置、诱导用户点击的文案)——具体时长仍可能因账号和应用而异。
如果是无效流量嫌疑:修复有问题的广告位放置(容易造成误触的按钮位置),移除任何违反广告政策的内容(鼓励点击自己的广告),并确保流量是自然的。AdMob 的总体限制上限通常低于 30 天,但官方并未针对这一类别单独给出具体天数,而且这一类别往往比其他类别耗时更长,因为 Google 重建信任需要时间;与其期待一个具体的时长,不如更现实地专注于彻底消除根本原因。
如果是商店页面问题:完善你应用在 Play Console 或 App Store Connect 中的页面(将其从草稿状态转为上线状态),并确认你关联到 AdMob 的应用 ID 与正确的上线页面相匹配。修复后,应用会再次经历通常需要 2-3 天的就绪审核;这通常是解决速度最快的一类问题,因为修复完全在你的掌控之中。
app-ads.txt 在此过程中的作用
在本文涉及的所有内容中,app-ads.txt 是最完全掌握在你自己手中、也最能被具体验证的一项:你可以自己测试文件是否存在、是否位于正确位置、内容是否正确。"ad serving limited"的三个官方成因(账号评估、应用就绪、无效流量)更多涉及流程或行为,并按 AdMob 自身的节奏推进;而 app-ads.txt 以独立状态单独追踪,最终归结为一个文件是否放在正确的位置——这完全由你掌控。
这就是为什么在排查顺序中较早检查 app-ads.txt 是合理的:它既能快速验证,也能快速修复,完全由你自己掌控时间进度。如果你没有网站,或不想手动管理这个文件,Vibeloy 的 app-ads.txt 工具可以根据你的 AdMob 发布者 ID 自动生成格式正确的行;在你自己的子域名上自动托管该功能包含在高级(premium)方案中。
常见问题
- "Ad serving limited"是否意味着广告已完全停止?
- 通常不是。这个警告最常见的含义是你的填充率和/或投放的广告量被有意限制了;你的应用会继续发送广告请求,但部分请求可能得不到填充。
- 应该先从哪里查找原因?
- AdMob 后台的 Policy Center。那里的信息通常会说明限制属于哪个类别(政策、流量质量、app-ads.txt、账号状态),让你据此规划接下来的步骤。
- 如果 app-ads.txt 缺失,广告会立即停止吗?
- 不会,不会立即停止;但它可能降低你的填充率,因为一些广告主会避免对看起来未经授权的广告位出价。这是与"ad serving limited"分开追踪的独立状态(Apps > app-ads.txt 标签页)。正确发布文件后,AdMob 通常会在大约 24 小时内重新抓取;警告完全从后台消失可能还需要再多等几天。
- 解决无效流量嫌疑需要多长时间?
- 官方并未针对这一类别单独给出具体天数;AdMob 的总体限制上限通常低于 30 天,但无效流量嫌疑往往比其他类别耗时更长,因为 Google 重建信任需要时间。与其期待一个具体的时间框架,不如更现实地专注于彻底消除根本原因(有问题的广告位、政策违规、非自然流量)。
- 为什么我新创建的 AdMob 账号广告投放看起来受限?
- 新账号会经历"Account being assessed"(账号评估),而新关联的应用会经历"App not ready to show ads"(应用未就绪)审核——这是 Google 观察流量质量或验证应用的初始窗口期。在此期间,广告投放可能会被有意限制。这不是处罚,也不需要主动干预;AdMob 官方说明应用审核通常需要 2-3 天,账号验证最多需要 24 小时(极少数情况下可达 2 周)。