谷歌广告感知显示广告,即使我告诉它不要

Google adsense display ads even I tell it not to

本文关键字:感知 显示 谷歌      更新时间:2023-09-26
我使用以下内容已经使用了

几年,它完美地工作,直到我注意到手机和平板电脑上的一个小"错误":

<script type="text/javascript">
google_ad_client = "ca-pub-XXXX"; 
if (window.innerWidth >= 888) { 
google_ad_slot = "23813373"; 
google_ad_width = 728; 
google_ad_height = 90;
}</script>
<script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>

如果您注意到,我不想在设备宽度小于 888 像素的情况下展示此广告。我在台式机上工作得很好,但在移动设备和平板电脑上,Adsense 会显示 300x150 的广告。

我是否错过了某些内容,或者Google是否使用其代码来优化移动设备上的显示?你注意到同样的问题吗,错误?如何不显示此 300x150 广告?

问题是,无论条件如何评估,代码都会发出广告请求。

解决方案是创建一个响应式 AdSense 单元,并将其代码转换为"高级"模式:

<style type="text/css">
.adslot_1 { display: inline-block; width: 728px; height: 90px; }
@media (max-width: 887px) { .adslot_1 { display: none; } }
</style>
<ins class="adsbygoogle adslot_1"
  data-ad-client="ca-pub-1234"
  data-ad-slot="5678"></ins>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

我认为此代码段已准备就绪,您只需应用发布商 ID 和自适应单元的单元 ID,我认为它应该像您描述的那样工作:"我不想在设备宽度小于 888 像素时显示此广告"。

编辑,澄清一下:在自适应广告代码中对ins代码进行display:none将在应用display:none阻止广告请求,并且这是官方支持的唯一一种在 AdSense 中"隐藏"广告单元的方式。提出广告请求,然后隐藏该广告是违反政策的行为。