Inspect mobile app ad delivery

See which ads are eligible to deliver to your mobile app content to better understand the Google Ad Manager ad selection process or troubleshoot issues related to delivery.

Link a device to see ad request and delivery details, use ad inspector (Beta)  or Ad Manager's delivery tools to troubleshoot your ad delivery, then you can then share the details with other users in your network.

Here are some common questions answered by Ad Manager delivery tools:

  • Which ads delivered on my page?
  • Why these ads and not others?
  • Are my line items and creatives set up correctly?
  • Why is my line item behind schedule, or not delivering at all?

Get started

Before inspecting delivery in your mobile app, you need to link your mobile device to Ad Manager.

Link your mobile app

  1. On your mobile device, open your app and find an ad served by your Ad Manager network.
  2. Touch and hold the ad with two fingers to open the debug menu.

    Be careful to not repeatedly tap the creative as accidental clicks might be mistaken for invalid activity.

    What if the debug gesture doesn't work for my creative?

    Some creatives, such as custom native ads, aren't compatible with the debug gesture. As an alternative, you can add a special function in your mobile app's code to trigger the in-app menu. For example, you can add this function to a special button or gesture.

    See the developer documentation for iOS or Android.

  3. Tap Start troubleshooting in the debug menu.

    Troubleshooting remains on until you turn it off by opening the debug menu and tapping Stop Troubleshooting.

  4. If this is your first time inspecting delivery for this app on your mobile device, you'll be prompted to sign in to Ad Manager to confirm that you're an active user in the network and authorized to see delivery information.

    Sign in using your Ad Manager username and password and choose a name for your device so you can identify it in Ad Manager.

Once you've linked your mobile device, you can use ad inspector (Beta) or Ad Manager's delivery tools to troubleshoot your ad delivery.

Delete a linked mobile device

Linked devices with visibility set to "Private" can only be deleted by the user that created them. Any user with an "Administrator" role can delete a device with visibility set to "Public".

To remove any linked device from your Ad Manager account:

  1. Sign in to Google Ad Manager.
  2. Click Admin and then Access & authorization and then Linked devices.
  3. Select the devices you want to remove and click Delete.

Ad inspector (Beta) 

Ad inspector is a new feature included with the latest Google Mobile Ads SDK (8.10.0 or later for iOS). Learn serving insights and test third-party yield partners in real time displayed in your apps as an overlay. No coding required.

With ad inspector, you can inspect your ad units right on your device to:

  • Check whether your ads are filling as expected
  • Identify errors and view details about how to resolve
  • View the Open Bidding ad sources or mediation details per request
  • Check the status of your third-party ad source SDK adapter

Gather ad data with ad inspector

Once you've linked your mobile device, ad inspector automatically begins to inspect your app's ad serving. Ad inspector will remain on until you unlink your device and restart your app.

