400 Bad Request with Google AdSense

user276289 picture user276289 · Oct 2, 2013 · Viewed 24.7k times · Source

I am running a website that uses AJAX requests and history.pushState for navigation.

The requested content code contains Google's asynchronus AdSense code:

<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>

The head tag contains the adsbygoogle.js:

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

This setup is working for one dynamically loaded pageview. After that, ads don't show up anymore. The error console shows:

400 (Bad Request) in expansion_embed.js:188

The expansion_embed.js requests the ad from http://googleads.g.doubleclick.net/pagead/ads. The requestet url contains lots of parameters.

Now, every time the ad does show up, the prev_fmts parameter has a value of 468x60. If the ad fails to load, this parameter's value is 486x60%2C468x60.

What is causing this parameter to change? Is it possible that this change is causing the 400 Bad Request errors?

Answer

Robert Sinclair picture Robert Sinclair · Jul 13, 2016

You just need to wait, when you first implement Adsense it will give this error. It took until next morning for Adsense to start displaying ads. I implemented their Responsive ad type.