Impression-level ad revenue helps you calculate more precise data on the lifetime value (LTV) of your app users. LTV is an important metric that can help guide your user acquisition and monetization strategy.
When you enable impression-level ad revenue, AdMob sends back the ad revenue for each ad impression shown on the user's device. You can then use this data in your internal systems or other third-party tools to better understand your users’ activities.
How it works
When an ad impression is shown, the Google Mobile Ads SDK sends the revenue value of the ad, the currency, and the level of precision to your app. Note that USD is always used as the currency for impression-level ad revenue.
The following table includes the levels of precision available and what they mean.
Level of precision | What it means |
Precise |
The precise value paid for the ad. This is only available for the AdMob Network and your bidding ad sources. If AdMob is unable to provide a precise value for the bidding ad source, the precision will be estimated. Note: We expect discrepancies between the estimated ad revenues and the actual values to be within a 10% range. |
Estimated |
An ad value estimated from aggregated data. If you’ve entered the ad source credentials for your third-party ad sources in waterfall mediation, AdMob uses an average based on historical data to approximate the value. Note: We expect discrepancies between the estimated ad revenues and the actual values to be within a 10% range. |
Publisher provided | The publisher provided ad value is the manual CPM entered for your waterfall ad source instance in a mediation group. If you haven’t entered the ad source’s credentials or ad unit mapping information, or AdMob is unable to collect enough data to estimate the ad value for the third-party ad source, it will use the manual eCPM you’ve entered. |
Unknown |
Unknown is used when there are no sources of data available for AdMob to calculate a revenue value. This occurs for bidding ad sources for which AdMob provides an estimated revenue value, if there is not enough data to calculate it. Also note that the precision will be unknown for AdMob campaigns and house ads. AdMob returns a value of $0 for those cases. |
Get started
To use impression-level ad revenue, complete the following steps:
- Make sure you’re using the minimum required Google Mobile Ads SDK version:
- Turn on the setting for impression-level ad revenue in your AdMob account:
- Sign in to your AdMob account at https://apps.admob.com.
- Click Settings in the sidebar.
- Click the Account information tab.
- Click the Impression-level ad revenue toggle to turn on this setting.
- Implement the paid event handler in your app. Use the instructions for Android, iOS, or Unity.
FAQs
Below are the answers to some frequently asked questions about impression-level ad revenue.
Expand all Collapse allImpression-level ad revenue is best used for more granular revenue data and for LTV calculation. You should consider using impression-level ad revenue if you:
- Need more granular LTV data
- Calculate LTV or return on ad spend (ROAS) on your own
- Use an internal system or third-party tool for data analysis and/or ROAS calculation
- Have developer resources to implement impression-level ad revenue
Otherwise, you should consider using the cohort report.
Impression-level ad revenue is supported out of the box by a number of measurement and analytics companies. You can check the list of supported companies for Android, iOS, and Unity. If your company isn’t supported yet, you may still be able to pass the impression-level ad revenue data directly to your third-party SDK.The total impressions is the number of LTV pingback events. Make sure to include any events with zero ad_value to prevent underreporting.
Some level of discrepancy is expected with impression-level ad revenue for AdMob and third party networks. Depending on your calculation, the comparison of the impression-level ad revenue data to your AdMob reports or another data source may vary. Make sure you’re not filtering out any events when collecting the impression-level ad revenue data and calculating LTV.
If you’re seeing a discrepancy on values with estimated precision, this can be caused by:
- Floor changes and eCPM fluctuations: Since values with estimated precision are calculated using an average based on historical data, ad unit floor changes or other CPM fluctuations can cause overestimation or underestimation.
- New ad source instances: If optimization is enabled, AdMob may take up to 5 days to generate data for a new ad source instance. In the meantime, publisher provided precision will be used.
If you’re seeing a discrepancy on values with publisher-provided precision, this can be caused by a mismatch between the manual eCPM and the third-party ad unit floor.
If you use manual eCPM in the mediation waterfall, this eCPM value is used to calculate the impression-level ad revenue data. If this eCPM is primarily used for ordering waterfall ad source instances or does not match the 3P ad unit floor, this can cause discrepancy, since the manual eCPM will not be reflective of the actual CPMs the third-party delivers.
We recommend that you enter the credentials for the waterfall ad sources to enable AdMob to estimate the eCPM value and reduce discrepancies.
Additionally, AdMob may apply invalid traffic filtering after the impression has served. In those cases, you may find discrepancies between what is shown in AdMob reporting and the data that was captured via the impression-level ad revenue data API prior to the filter being applied.
AdMob will report a value of $0 when there are no sources of data available for AdMob to calculate the revenue. Precision will be reported as Unknown in those cases.
This occurs for bidding ad sources for which AdMob provides an estimated revenue value, if there is not enough data to calculate it. This also occurs when the ad source is an AdMob campaign.