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.
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 cannot 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 manual CPM you 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 cannot collect enough data to estimate the ad value for the third-party ad source, it will use the manual eCPM you’ve entered. |
Unknown |
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. Note: 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:
- 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 tab.
- In the Account controls section, 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
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. 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 can use 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 might 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 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 impression-level ad revenue data and calculating LTV.
If you’re finding 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 there's 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 used for ordering waterfall ad source instances or does not match the third-party ad unit floor, this can cause discrepancy, since the manual eCPM doesn't reflect the actual CPMs the third-party delivers.
You can enter the waterfall ad source credentials so AdMob can estimate the eCPM and reduce discrepancies.
AdMob may apply invalid traffic filtering after the impression has served. In those cases, you might notice discrepancies between what's shown in AdMob reporting and the data that was captured via the impression-level ad revenue data API before the filter was applied.
If AdMob doesn't have enough data to calculate the revenue for a bidding ad source, it will report a value of $0. It will also report Unknown for the precision level. This can happen if the ad source is an AdMob campaign.