使用Google AdSense的400次错误请求

时间:2013-10-02 14:18:58

标签: javascript ajax adsense

我正在运行一个使用AJAX请求和history.pushState进行导航的网站。

请求的内容代码包含Google的异步AdSense代码:

<ins class="adsbygoogle"
     style="display:inline-block;width:468px;height:60px"
     data-ad-client="ca-pub-xxxxx"
     data-ad-slot="xxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

head标记包含adsbygoogle.js:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

此设置适用于一个动态加载的网页浏览。之后,广告不再显示。错误控制台显示:

400 (Bad Request) in expansion_embed.js:188

expansion_embed.js从http://googleads.g.doubleclick.net/pagead/ads请求广告。 requestet url包含许多参数。

现在,每当广告 出现时,prev_fmts参数的值为468x60。如果广告无法加载,则此参数的值为486x60%2C468x60

导致此参数发生变化的原因是什么?此更改是否可能导致400错误请求错误?

5 个答案:

答案 0 :(得分:61)

您只需要等待,当您第一次实施Adsense时,它会给出此错误。直到第二天早上,Adsense才开始展示广告。我实施了他们的自适应广告类型。

答案 1 :(得分:4)

当我第一次在我的网站上添加adsense代码时,我也遇到了同样的错误。在我的情况下,它在重新加载页面后开始工作。

答案 2 :(得分:3)

我遇到了同样的问题,经过一些研究,我发现这是Google Adsens和AJAX网站之间不兼容的问题。

在Google论坛中查看Google's announcement和这些two threads

我试图人为地破坏prev_fmts参数,但我找不到通过混淆的JS的方法。无论如何,我想这样做会违反Google Adsense TOS。

答案 3 :(得分:1)

Adblock阻止了广告。我启用了网站来解决它。

答案 4 :(得分:0)

如果您自动投放广告,则只需替换

data-ad-slot="ad_slot"
enable_page_level_ads=true

为我工作。