web-dev-qa-db-fra.com

400 Bad Request avec Google AdSense

J'exécute un site Web qui utilise AJAX requêtes et history.pushState pour la navigation.

Le code de contenu demandé contient le code asynchrone AdSense de Google:

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

La balise head contient le adsbygoogle.js:

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

Cette configuration fonctionne pour une page vue chargée dynamiquement. Après cela, les annonces n'apparaissent plus. La console d'erreur affiche:

400 (Bad Request) in expansion_embed.js:188

Le fichier expansion_embed.js demande l'annonce à http://googleads.g.doubleclick.net/pagead/ads . L'URL de la requête contient de nombreux paramètres.

Maintenant, chaque fois que l'annonce apparaît, le prev_fmts le paramètre a la valeur 468x60. Si l'annonce ne se charge pas, la valeur de ce paramètre est 486x60%2C468x60.

Qu'est-ce qui fait changer ce paramètre? Est-il possible que cette modification provoque les 400 erreurs de demande incorrecte?

41
user276289

Vous avez juste besoin d'attendre, lorsque vous implémentez Adsense pour la première fois, cela donnera cette erreur. Il a fallu attendre le lendemain matin pour qu'Adsense commence à diffuser des annonces. J'ai implémenté leur type d'annonce responsive.

61
Robert Sinclair

J'obtenais également la même erreur lorsque j'ai ajouté du code adsense pour la première fois sur mon site Web. Dans mon cas, cela a commencé à fonctionner simplement après le rechargement de la page.

4
Balram Singh

J'ai eu le même problème, et après quelques recherches, j'ai vu que c'était un problème d'incompatibilité entre Google Adsens et AJAX sites.

Voir l'annonce de Google et ces deuxdiscussions dans les forums de Google.

J'ai essayé de réduire artificiellement le prev_fmts paramètre, mais je n'ai pas pu trouver mon chemin à travers le JS obscurci. Quoi qu'il en soit, je suppose que cela irait à l'encontre de Google Adsense TOS.

3
pau.moreno

Adblock bloquait les annonces. J'ai activé le site pour le résoudre.

0
Eyal

Si vous avez activé les annonces automatiques, vous remplacez simplement

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

Travailler pour moi.

0
Lamri Djamal