Impression-level ad revenue

Impression-level ad revenue helps to calculate more precise data on the lifetime value (LTV) of app users. When enabled, AdMob sends back the ad revenue for each ad impression shown on the user's device. This data can be used to understand users' activities.

To use this feature:

  1. Enable the feature in the AdMob console, as explained in the Impression-level ad revenue documentation.

  2. For banner ad components use their onPaid prop to setup ad revenue event listeners. It should have the signature (event: PaidEvent) => void.

    For «full-screen» ads (app open, interstitial, etc.) use their addAdEventListener methods to setup a listener, and look for the event with type paid, which payload will be a PaidEvent object.

    For «full-screen» displayed using hooks, the hooks return optional revenue value. If present, it keeps the last received PaidEvent for the ad.

The PaidEvent type is:

type PaidEvent = {
  currency: string;
  precision: RevenuePrecisions;
  value: number;

where RevenuePrecisions is an enum with keys ESTIMATED, PRECISE, PUBLISHER_PROVIDED, and UNKNOWN. It can be imported from the library as

import { RevenuePrecisions } from 'react-native-google-mobile-ads';