Ad targeting

You can use the Yandex Mobile Ads SDK API to add extra user information. Adding context data to the request can significantly enhance the quality of advertising and increase your revenue.

Set up targeting

You can pass user information in the ad request:

You can provide the following user information:

Parameter

Description

age

User age: a number in string format (for example, "14", "18", and so on).

gender

User gender: male, female.

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

location

The user's location as detected by your app.

To use the location, you must obtain the user's consent to your app using their location and set MobileAds.setLocationConsent(true) in the SDK.

contextQuery

The user's search query in the app.

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

contextTags

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 "Buy a car", "used car", "in Moscow".

Targeting examples (Kotlin)

Adaptive inline and sticky banners

val adRequest = AdRequest.Builder()
            .setAge("25")
            .setGender(Gender.MALE)
            .setLocation(Location("provider"))
            .setContextQuery("Buy a used car in Moscow")
            .setContextTags(listOf("Buy a car", "used car", "in Moscow"))
            .build()
loadAd(adRequest)
Interstitial ads, rewarded ads, and app open ads
val adRequestConfiguration = AdRequestConfiguration.Builder("demo-interstitial-yandex")
            .setAge("25")
            .setGender(Gender.MALE)
            .setLocation(Location("provider"))
            .setContextQuery("Buy a used car in Moscow")
            .setContextTags(listOf("Buy a car", "used car", "in Moscow"))
            .build()
loadAd(adRequestConfiguration)

Native ads

val nativeAdRequestConfiguration = NativeAdRequestConfiguration.Builder("demo-native-yandex")
            .setAge("25")
            .setGender(Gender.MALE)
            .setLocation(Location("provider"))
            .setContextQuery("Buy a used car in Moscow")
            .setContextTags(listOf("Buy a car", "used car", "in Moscow"))
            .build()
nativeAdLoader?.loadAd(nativeAdRequestConfiguration)

Ad feed

val feedAdRequestConfiguration = FeedAdRequestConfiguration.Builder("demo-feed-yandex")
            .setAge("25")
            .setGender(Gender.MALE)
            .setLocation(Location("provider"))
            .setContextQuery("Buy a used car in Moscow")
            .setContextTags(listOf("Buy a car", "used car", "in Moscow"))
            .build()
val feedAd = FeedAd.Builder(context, feedAdRequestConfiguration, feedAdAppearance).build()
feedAd.loadListener = feedAdLoadListener