developer documentationYou can also activate ad inspector on your test device with an API call. Read the developer documentation for Android or iOS.
  1. On your mobile device, reload the mobile app page, or start using the app.
  2. Interact with your app (press buttons, tap around the interface, or other interactions) to make sure there are enough ad requests for you to analyze. Ads loaded before you started troubleshooting will not appear in ad inspector.

    If your app prefetches ads, you may see a set of ad requests on app start.

  3. After you invoke ad inspector on your test device using the debug menu, a gesture or a custom API call, you'll see the Ad units tab, which lists your app's ad units in the order of latest activity (whether they've shown an ad or not). You'll also see a tab to check third-party SDK adapters.

    You may change your ad inspector settings from the debug menu to select a gesture which will invoke the inspector overlay instead of using the two-finger long press. This will allow you to invoke inspector when ads are served by a third party network or on creatives which aren't compatible with two-finger long press.

    You won't be able to see the full list of your ad units until at least one request has been completed for that ad unit.

  4. Tap an ad unit to view its SDK request log, which shares Open Bidding or mediation configuration details until the ad was filled for the latest ad requests. From here, you can expand each yield partner that did not fill an ad to view details about the no fill error.

For third-party yield partners, the error messages are sent directly from the yield partner. Refer to the third-party yield partner to learn more information about those errors.

The Ad Mob mobile interface showing the ad inspector.

Understand SDK adapter issues

To check the status of your SDK adapters, click the Adapters tab.

There are two issues you may see when checking your third-party ad source's SDK adapter.

SDK adapter issue Description
Adapter not found Some third-party ad sources require an SDK and its GMA SDK-specific adapter to load and display ads from that source. This error means that the GMA SDK cannot find your third-party adapter or SDK. Check that you've installed the SDK adapter correctly. Learn more for Android and iOS
Didn't initialize Each third-party ad source SDK adapter needs to be explicitly initialized in your codebase with the necessary parameters. Ensure you followed the integration guide correctly. For specific initialization errors, please refer to your third-party ad source's documentation. Learn more for Android and iOS

Test individual yield partners with Ad inspector

With ad inspector, you can test the setup of a single third-party or Open Bidding yield partner. You can verify that you've correctly implemented the third-party mediation adapter and that the yield partner is serving as expected.

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

To start a test:

  1. Toggle Single ad source test at the bottom of the app.
  2. Select the yield partner you'd like to test.
  3. Force restart your app. This ensures the app ads cache is erased so that the test applies to every ad request in a testing session.
    For Android devices, you can usually force restart an app through your phone's Settings app. Refer to your device manufacturer. If you have an Apple device, learn how to force restart an iOS app.

When ad inspector is enabled for a single ad source test, all future ad requests will attempt to return ads from the selected yield partner.

In test mode, all ad requests will attempt to fill with the selected yield partner, regardless of whether that yield partner is associated with the given ad unit. This means that if the yield partner you're testing is not in the mediation waterfall for an ad unit, you'll see a "No fill" error message that says your ad unit isn't configured for the yield partner.

SDK ad request fill errors

In a single ad source test, you can tap an ad unit to view its SDK request log. This tells you whether the yield partner filled the ad requests made after single ad source testing is turned on. If the yield partner didn't fill a request, you'll see an error message with details about what caused the no fill error.

  • No SDK signal found: Some yield partners may need an SDK and adapter installed and configured correctly to use bidding. See the SDK requirements for Android and iOS.
  • No user consent provided: The yield partner may not be eligible for a bid request if the user has not provided the necessary consent. This may be expected behavior. Learn more about implementing consent tools, such as GDPR, in the Ad Manager policies.
  • No ad returned: The yield partners may have decided to not bid for the ad request or they may not be eligible to bid for it. There are several possible reasons for this issue, for example:
    • the yield partner may only bid under certain conditions, such as specific geographic areas;
    • the yield partner may not have an ad for the bid request;
    • or there was an unexpected system error or timeout on the yield partner's end.

Single ad source testing automatically expires after 60 minutes.

Inspect delivery in Ad Manager

  1. On your computer, sign in to Google Ad Manager.

    Make sure you're signed in to the same Ad Manager account and network as your device.

  2. Click Delivery and then Delivery Tools and then App ads.
  3. From the table, select the device you just linked in your most recent session.

Simulate ad requests

Once you've linked your device to initiate inspection and opened Ad Manager, you can collect ad delivery details. Details for any ads loaded before completing the steps above will not appear in Ad Manager.

  1. On your mobile device, reload or open the app. As ads load in your app, information about delivery will appear in Ad Manager.
  2. In Delivery Tools and then App ads, each row represents an ad slot and ad request. Click a row to expand more details.
  3. Click Simulate request to determine why a different ad delivered than the one you expected.

Information about requests

  • Div: Identifies where on the page the ad slot appears, such as "top".
  • Requested sizes: All sizes defined in the ad request.
  • Key values: All key-values defined in the ad request. Click see all to see the full list.

Information about secure signals  (Beta) 

This information shows you the secure signals that were part of the ad request, as well as the signals that were enabled on the network, but not present in the ad request.

  • Signal name: The name of the signal that was passed
  • SDK and Version
  • Signal health: Indicates whether the signal was Present (successfully passed), Empty, Not detected, or Enabled, but absent.

Learn more about what delivered

  • Demand channel: The method used to select the ad, such as "Open Bidding" or "Ad server". Learn more about demand channels.
  • Advertiser, Order, line item, creative name and ID. Click the ID to open it in Ad Manager.
  • Line item type
  • Creative size
  • Creative type

Block an Ad Exchange/AdSense ad or report an issue

You can block Ad Exchange and AdSense creatives or report a potential issue. Click the Creative details tab and then click one of the following next to "Suggestion":

The Block creative tab appears only if you're enabled for the "Review and block Ad Exchange creatives" user role permission.
  • Block ad: Prevent the creative from serving. The blocked ads will appear in the "Blocked" tab of Creative review.
  • Report to policy: Submit a creative that may have policy issues to Google. We'll review the creative and respond with our findings.

These buttons aren't available for other creative types, but in this case we do provide suggestions on next steps.

Share details

You can share the details with users who have access to your network. This helps you collaborate with others to help determine a plan for troubleshooting your line items.

  1. Above the details on the Troubleshoot page, click Share this session.
  2. Click Copy URL. The URL is now copied to your clipboard and ready to be pasted.
  3. Send the URL to a user with access to your network to paste the URL into their browser.

Simulate ad requests

A simulation shows which line item would win if you were to request the ad slot again. If an unexpected line item wins the simulation, you can see why. Change targeting and tag information to try and get the desired line item to win the simulation.

When you click Simulate request, Ad Manager runs a simulation and provides the details outlined below. 

The "Simulate request" feature doesn't retain information on page or server state. Therefore, competitive exclusions, roadblocks, and frequency caps will not match the original request.

Original request

This section recreates how the ad request you selected on the Troubleshoot page actually delivered. It includes:

  • Ad request details: The request and targeting information for the winning line item.
  • Winning line item details: The delivery details for the winning line item.
  • View non-delivery reasons: Click this button to see reasons why other line items were selected to serve over this one in cases that this line item was eligible. Here are details of the possible non-delivery reasons.


Shows what would happen if you were to request this ad slot again. 

Ad request details

The request and targeting information for the simulation, which defaults to the current settings.

Winning line item

The delivery details for the line item that wins the simulation.

Search for the line item you were expecting to win

If an unexpected line item wins the simulation, you can search for the line item you thought would win and click Go. Details for the winning line item and the reasons for non-delivery of the line item you searched for are shown.

Learn more about causes for line item non-delivery

Rerun simulation

You can change the targeting and tag information under "Ad request details" and then click Rerun simulation to see if the winning line item changes. If you eventually find a simulation that provides the desired winning line item, you can go back and update the actual targeting and tag information.

Why is the simulated winning line item different from the original?

There are several possible reasons for this. Here are a few:

  • Every run request, whether actual or simulated, happens dynamically. As a result, several things can change from one request to the other, including run time, goals, new line items to compete against, and so forth.
  • The ad selection process can result in different line items serving to requests.
  • The simulation only considers one ad slot at a time. Therefore, if original winning line item is part of a request with multiple ad slots, like a roadblock, it won't win the simulation.
  • The line item reached a frequency cap.
  • The line item met its delivery goal.

Why did my line item not deliver 100%?

Ad Manager distributes impression delivery based on both the Deliver impressions setting for the line items and Ad Manager pacing rules that attempt to optimize delivery. Changes to pacing may affect traffic and delivery.

If your think your line item isn't delivering properly, try the line item delivery troubleshooter or learn more about delivery pacing.

Allow others to access your devices  (Optional) 

Linked devices are private by default, meaning that only you can use them in Ad Manager. If you want to open up the device for others to use for troubleshooting, you can update the settings in the Ad Manager Admin section.

  1. Sign in to Google Ad Manager.
  2. Click Admin and then Access & authorization and then Linked devices.
  3. In the "Visibility" column, click a cell, and select Public from the dropdown.

Was this helpful?

How can we improve it?
Clear search
Close search
Google apps
Main menu