web-dev-qa-db-ja.com

Google AdSenseでの400の悪いリクエスト

AJAXリクエストとhistory.pushStateをナビゲーションに使用するWebサイトを実行しています。

リクエストされたコンテンツコードには、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>

このセットアップは、動的にロードされる1つのページビューに対して機能します。その後、広告は表示されなくなります。エラーコンソールには以下が表示されます。

400 (Bad Request) in expansion_embed.js:188

Expansion_embed.jsは http://googleads.g.doubleclick.net/pagead/ads から広告をリクエストします。 requestet urlには多くのパラメーターが含まれています。

これで、広告doesが表示されるたびに、prev_fmtsパラメータの値は468x60。広告の読み込みに失敗した場合、このパラメーターの値は486x60%2C468x60

このパラメーターが変更される原因は何ですか?この変更が400 Bad Requestエラーを引き起こしている可能性はありますか?

41
user276289

ただ待つ必要があります。Adsenseを初めて実装すると、このエラーが発生します。 Adsenseが広告の表示を開始するのに翌朝までかかりました。レスポンシブ広告タイプを実装しました。

61
Robert Sinclair

ウェブサイトに初めてAdSenseコードを追加したときにも、同じエラーが発生していました。私の場合、ページをリロードした後、単純に機能し始めました。

4
Balram Singh

私は同じ問題を抱えていましたが、いくつかの調査の後、Google AdsensとAJAXサイトの間の非互換性の問題であることがわかりました。

Googleの発表 およびこれらの twothreads をGoogleフォーラムで参照してください。

私は人工的にprev_fmtsパラメータが、難読化されたJSを見つけることができませんでした。とにかく、これを行うとGoogle Adsense TOSに反すると思う。

3
pau.moreno

Adblockは広告をブロックしていました。サイトを有効にして解決しました。

0
Eyal

自動広告をアクティブにした場合は、単に置き換える

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

私のために働いています。

0
Lamri Djamal