Starting April 6, 2020, in an effort to reduce ad request traffic that is unlikely to fill, the Google Mobile Ads SDK throttles retries for AdMob ad units that repeatedly fail to load ads. Publishers affected by this change can expect to see impressions and revenue stay the same, but fewer requests and a higher match rate.
How does it work?
After several consecutive loadAd()|loadRequest: calls from the same ad unit ID result in an onAdFailedToLoad()|failure callback, the Google Mobile Ads SDK throttles additional requests against that ad unit for a few seconds. Any additional requests made during that throttling period will immediately invoke the onAdFailedToLoad()|failure callback with error code ERROR_CODE_INVALID_REQUEST | kGADErrorInvalidRequest. These invalid requests do not call Google servers. The following message is also logged to the console when this error occurs:
Too many recently failed requests for ad unit ID: ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy. You must wait a few seconds before making another ad request.
After a few seconds, the SDK accepts requests again. If they continue to fail, the SDK re-enables the throttler for a few seconds for that ad unit ID.