Website Earning Checker
Model the monthly display-ad revenue of a site in our publisher index from its visits, pages per visit and a benchmark RPM.
What the estimate shows
- Inputs, each with its source Estimated visits and data month, pages per visit, and the page RPM for the site’s category and visitor region.
- A monthly baseline The modeled figure, plus the same traffic at 0.5× and 1.5× the benchmark RPM.
- A stop, not a guess Without visits or pages per visit there is no estimate, never $0.
How the estimate works
The estimate is visits × PPV × RPM ÷ 1,000, where PPV is pages per visit and RPM is a benchmark rate per 1,000 pageviews. You enter a domain, and the checker looks up the rest.
-
Enter a domain
Type a site name such as example.com. A full URL works too, and only its host is kept.
-
We find its visits
The domain must be in our monthly index. Its visits come from the latest published data month.
-
We add pages per visit
The site’s engagement profile supplies pages per visit. Visits × pages per visit gives estimated pageviews.
-
We apply a benchmark rate
A page RPM matched to the site’s categories and visitor countries turns pageviews into a monthly figure, plus two scenarios.
- Domain per check
- 1
- RPM scenarios: 0.5×, 1× and 1.5×
- 3
- Ways to choose the page RPM, most specific first
- 4
- Share of visits that must map to countries before country weighting applies
- 30%
What the estimate reads
Each input appears in the result with its source. None of them comes from the site’s ad account.
-
Estimated visits
Visits for the latest data month published in our index. The result names the month.
-
Pages per visit
Average pages per visit from the site’s engagement profile. Without it there is no estimate.
-
Content categories
Up to three of the site’s categories, weighted 60%, 25% and 15%, each matched to one of 25 benchmark categories.
-
Visitor countries
Each country’s share of visits. Higher-value countries in a region raise the rate, and lower-value ones reduce it.
-
Benchmark matrix
Page RPM for 25 categories in 3 regions, dated. The AdSense Revenue Calculator uses the same table.
snapshot 2026-05-05 -
Earlier months
The months your plan can see. When the data month has no usable visits, an earlier month can appear as a separate reference.
The model, step by step
The arithmetic for a made-up site with 120,000 visits and 2.5 pages per visit at an example rate of $2.00, then the four ways the real rate is chosen.
-
Visits
Estimated visits for the data month, the latest month published in our index.
-
Pages per visit
From the site’s engagement profile. When it is missing, the calculation stops here and the result names the gap.
-
Pageviews
Visits × pages per visit. Display ads are paid per page shown, so visits alone are not enough.
-
Category weights
Up to three categories, weighted 60%, 25% and 15%. Two labels that map to the same benchmark category are merged.
-
Country weighting
Each category’s regional rate is scaled for the site’s countries: higher-value countries raise it and lower-value ones reduce it.
-
Monthly figure
Pageviews ÷ 1,000 × page RPM. This is the lead figure in the result.
-
Scenarios
The same pageviews at half and one and a half times the rate. The multipliers are round teaching values.
The page RPM comes from the most specific of four models that the site’s data allows. The Page RPM used readout names the model, and the Category and region row repeats the reason in a sentence, such as “Region unavailable; using Finance category average RPM.” Two sites with the same pageviews can land on different rates for this reason alone.
- Matrix weightedMost specific
- The site has a mapped category, and at least 30% of its visits map to countries. Each category’s regional rate is scaled country by country, then up to three categories are blended.
- Category averageNo usable countries
- The category is known, but country data is missing or covers under 30% of visits. The rate is the mean of the category’s three regional rates.
- Region averageNo category
- Countries are known, but none of the site’s categories maps to the rate table. The rate starts from each region’s average across all 25 categories, scaled by country.
- Global medianNeither
- Neither a category nor usable countries are available. The model applies one flat rate of $2.40 per 1,000 pageviews.
Reading a result
A finished estimate has a title line, four readouts, three input rows, a scenario table and two next steps.
-
Title line
Modeled monthly ad revenue when every input is present. No estimate for this month when one is missing.
-
Checked and data month
The domain after cleanup, and the month the visits belong to.
-
Modeled monthly revenue
Visits × pages per visit × page RPM ÷ 1,000, in dollars. The formula is repeated under the figure.
-
Visits and pages per visit
Each with its month or source underneath. A missing value reads Unavailable and stops the estimate.
-
Page RPM used
The benchmark rate applied, followed by the model that chose it, such as matrix weighted.
-
Input rows
Estimated pageviews, the category and region used with the reason in words, and the date of the benchmark snapshot.
-
RPM scenarios
The same pageviews at 0.5×, 1× and 1.5× the benchmark rate. Only the rate changes, and amounts are rounded.
-
Next
Opens the AdSense Revenue Calculator with the site’s pageviews filled in, plus its category and region when known, or the domain’s traffic page.
Result states
The title line of every result uses one of these names. Each one asks for a different next step.
Where each input comes from
Every input has one source and, where it has one, a date.
- VisitsMonthly index
- Our monthly index of sites seen with an AdSense publisher ID. The data month is the latest month published there, the same month the rankings use.
- Pages per visitEngagement profile
- An upstream engagement profile of the site. The result labels it as an upstream profile estimate so it is never read as the site’s own analytics.
- CategoriesSite profile
- The content categories stored for the site, matched to the 25 benchmark categories. When none match, the categories on its engagement profile are tried.
- Visitor countriesEngagement profile
- Top visitor countries with their shares. 233 countries map to the three regions; any others are left out of the weighting.
- Benchmark ratesDated
- Public AdSense calculator data for 25 categories in 3 regions, snapshot 2026-05-05. The Benchmark snapshot row in the result shows the same date.
What can change an estimate
The same domain can return a different figure from one check to the next. These are the usual reasons, with the notes the result shows for them.
- A new data month
- When the index publishes a month, the visits and the data month change together.
- Pages per visit
- The engagement profile can be briefly unavailable. A check a few seconds later can fill the gap.
- Country coverage
- When under 90% of visits map to countries, a note says the weighting extrapolates the known mix. Under 30%, country weighting is dropped for a fallback rate.
- Data age
- If the data month ended more than 45 days ago, a note says traffic data may lag. After 75 days it says the data may be stale.
- Season
- For a November or December data month, a note says ad rates run above the annual average. For January or February, it says they run below it.
- Category labels
- When the site’s categories change, the rate follows the new mix on the next check.
- Adult content
- A site flagged as adult gets a note that most mainstream display ad networks do not accept it, so the figure is illustrative only.
What to enter
A domain is enough. The check keeps the host and drops the rest of a URL.
Accepted
example.comA bare domain.
blog.example.comA subdomain is looked up as its own entry in the index.
https://example.comA URL with or without https://.
Changed before the check
-
https://www.example.com/post?id=7becomesexample.comScheme, www, path and query are removed.
-
Example.COMbecomesexample.comLetters are lowercased.
-
example.com:8080becomesexample.comPort numbers are dropped. Names in other scripts become their ASCII form.
Not accepted
localhostA name without a dot is not a public site.
192.0.2.10IP addresses are not checked.
intranet.localReserved endings such as .local, .test and .internal are not checked.
pub-XXXXXXXXXXXXXXXXPublisher IDs belong in Reverse AdSense Lookup.
Example checks
Four placeholder domains and four different outcomes, drawn from the states above.
Every input present
example.com
- You see
- Modeled monthly ad revenue, with estimated visits, pages per visit, the page RPM used and three RPM scenarios.
- What it means
- All three inputs were available for the data month, and the rate came from the most specific model the data allowed.
- Next
- Use the Next line to open the calculator with the same pageviews, then try other categories or regions.
Pages per visit missing
example.org
- You see
- No estimate for this month. Pages per visit reads Unavailable, and a note says no default was substituted.
- What it means
- Visits alone do not say how many pages were shown, so the model stops instead of guessing.
- Next
- Run the check again shortly, or type the site’s pageviews into the AdSense Revenue Calculator if you know them.
Site outside the index
example.net
- You see
- Not in the current publisher index, with a note that missing data is not $0.
- What it means
- We hold no visits for this domain, so there is nothing to model.
- Next
- Open the domain’s page for a live preview, or use the calculator with traffic you know.
Zero visits in the data month
blog.example.com
- You see
- No estimate for this month, with a note that the latest data month recorded 0 visits. An Older reference block may follow.
- What it means
- A recorded zero is a measurement. The older month is history and reuses today’s pages per visit.
- Next
- Read the domain’s traffic history before drawing a conclusion about the site.
Before you quote the figure
A modeled figure carries more weight once you have checked these points.
-
Check the data month
The figure describes that month’s traffic. A site that grew or shrank since then has moved on.
-
Check which rate was used
Matrix weighted uses the site’s own categories and countries. A global median is a placeholder for a site we could not place.
-
Read every note
Notes about lagging data, partial country coverage, season or adult content change how much weight the figure can carry.
-
Try the scenarios
If a conclusion holds at both 0.5× and 1.5× the rate, it does not hinge on the benchmark.
-
Ask for the reports
For a purchase, ask the seller for ad-network reports covering the same month and compare pageviews and page RPM.
-
Keep other income separate
Affiliate, sponsorship and direct-sale income sit outside the model. Ask for them as separate lines.
Questions this estimate leaves to other tools
The estimate prices display ads on public traffic. These questions need other sources.
Website Earning Checker and related tools
Unlike a website ad revenue calculator where you type every number, this checker takes traffic from our index. The table shows where each tool gets its numbers.
| Website Earning Checker This tool | AdSense Revenue Calculator | Website Traffic Checker | RPM Calculator | |
|---|---|---|---|---|
| Answers | What one site in our index might earn from display ads | What a number of pageviews could earn in a category and region | About how many monthly visits a site gets | What your own page or impression RPM is |
| You enter | A domain | Category, region and monthly pageviews | A domain | Revenue with pageviews or impressions |
| Traffic from | Our monthly index, with pages per visit from an engagement profile | The pageviews you type | Our monthly index | Your own numbers |
| Result | A monthly figure with 0.5×, 1× and 1.5× RPM scenarios | Monthly and annual baselines | Monthly visits, traffic sources and top countries | RPM, or revenue from an RPM you know |
Who runs an earnings estimate
The result is a display-ad baseline for one domain, built from public traffic estimates and a benchmark RPM. It is most useful at a few specific moments.
-
Site buyers
Buyers use it as a quick website revenue checker: if a seller reports several times the baseline in display-ad income, ask where the difference comes from.
-
Brokers
Check that a listing’s display-ad revenue sits in a plausible range for the site’s traffic before it goes out.
-
Publishers
See roughly what a competing site in the same niche might make from display ads.
-
Ad sales teams
Size a publisher’s display inventory before a first call, then open its traffic history.
Terms used in the result
The labels on the result, in the order they appear.
- Estimated visits
- Modeled visits to the domain in the data month, from our monthly index.
- Data month
- The month the visits describe: the latest month published in the index.
- Pages per visit
- Average pages viewed in one visit, from the site’s engagement profile. Shortened to PPV.
- Estimated pageviews
- Visits × pages per visit. Display ads are paid per page shown.
- Page RPM
- Revenue per 1,000 pageviews. The model uses a benchmark rate for the site’s categories and visitor countries.
- RPM model
- How the rate was picked: matrix weighted, category average, region average or global median.
- Benchmark snapshot
- The date of the category and region rates behind every figure.
- RPM scenario
- The same pageviews at 0.5, 1 or 1.5 times the benchmark rate.
- Older reference
- An earlier month with visits, shown apart from the data month when that month cannot be modeled.
- Publisher index
- PubMonitor’s monthly dataset of sites seen with an AdSense publisher ID.
Common questions
Is this the site’s real AdSense income?
No. It is a modeled display-ad figure from estimated traffic and a benchmark rate. The site’s own AdSense reports hold the real figures, and only the account holder can see them.
Why is there no figure when the site clearly has traffic?
Pages per visit is probably missing. Ads are paid per page shown, and visits alone do not say how many pages that was, so the model stops and names the missing input. Run the check again shortly, or enter the site’s pageviews in the AdSense Revenue Calculator.
Why does the result say the domain is not in the index?
The index covers sites we have seen with an AdSense publisher ID. A site outside it has no visit estimate here, so there is nothing to model. Check the spelling, or try the calculator with traffic you know.
How is this different from the AdSense Revenue Calculator?
The calculator takes pageviews, a category and a region that you choose, and applies one rate. This checker starts from a domain, reads its traffic from our index and weights the rate by the site’s own categories and visitor countries.
What do the 0.5×, 1× and 1.5× rows mean?
They keep the pageviews fixed and multiply the benchmark rate by one half, one and one and a half. The rows show how much the figure depends on the rate. The multipliers are round teaching values with no statistical meaning.
Which month does the estimate describe?
The data month shown next to the checked domain: the latest month published in our index. A later month appears after the index publishes it.
Does the figure include affiliate or sponsorship income?
No. As a website income checker it covers display ads only. Affiliate commissions, sponsorships, subscriptions and direct ad sales are private and do not follow pageviews.
Why does the estimate differ from my own AdSense reports?
Your reports reflect your own layout, ad units, fill, viewability and audience. The model knows none of these and works from public traffic estimates with a category benchmark, so a gap in either direction is expected.
Does each check count toward a limit?
Each new domain counts toward a rolling fair-use limit shared with domain traffic pages. Checking the same domain again normally does not. Visitors who are not signed in may be asked to complete a short verification first.
Can an AI assistant run the same estimate?
Yes. PubMonitor’s MCP server has an estimate-domain-revenue tool that uses this model for a domain in the index. Signed-in accounts can connect it from the MCP page.
Estimate another site
Enter a domain in the checker above. The result lists every input with its source.