通知

请务必访问您的 AdSense 页面,获取根据您的帐号为您量身定制的信息,进而利用 AdSense 取得出色的创收效果。

广告单元

使用 data-ad-status 参数隐藏广告空缺的广告单元

AdSense 广告单元会在发出广告请求后进行更新,以指明广告单元是已填充广告素材,还是处于广告空缺状态。您可以通过查看 AdSense 报告中的平均覆盖率,了解广告空缺的广告单元所占的百分比。

本页内容

data-ad-status 参数简介

当广告单元完成对广告的请求后,AdSense 会向 <ins> 元素添加一个名为 data-ad-status 的参数。

注意:请勿将 data-ad-statusdata-adsbygoogle-status 相混淆,我们的广告代码会将后者用来处理广告。

根据系统是否返回广告,此参数将更新为以下项之一:

data-ad-status="filled"

系统向广告单元返回了一个广告,该广告正在展示。

data-ad-status="unfilled"

系统未返回任何广告,广告单元为空。

data-ad-status="unfill-optimized" 系统未返回任何广告,广告单元现在已由 AdSense 优化。详细了解填充空白的页内广告设置

AdSense 如何处理广告空缺的广告单元

当 AdSense 广告单元处于“广告空缺”状态时,我们会尝试隐藏该广告单元,或展示空白区域。我们仅会在广告单元不会导致网页自动重排的情况下隐藏它们,也就是说,我们仅会隐藏位于视口之外的广告单元。对于所有其他广告空缺的广告单元,我们会保留广告单元大小,并展示空白区域。

提示:如果您已开启填充空白的页内广告设置,我们会优化未填充的广告单元。请注意,优化后的广告单元的 data-ad-status 值为 "unfill-optimized"

如何隐藏广告空缺的广告单元

高级内容(高级)您可以决定使用 CSS 还是 JavaScript 来改进此行为。

例如,如果您想要隐藏所有广告空缺的广告单元,可以使用 CSS 向元素应用 display: none !important; 样式。

注意:如果您已开启填充空白的页内广告设置,此技术仅适用于未被 AdSense 优化的广告空缺的广告单元。

示例 1:使用 CSS 隐藏广告空缺的广告单元

您可以将以下 CSS 样式添加到网页中,以自动隐藏广告空缺的广告单元:

HTML
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-1234567890123456"
     data-ad-slot="1234567890"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
CSS
ins.adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
}

示例 2:仅在广告单元出现广告空缺时展示图片

如果广告单元未展示广告,您可以改为选择展示自家广告:

HTML
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-1234567890123456"
     data-ad-slot="1234567890">
    <a href="/page"><img src="/backup.jpg" width="300px" height="250px"></a>
</ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
CSS
ins.adsbygoogle a {
    display: none !important;
}
ins.adsbygoogle[data-ad-status="unfilled"] a {
    display: block;
}

或者,如果您希望使用 JavaScript 来更新网页,那么可以使用 MutationObserver 检测 data-ad-status 参数发生的更改,并根据这些更改执行 JavaScript 代码。

data-ad-status 参数的限制

data-ad-status 参数仅会添加到顶级窗口上的广告单元中。这意味着,对于通过跨网域窗口投放的广告单元,data-ad-status 参数不会添加到其中。

此外,我们不建议您通过以下方式加载 AdSense 广告单元:最初处于隐藏状态,旨在在 data-ad-status 参数发生更改后显示出来。如果广告单元最初并未在网页上显示,那么我们可能不会针对其执行广告请求。

该内容对您有帮助吗?

您有什么改进建议?
true
立即获取个性化提示,解锁收入潜力!

访问“针对 AdSense 的优化提示”页面,查看个性化建议,以最大限度提高收入。

立即解锁

搜索
清除搜索内容
关闭搜索框
Google 应用
主菜单
9270131321984944553
true
搜索支持中心
false
true
true
true
true
true
157
false
false
false
false
false