Enable test ads

This guide explains how to enable test ads for your ads integration. It's recommended that you enable test ads during development so you can test click-through behavior without affecting your reservation campaigns' stats or charging advertisers on Ad Exchange.

Prerequisite

Demo ad units

The quickest way to enable testing is to use Google-provided demo ad units. These ad units are not associated with your Ad Manager account, so there's no risk of your account generating invalid traffic when using these ad units.

Here are demo ad units that point to specific test creatives for each format:

Ad format Demo ad unit ID
App Open /21775744923/example/app-open
Adaptive Banner /21775744923/example/adaptive-banner
Fixed Size Banner /21775744923/example/fixed-size-banner
Interstitial /21775744923/example/interstitial
Rewarded Ads /21775744923/example/rewarded
Rewarded Interstitial /21775744923/example/rewarded-interstitial
Native /21775744923/example/native
Native Video /21775744923/example/native-video
Key Point: These demo ad units are configured to serve direct-sold ads in Ad Manager, and direct-sold ads do not return AdChoices.

Enable test devices

If you want to do more rigorous testing with production-looking ads, you can now configure your device as a test device and use your own ad unit IDs that you've created in the Ad Manager UI.

Follow the steps below to add your device as a test device.

Add your test device programmatically

If you want to test ads in your app as you're developing, follow the steps below to programmatically register your test device.

  1. Load your ads-integrated app and make an ad request.
  2. Check the logcat output for a message that looks like the one below, which shows you your device ID and how to add it as a test device:
    I/Ads: Use RequestConfiguration.Builder.setTestDeviceIds(Arrays.asList("33BE2250B43518CCDA7DE426D04EE231"))
    to get test ads on this device."
    Copy your test device ID to your clipboard.
  3. Modify your code to call RequestConfiguration.Builder.setTestDeviceIds() and pass in a list of your test device IDs.

    Java

    List<String> testDeviceIds = Arrays.asList("33BE2250B43518CCDA7DE426D04EE231");
    RequestConfiguration configuration =
        new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();
    MobileAds.setRequestConfiguration(configuration);
    

    Kotlin

    val testDeviceIds = Arrays.asList("33BE2250B43518CCDA7DE426D04EE231")
    val configuration = RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build()
    MobileAds.setRequestConfiguration(configuration)
    
    You can optionally check isTestDevice() to confirm that your device was properly added as a test device.
  4. Re-run your app. If the ad is a Google ad, you'll see a Test Ad label centered at the top of the ad (banner, interstitial, or rewarded video):

    For native advanced ads, the headline asset is prepended with the string Test Ad.

Ads with this Test Ad label are safe to click. Requests, impressions, and clicks on test ads will not show up in your account's reports.

Note: To see the Test Ad label, you need to be using an SDK version of 11.6.0 or higher.

Testing with mediation

Google's sample ad units only show Google Ads. To test your mediation configuration, you must use the enable test devices approach.

Mediated ads do NOT render a Test Ad label. You are responsible for ensuring that test ads are enabled for each of your mediation networks so these networks don't flag your account for invalid activity. See each network's respective mediation guide for more information.

If you aren't sure whether a mediation ad network adapter supports test ads, it is safest to avoid clicking on ads from that network during development. You can use the getMediationAdapterClassName() method on any of the ad formats to figure out which ad network served the current ad.