
How to understand eCPM, impressions, fill rate and revenue
Ad metrics form a chain. The app requests an ad, the network may return one, the app may record an impression and the resulting activity contributes to estimated earnings. Reading only the last value—or only eCPM—hides where performance changed.
AdMate helps keep the metrics together, while AdMob remains the authority for their exact reporting definitions.
Requests: the opportunity starts here
An ad request records that the app asked the provider for an ad. Request volume depends on app usage, placements, user flow, consent and implementation.
A request is not a displayed ad. If requests fall, investigate app activity and the points at which placements are loaded before focusing on price.
Match and fill concepts
Provider dashboards use match or fill-related metrics to describe whether demand was available for requests. Use the exact metric name shown in the report because formulas and eligible request sets can vary.
A lower ratio can reflect demand, geography, format, policy or eligibility. It does not by itself prove an SDK bug.
Impressions: ads actually counted as shown
Impressions are closer to exposure than requests. Compare impressions with matched requests to detect a change between receiving an ad and presenting it under the provider’s rules.
Do not try to inflate impressions by harming user experience or violating policy. Sustainable monetization still requires appropriate placement and consent.
eCPM: a normalized rate
eCPM expresses estimated earnings per thousand impressions:
eCPM = estimated earnings ÷ impressions × 1,000
It lets differently sized segments be compared, but small samples can produce volatile rates. Ten high-value impressions are not a stable basis for forecasting millions of impressions.
Estimated earnings: volume multiplied by value
Total estimated earnings depend on both impression volume and the average value represented by eCPM. That creates four useful patterns:
- more impressions and stable eCPM usually increase earnings;
- fewer impressions can outweigh higher eCPM;
- stable impressions with lower eCPM reduce earnings;
- improvements in both volume and eCPM reinforce each other.
Always open the denominator before celebrating a percentage.
Analyze a change in order
- Select one AdMob account and completed period.
- Confirm the app and ad-unit filters.
- Check requests.
- Check match or fill-related metrics.
- Check impressions.
- Check eCPM.
- Check estimated earnings.
- Break down the largest change by country, app, unit or format.
This order follows the delivery path and reduces guesswork.
Example
If requests remain stable, match rate stays similar and impressions fall sharply, inspect the path from returned ad to counted impression and any format-specific change. If impressions remain stable but eCPM falls, investigate demand, geography and format mix instead.
The dashboard points to the layer; logs and official reports confirm the cause.
Common mistakes
- treating eCPM as extra revenue;
- comparing a small ad unit with a portfolio average;
- using an incomplete current day;
- ignoring currency and country mix;
- interpreting zero impressions without checking requests;
- optimizing for clicks in a way that risks policy violations.
For the wider estimate-to-payment path, read AdSense payments versus AdMob revenue.
Frequently asked questions
Is higher eCPM always better?
It is valuable when measured on a meaningful, policy-compliant sample, but total earnings and user experience still depend on volume and placement.
Why are requests higher than impressions?
Not every request becomes a matched and counted impression. Review the intermediate provider metrics and implementation path.
Can AdMate change fill rate?
No. AdMate reports provider data; it does not serve ads or control auction demand.
Which metric should be the headline?
Use estimated earnings for operational value and keep impressions and eCPM visible so the change remains explainable.




