Impression-Level Revenue Data (ILRD)

Understand ILRD

Impression-level revenue data (ILRD) enables you to process granular data. Starting with MoPub SDK v5.7.0, MoPub provides you with revenue information associated with each impression, as well as information about which demand source was able to fill and show an ad. We provide you the data in real time, on the device, within your publisher app. You then have the flexibility to augment the impression event data with your own proprietary data, and to either process the data directly, or pass it to a third-party analytics provider.

Ingest ILRD and use the resulting analytics to better understand your users’ activities, and to make more informed user acquisition decisions in attributing earned revenue back to your campaigns. Visit our blog on the MoPub site to learn more about using ILRD to optimize your user acquisition strategy.

The ILRD feature must be enabled for the ad responses to include impression revenue data. When the MoPub SDK in your app sends an ad request to our ad server, the MoPub ad server checks to see that ILRD is enabled for that app, and sends back a callback that includes a JSON object containing revenue data details. (If ILRD is not enabled, the JSON object is null.) We provide getter objects to fetch this data for each platform.

Impression-Level Revenue Data FLow


Publishers receive the following data for every ad impression:

  • Revenue data (revenue, currency)
  • Waterfall data: ad unit, ad format, and priority
  • Demand source: Direct-Sold, Network, or Marketplace-served ad
  • Precision level of the data: exact (if resulting price of a real-time auction), estimated (if price is obtained using MoPub’s Auto CPM calculations), publisher_defined (if price is the CPM manually input by the publisher), or undisclosed (if the resulting price is null)
Field Name                                   Datatype Description
adunit String Ad unit ID
adunit_name String Ad unit name
adunit_format String Format of the ad unit as defined in the MoPub UI.

- Banner

- Medium Rectangle

- Fullscreen

- Rewarded Video

- Custom
id String A unique ID for each impression
currency String Is always “USD”
publisher_revenue Double MoPub’s best understanding for the likely payout of an impression, this field is determined in one of three ways:

- the resulting price of a real-time auction (in this case, precision = ‘exact’)

- the price obtained by MoPub’s Auto CPM product (in this case, precision = ‘estimated’)

- the price assigned to the line item by the publisher (in this case, precision = ‘publisher_defined’)

- when we do not have permission to share the impression data. This value will be null. (in this case, precision = ‘undisclosed’)

Note: This value is provided in the units specified in the currency field
network_name String If impression served by a supported ad network, this includes the ad network’s name
network_placement_id String If impression served by a supported ad network, this includes the ad network’s placement/zone/etc ID
adgroup_id String Ad Group (line item) ID
adgroup_name String Ad Group (line item) name
adgroup_type String An enumeration of the possible ad group types
adgroup_priority Integer Priority of the line item
country String Country location of the user as resolved by MoPub
precision String The value passed here depends on the publisher_revenue value:

- ‘publisher_defined’ if publisher_revenue is the price assigned to the line item by the publisher

- ‘exact’ if publisher_revenue is the resulting price of a real-time auction

- ‘estimated’ if publisher_revenue is the price obtained by MoPub’s Auto CPM product

- ‘undisclosed’ if we do not have permission from the ad network to share impression-level data

We do not include data fields that can be retrieved from the device itself, or that constitute personally identifiable information. These include:

  • device make
  • device model
  • app version
  • IDFA
  • other identifiers

You can combine the data we send with additional fields, such as IDFA (provided you have the legal right to do so), before processing it. You can then feed this data to your internal BI tools or send it to third-party attribution or analytics vendors for further analysis. MoPub has collaborated with the following following third parties to support this new capability: Adjust, AppsFlyer, Branch, Kochava, Singular, Soomla, and Tenjin.

Enable ILRD

To enable ILRD:

  1. Integrate MoPub SDK v5.7.0 or higher. Refer to the SDK integration instructions:

  2. Contact your MoPub account representative and ask to enable ILRD for your account. Note that this feature is applicable only for MoPub’s full platform publishers.

  3. Integrate listeners in your app to ingest the new data provided by the SDK:

Last updated October 29, 2019

TWITTER, MOPUB, and the Bird logo are trademarks of Twitter, Inc. or its affiliates. All third party logos and trademarks included are the property of their respective owners.

© 2019 MoPub (a division of Twitter, Inc.)