Impression Level revenue data (ILRD)

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

Enabling ILRD

  1. Integrate the Mobile Ads SDK version 5.0.0 or later by following the instructions (Boost: React Native, Mobile Mediation: React Native).

  2. Implement client-side interfaces to track events.

    When working with banner ads, use the onImpression callback. For fullscreen formats (InterstitialAd, RewardedAd, AppOpenAd), use the onAdImpression callback with the ImpressionData parameter. The callback is triggered when an impression is recorded. The ImpressionData object provides the rawData property, which contains a JSON string with ILRD.

    const interstitialAd = new InterstitialAd('your-ad-unit-id');
    
    interstitialAd.onAdImpression = (impressionData) => {
      const rawData = impressionData?.rawData;
      // Processing ILRD
      console.log('Impression data:', rawData);
    };