The three bases
Session RPM is earnings per 1,000 sessions: a session is one visit, however many pages it spans. It is the basis Mediavine reports on in its dashboard Mediavine2026-08. AdSense's page RPM divides by pageviews Google AdSense Help2026-08, and Ezoic's EPMV divides by visits, which Ezoic documents as earnings per thousand visitors Ezoic2026-08.
One day, worked through all three
the day: $100 earned; 10,000 pageviews; 7,143 sessions (1.4 pages/session)
page RPM = 100 ÷ 10,000 × 1,000 = $10.00
session RPM = 100 ÷ 7,143 × 1,000 = $14.00
EPMV (visits = sessions here) = $14.00
| Basis | Denominator | Reads as | Dashboard |
|---|---|---|---|
| Page RPM | 10,000 pageviews | $10.00 | AdSense |
| Session RPM | 7,143 sessions | $14.00 | Mediavine |
| EPMV | 7,143 visits | $14.00 | Ezoic |
Same money, 40% spread. The multiplier between page and session RPM is exactly your pages-per-session figure, so sites with deep multi-page sessions show the widest gap.
Why networks pick different bases
Session-based reporting rewards total visit monetization: it counts everything a visit earned regardless of how many pages it took, which matches how full-service networks optimize. Page-based reporting maps cleanly to page-level testing. Ezoic argues the visit basis explicitly in its EPMV documentation Ezoic2026-08: per-page optimizations can raise page RPM while lowering total visit earnings, which EPMV catches.
The practical rule
Never compare RPMs across dashboards without converting to one basis. To convert, you need your pages-per-session from analytics: session RPM = page RPM × pages per session. When someone quotes a Mediavine session RPM against your AdSense page RPM, the session figure carries a built-in headstart of your pages-per-session multiple; the Ezoic vs Mediavine page shows how much decision damage that one confusion does.