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.

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.