<br />

> [!NOTE]
> **Note:** Key-value segmentation is available only for AdMob Pro users. For details, reach out to your Google account manager.

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](https://support.google.com/admob/answer/14916631).

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

## Before you begin

To set up key-value segmentation in your app, you must first
[add key-value segmentation to a mediation group](https://support.google.com/admob/answer/14916631).

## 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.

1. Create a key-value pair object representing your custom targeting data.

2. Set the
   [`customTargeting`](https://developers.google.com/admob/ios/api/reference/Classes/GADRequest.md.txt#customtargeting)
   property of the ad request to this object.

The following example covers the previous steps to segment users by by duration
in an app:

### Swift

```swift
let daysInApp = 1

// Step 1: Create the key-value pair dictionary with custom targeting data.
let customTargeting: [String: String] = [
  "USER_DURATION": daysInApp < 3 ? "NEW" : "MATURE"
]

// Step 2: Create an ad request with custom targeting.
let request = GADRequest()
request.customTargeting = customTargeting
```

### Objective-C

```objective-c
int days_in_app = 1;

// Step 1: Create the key-value pair object with custom targeting data.
NSDictionary *customTargeting = @{
  @"USER_DURATION" : days_in_app < 3 ? @"NEW" : @"MATURE"
};

// Step 2: Create an ad request with custom targeting.
GADRequest *request = [GADRequest request];
request.customTargeting = customTargeting;
```

## Test the key-value segmentation setup

To test your implementation on custom key-value pairs, send an ad request and
check the
[response info](https://developers.google.com/admob/ios/response-info.md.txt#response_info)
object. Verify that 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:

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