Segment ad data with placements

  • Use placement ID to segment ad performance reporting data without needing additional ad units.

  • Access to placement ID is limited and requires contacting your account manager.

  • Placement ID can be set when loading the ad or before showing the ad.

  • Placement ID can be updated as needed, and the latest set ID is used for impression recording.

  • You can view placement ID reports in the AdMob UI under the Reports section.

Select platform: Android New Android iOS

To segment your ad performance reporting data, use the ad placements feature. Placements let you segment impression data in a report without needing additional ad units. To use the placements feature, you need a placement ID. For details on placements, see About placements.

This guide covers setting a placement ID in Google Mobile Ads SDK and viewing an ad performance report.

Prerequisites

Before you continue, do the following:

  • Complete Set up Google Mobile Ads SDK.
  • Have Google Mobile Ads SDK version 24.5.0 or higher.
  • Get access to the placement ID feature. To request access, contact your account manager.
  • Create a placement ID for your app.

Set a placement ID

To segment your ad's performance data, you set a placement ID in one of the following ways:

  • When loading the ad.
  • Before showing the ad.

You can update the placement ID as needed. When Google Mobile Ads SDK records an ad impression, it uses the latest set placement ID.

Set a placement ID at load time

This section covers setting a placement ID at load time. This workflow applies for all ad formats.

The following example sets a placement ID for an interstitial ad at load time:

Kotlin

private fun loadInterstitial(context: Context) {
  val adRequest = AdRequest.Builder().setPlacementId(PLACEMENT_ID).build()
  InterstitialAd.load(
    context,
    "AD_UNIT_ID",
    adRequest,
    object : InterstitialAdLoadCallback() {
      override fun onAdLoaded(ad: InterstitialAd) {
        Log.d(TAG, "Placement ID: " + ad.placementId)
      }
    },
  )
}

Java

public void loadInterstitial(Context context) {
  AdRequest adRequest = new AdRequest.Builder().setPlacementId(PLACEMENT_ID).build();
  InterstitialAd.load(
      context,
      "AD_UNIT_ID",
      adRequest,
      new InterstitialAdLoadCallback() {
        @Override
        public void onAdLoaded(@NonNull InterstitialAd ad) {
          Log.d(TAG, "Placement ID: " + ad.getPlacementId());
        }
      });
}

Replace the following values:

  • AD_UNIT_ID with your ad unit ID.
  • PLACEMENT_ID with your placement ID.

Set placement ID at show time

This section covers setting a placement ID at show time for all ad formats. Select your preferred ad formats from the following sections:

For banner ads, you set the placement ID before placing the ad view in the view hierarchy. The following example sets a placement ID for a banner ad at show time:

Kotlin

private fun showBannerView(adView: AdView, parentView: ViewGroup) {
  adView.placementId = PLACEMENT_ID
  parentView.addView(adView)
}

Java

public void showBannerView(AdView adView, ViewGroup parentView) {
  adView.setPlacementId(PLACEMENT_ID);
  parentView.addView(adView);
}

Full-screen ads

For full-screen ad formats, you set the placement ID before showing an ad. This workflow applies to the following formats:

The following example sets the placement ID for an interstitial ad at show time:

Kotlin

private fun showAd(activity: Activity, ad: InterstitialAd) {
  ad.placementId = PLACEMENT_ID
  ad.show(activity)
}

Java

private void showInterstitial(Activity activity, InterstitialAd ad) {
  ad.setPlacementId(PLACEMENT_ID);
  ad.show(activity);
}

Native ads

For native ads, you set the placement ID after you load a native ad and before registering the ad to the ad view.

The following example sets a placement ID for a native ad at show time:

Kotlin

private fun showNativeAd(nativeAdView: NativeAdView, nativeAd: NativeAd) {
  nativeAd.placementId = PLACEMENT_ID
  nativeAdView.setNativeAd(nativeAd)
}

Java

private void showNativeAd(NativeAdView nativeAdView, NativeAd nativeAd) {
  nativeAd.setPlacementId(PLACEMENT_ID);
  nativeAdView.setNativeAd(nativeAd);
}

View placements report

After you set the placement ID, you see a report of the placement ID dimension in the AdMob UI. To view the report, follow View your placements.