---
metadata:
  - name: generator
    content: Diplodoc Platform v5.57.3
alternate:
  - https://boost.yandex.ru/doc/en/ad-monetization/dev/compose-multiplatform/impression-level.md
  - https://boost.yandex.ru/doc/ru/ad-monetization/dev/compose-multiplatform/impression-level.md
  - href: en/ad-monetization/dev/compose-multiplatform/impression-level.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://boost.yandex.ru/doc/en/llms.txt

# Impression Level revenue data (ILRD)


<!-- source: en/ad-monetization/dev/_includes/ilrd.md -->
With Impression Level revenue data (ILRD), you can process detailed revenue data. Starting with the Mobile Ads SDK 5.0.0, the SDK provides you with revenue information for each ad impression and information about the advertising network (if Mobile Mediation is used) that served the ad. This information is provided in real time on the device in the publisher's app. You can handle this data directly or transfer it to a third-party analytics provider.

## What data can be obtained

The following data is available to publishers:

#|
|| **Field**        | **Type**         | **Description**   ||
|| `ad_unit_id`| string      | A unique ad unit ID. ||
|| `adType`    | string       | The type of an ad: 
* Banner
* Interstitial ads
* Native ad
* Rewarded ads  ||
|| `currency`  | string    | The currency that an ad network uses.      ||
|| `revenue`   | string  | Revenue from an impression in the ad network currency. The currency specified in the `currency` field is used.  ||
|| `revenueUSD`    | string  | Revenue from an impression, converted to USD. ||
|| `precision` | string  | The accuracy of the `revenue` value. Acceptable values:
* `publisher_defined`: The value that takes into account the CPM floor from the mediation interface.
* `estimated`: The value based on automatic strategies. ||
|| `network.name` | string   | The name of the ad network that served the ad (the parameter is valid for Mobile Mediation). ||
|| `network.ad_unit_id` | string | Unique ad unit ID in the network that served the ad (for Mobile Mediation). ||
|#
<!-- endsource: en/ad-monetization/dev/_includes/ilrd.md -->

## Enabling ILRD

1. Integrate the Mobile Ads SDK version 8.0.0 or later by following the instructions (Boost: [Compose Multiplatform](https://boost.yandex.ru/doc/en/ad-monetization/dev/compose-multiplatform/quick-start.md), Mobile Mediation: [Compose Multiplatform](https://boost.yandex.ru/doc/en/ad-monetization/dev/compose-multiplatform/quick-start-mm.md)).

2. Implement client-side interfaces to track events.

   When working with banner ads, use the `onImpression` callback in `BannerEvents`. For fullscreen ads (`InterstitialAd`, `RewardedAd`, `AppOpenAd`), use the `onAdImpression` callback for the corresponding event listener. The callback is triggered when an impression is recorded. The `ImpressionData` object contains the `rawData` property, which is a JSON string containing the ILRD.

   Once you've loaded a fullscreen ad (usually within a coroutine launched from `rememberCoroutineScope()`), set up the listener before calling `show()`:

   ```kotlin
   ad.setAdEventListener(
       object : InterstitialAdEventListener {
           override fun onAdShown() {}

           override fun onAdFailedToShow(adError: AdError) {}

           override fun onAdDismissed() {}

           override fun onAdClicked() {}

           override fun onAdImpression(impressionData: ImpressionData?) {
               val rawData = impressionData?.rawData
           }
       },
   )
   ad.show()
   ```
