---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ads.yandex.com/helpcenter/en/easy/integration/unity/advanced-settings/targeting.md
  - https://ads.yandex.com/helpcenter/ru/easy/integration/unity/advanced-settings/targeting.md
  - https://ads.yandex.com/helpcenter/zh/easy/integration/unity/advanced-settings/targeting.md
  - href: en/easy/integration/unity/advanced-settings/targeting.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/en/llms.txt

# Ad targeting

Targeting is used to set precise parameters so that users can see ads that are more relevant to them. Here's an example of using targeting:

For all ad formats, use `AdRequest` with optional `AdTargeting`.

{% list tabs %}

- Banners

    BannerComponent.cs

    ```C#
        private void Start()
        {
        if (!string.IsNullOrEmpty(currentAdUnitId))
        {
            ConfigureBanner();

            double lat = 60.0, lon = 30.0;

            // Build the Location object
            Location location = new Location.Builder()
                .SetLatitude(lat)
                .SetLongitude(lon)
                .Build();

            AdTargeting targeting = new AdTargeting(
                age: "25",
                gender: Gender.MALE,
                contextTags: new List<string>() { "games", "unity", "test" },
                contextQuery: "user_search_query",
                location: location
            );

            AdRequest adRequest = new AdRequest(currentAdUnitId, targeting: targeting);

            banner.LoadAd(adRequest);
        }
        else
        {
            Debug.LogError("Banner configuration failed. Ad Unit ID is missing.");
        }
        }
    ```

- Interstitial ads

    InterstitialAdComponent.cs
    ```C#
    private void ConfigureAd()
    {
        double lat = 60.0, lon = 30.0;

        // Build the Location object
        Location location = new Location.Builder()
            .SetLatitude(lat)
            .SetLongitude(lon)
            .Build();

        AdTargeting targeting = new AdTargeting(
            age: "25",
            gender: Gender.MALE,
            contextTags: new List<string>() { "games", "unity", "test" },
            contextQuery: "user_search_query",
            location: location
        );

        AdRequest adRequest = new AdRequest(CurrentAdUnitId, targeting: targeting);
        interstitialAdLoader.LoadAd(
            adRequest: adRequest,
            onLoaded: interstitial => { /* wire interstitial events and show */ },
            onFailed: args => Debug.LogError(args.Message));
    }
    ```

- Rewarded ads

    RewardAdComponent.cs
    ```C#
    private void ConfigureAd()
    {
        double lat = 60.0, lon = 30.0;

        // Build the Location object
        Location location = new Location.Builder()
            .SetLatitude(lat)
            .SetLongitude(lon)
            .Build();

        AdTargeting targeting = new AdTargeting(
            age: "25",
            gender: Gender.MALE,
            contextTags: new List<string>() { "games", "unity", "test" },
            contextQuery: "user_search_query",
            location: location
        );

        AdRequest adRequest = new AdRequest(CurrentAdUnitId, targeting: targeting);
        rewardedAdLoader.LoadAd(
            adRequest: adRequest,
            onLoaded: rewardedAd => { /* wire rewarded events and show */ },
            onFailed: args => Debug.LogError(args.Message));
    }
    ```

- App open ads

    AppOpenAdComponent.cs
    ```C#
    private void ConfigureAd()
    {
        double lat = 60.0, lon = 30.0;

        // Build the Location object
        Location location = new Location.Builder()
            .SetLatitude(lat)
            .SetLongitude(lon)
            .Build();

        AdTargeting targeting = new AdTargeting(
            age: "25",
            gender: Gender.MALE,
            contextTags: new List<string>() { "games", "unity", "test" },
            contextQuery: "user_search_query",
            location: location
        );

        AdRequest adRequest = new AdRequest(CurrentAdUnitId, targeting: targeting);
        appOpenAdLoader.LoadAd(
            adRequest: adRequest,
            onLoaded: appOpenAd => { /* wire app open events and show */ },
            onFailed: args => OnAdFailedToLoad?.Invoke(args.Message));
    }
    ```

{% endlist %}


#|
||

**Parameter**

|

**Description**

||
||

`age`

|

The age of a user: a number in the string format (for example, "14", "18", and so on).

||
||

`gender`

|

The gender of a user: "male", "female".

You can use the `Gender` object to get a valid string.

||
||

`location`

|

The location of a user as detected by your app.

To use location data, you must obtain the user's consent to do so and then set `YandexAds.SetLocationTracking(true)` in the SDK.

||
||

`contextQuery`

|

The user's search query in the app.

For instance, if a user searched for a car, this parameter might look like that: "Buy a used car in Moscow".

||
||

`contextTags`

|

The keywords from the page the user was viewing. These could be the page's title, parts of its content, tags, and other elements.

For a page with a car search, this parameter might look like that: "buy a car", "used car", "in Moscow".

||
|#
