Ad inspector

Ad inspector is an in-app overlay that enables authorized devices to perform real-time analysis of test ad requests directly within a mobile app. It is included with the Google Mobile Ads SDK version 7.68.0 and higher, and can be enabled with no coding required.

Using ad inspector in Mobile Ads SDK version 7.68.0 up to 8.5.0, you can:

  • Inspect your ad units
  • Check whether your ads are filling as expected
  • Identify errors and view details about how to resolve them
  • View the mediation details for each ad network per request
  • Test individual third-party mediation ad sources
  • Verify that you've correctly configured each ad unit for waterfall mediation

For Mobile Ads SDK version 8.5.0 and higher, you can also:

  • View the bidding details for each ad network per request
  • View the bidding and waterfall mediation details together for each ad network per request
  • Test individual third-party bidding or waterfall mediation ad sources
  • Verify that you've correctly configured each ad unit for bidding and waterfall mediation

This guide demonstrates how to launch and use the different features in ad inspector.


In order to use ad inspector, you need to:

  • Complete the Get Started guide.

  • Use Google Mobile Ads SDK version 7.68.0 or higher.

Launch ad inspector

Ad inspector can be launched from anywhere in your app. There are three different ways to launch ad inspector.

  1. Use the gesture selected in the AdMob UI when registering a test device.

  2. Programmatically using the provided API.

  3. Use the launch button from the debug menu.

Launch using gestures

No changes are needed to your app to launch ad inspector with a gesture. Simply perform the gesture (double flick or shake) that you configured in AdMob for that test device. Learn more.

After setting a gesture in the AdMob UI (and waiting 15 minutes for it to propagate), your app needs to make an ad request for the Google Mobile Ads SDK to learn about your gesture setting. If your specified gesture isn't working, try loading an ad, restarting your app, and testing the gesture again.

Launch programmatically

Ad inspector can also be launched programmatically:

[GADMobileAds.sharedInstance presentInspectorFromViewController:viewController
  completionHandler:^(NSError *error) {
    // Error will be non-nil if there was an issue and the inspector was not displayed.

This API works for test devices registered programmatically or in the AdMob UI.

Ensure that the view controller passed to this API is already fully visible on screen (viewDidAppear: had been called). If the view controller passed is in the process of being displayed (for example, if the above API is called in the view controller's viewDidLoad function), then the presentation of ad inspector will fail.

View recent ad request results by ad unit

Once launched, the main ad inspector screen appears, containing a list of all ad units in the AdMob UI associated with your AdMob app ID that have bidding or mediation configurations:

Ad units are ordered chronologically with most recently completed requests first. As shown above, known ad units with no requests completed are dimmed.

We recommend initializing the Google Mobile Ads SDK before using ad inspector.

View bidding details for an ad unit

Prerequisites: Google Mobile Ads SDK 8.5.0 or higher

If you are new to bidding, read the overview of bidding.

In the SDK request log, you can see the bidding ad sources that are called in the ad request. Tap an ad unit in the SDK request log to view the details of each ad source in the bidding auction.

Tap on the link View all bidders to view all bidding ad networks that are configured for the ad unit. The bidding results are sorted in order to bring the actionable items closer to the top of the list:

  • At the top is the ad network that won the auction.

  • Next are the ad networks with issues. You can follow the troubleshooting steps for the issues.

  • Then, there are the ad networks that had no ads returned or did not bid. This is a possible indicator of many different issues with the ad source as it might not have bid due to its setup or decisioning. You can refer to the ad source's setup guide or contact the ad source directly for support.

  • Finally, at the bottom of the list are the ad networks that lost the bidding auction.

Mediation waterfall can place the ad source that won the bidding auction according to their eCPM value.

When the ad source is called in the mediation waterfall, they will serve the ad. To learn more about how bidding works with mediation waterfall, see example 2 and example 3 of bidding and waterfall ad sources in a mediation group.

View mediation waterfall details for an ad unit

Tap an ad unit to view its SDK request log, which gives details about the mediation waterfall up to the point when the ad was filled (or the waterfall ended without a fill) for the latest ad requests.

Each request can be expanded using the disclosure indicator to show the results of the mediation waterfall for that request, along with any error and latency that was applicable for that request.

For third-party ad sources, the error messages are sent directly from the ad source. If you need more information, consult your third-party ad source.

Perform a single ad source test

Ad inspector has a feature to restrict ad requests in your app to only serve ads from a single bidding or waterfall mediation ad source. This lets you verify that you've correctly implemented the third-party adapter and that the ad source is serving as expected.

To enable this feature, toggle the Single ad source test switch at the bottom of the screen. This displays the following ad source selection dialog:

You must initialize the Google Mobile Ads SDK before you can use single ad source testing.

You can then select a single ad source to test. Once an ad source is selected, the following screen appears:

The single ad source test setting applies to any future ad requests you make in the same session. However, it won't apply to any previously cached ads in that session that have not yet been shown. Force restarting your app is recommended when applying a single ad source test in order to invalidate any cached ads that could be served instead of your chosen ad source receiving a request.

After restarting your app, all ad unit placements will attempt to show an ad from the selected network only. Launching ad inspector when a single ad source test is active will show the active test ad source:

In single ad source test mode, all ad requests attempt to fill with the selected ad source, regardless of whether that ad source was configured for bidding or mediation for the requested ad unit. This means that if the ad source you're testing is not in the mediation waterfall for an ad unit, you'll see a "No fill" error message.

In a single ad source test, you can tap an ad unit to view its SDK request log. This lets you know whether the ad source filled the ad requests made after single ad source testing is enabled. If the ad source failed to load an ad, an error message appears describing the error.

If you've added multiple instances of the selected ad source to a mediation waterfall, you'll see each instance of the call to the ad source in the waterfall until the ad is either filled or the waterfall ended without a fill.

Custom events are not supported in single ad source testing.

Stop a single ad source test

To stop the test, toggle off the switch:

A confirmation message then appears over the following restart screen:

We recommend a force restart of your app after stopping the test in order to invalidate any cached ads for the ad source that was tested.