Implement key-value segmentation

Key-value segmentation lets you define custom targeting to segment users through an ad request. For details on key-value segmentation, such as adding a key-value pair in the AdMob UI, see Add key-value segmentation to a mediation group.

This page guides you through implementing key-value segmentation when configuring an ad request using the Google Mobile Ads Android SDK.

Before you begin

To set up key-value segmentation in your app, you must first add key-value segmentation to a mediation group.

Attach key-value pairs to an ad request

After setting up your custom key-value pairs in the AdMob UI, attach the pairs to an ad request in your application.

To attach the key-value pairs to an ad request, call putCustomTargeting() with the key and value.

The following example segments users by duration in an app:

Kotlin

val daysInApp = 1
val request = AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("USER_DURATION", if (daysInApp < 3) "NEW" else "MATURE")
  .build()

Java

int daysInApp = 1;
AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
    .putCustomTargeting("USER_DURATION", (daysInApp < 3) ? "NEW" : "MATURE")
    .build();

Test the key-value segmentation setup

To test your implementation on custom key-value pairs, send an ad request and check the response info object. Verify the value of the mediation_group_name field matches your expected mediation group name.

The following example verifies a mediation group name in the ad response:

{
  "Response ID": "r6_DZtitA8Gi2OMPyKeksAI",
  ...
  "Response Extras": {
    "mediation_group_name": "Mediation group for new users"
  }
}