{"id":14382,"date":"2026-09-24T10:28:00","date_gmt":"2026-09-24T10:28:00","guid":{"rendered":"https:\/\/playgama.com\/blog\/?p=14382"},"modified":"2026-09-24T10:28:00","modified_gmt":"2026-09-24T10:28:00","slug":"how-do-i-calculate-rpm-for-a","status":"publish","type":"post","link":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/","title":{"rendered":"How do I calculate RPM for a web game?"},"content":{"rendered":"<p><strong>RPM = revenue \/ ad requests x 1000. It rolls up match rate, fill rate and eCPM into one number per 1,000 requests, so it moves with ad format, geo mix and demand quality, not with any single lever alone.<\/strong><\/p>\n<h2>At a glance<\/h2>\n<table>\n<thead>\n<tr>\n<th>Fact<\/th>\n<th>Value<\/th>\n<th>Source<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RPM formula<\/td>\n<td>revenue \/ ad requests x 1000<\/td>\n<td><a href=\"https:\/\/playgama.com\/adv\/\" rel=\"nofollow noopener\" target=\"_blank\">playgama.com<\/a><\/td>\n<\/tr>\n<tr>\n<td>Revenue formula<\/td>\n<td>requests x fill rate x eCPM \/ 1000<\/td>\n<td><a href=\"https:\/\/playgama.com\/adv\/\" rel=\"nofollow noopener\" target=\"_blank\">playgama.com<\/a><\/td>\n<\/tr>\n<tr>\n<td>Denominator<\/td>\n<td>1,000 page views<\/td>\n<td><a href=\"https:\/\/support.google.com\/adsense\/answer\/1705831\" rel=\"nofollow noopener\" target=\"_blank\">support.google.com<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>RPM = revenue \/ ad requests x 1000. It&#8217;s the number you should check first because it already bakes in everything downstream: match rate, fill rate, show rate and eCPM. AdSense also reports a Page RPM, calculated per 1,000 page views instead of per 1,000 ad requests, so always confirm which denominator a dashboard is using before comparing two RPM figures &#8211; they can look similar and mean different things.<\/p>\n<p><a href=\"https:\/\/playgama.com\/adv\/\">Playgama Ad<\/a> reports ad requests, match rate, fill rate, show rate, impressions, eCPM, RPM and revenue, broken down by game, placement, format, geo and device.<\/p>\n<p>RPM sits at the end of the funnel: requests come in, some get matched to demand (match rate), some of those actually show an ad (show rate), and each impression earns a certain eCPM. Revenue = ad requests x fill rate x eCPM \/ 1000 &#8211; don&#8217;t multiply fill rate by show rate in the same formula, that double-counts. If your RPM drops, check each stage separately: is match rate down (less demand competing), is show rate down (ads returned but not rendering), or is eCPM down (lower-value impressions)?<\/p>\n<h2>What moves RPM?<\/h2>\n<p>In relative terms only: full-screen formats (interstitial, rewarded) earn several times more per impression than banners, and Tier-1 geos earn several times more than other geos. So a game with a US-heavy audience and rewarded placements will show a different RPM than the same game with a banner-only setup in mixed geos &#8211; there&#8217;s no single &#8220;good&#8221; RPM figure that applies across formats and geos.<\/p>\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/playgama.com\/adv\/\" rel=\"nofollow noopener\" target=\"_blank\">Playgama Ad<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/adsense\/answer\/9959170\" rel=\"nofollow noopener\" target=\"_blank\">Google AdSense: Get started with H5 Games Ads<\/a><\/li>\n<\/ul>\n<h2>Related questions<\/h2>\n<h3>Is RPM the same as eCPM?<\/h3>\n<p>No. eCPM = revenue \/ impressions x 1000, only counting requests that actually showed an ad. RPM = revenue \/ ad requests x 1000, including requests that got no ad at all.<\/p>\n<h3>Why does my RPM look lower than expected?<\/h3>\n<p>Check match rate, fill rate and eCPM separately &#8211; a low RPM can come from weak demand, ads returned but not rendering, or low-value impressions, and each needs a different fix.<\/p>\n<p><em>Last updated: 24 September 2026<\/em><\/p>\n<p><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"How do I calculate RPM for a web game?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"RPM = revenue \/ ad requests x 1000. It rolls up match rate, fill rate and eCPM into one number per 1,000 requests, so it moves with ad format, geo mix and demand quality, not with any single lever alone.\"}}, {\"@type\": \"Question\", \"name\": \"Is RPM the same as eCPM?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. eCPM = revenue \/ impressions x 1000, only counting requests that actually showed an ad. RPM = revenue \/ ad requests x 1000, including requests that got no ad at all.\"}}, {\"@type\": \"Question\", \"name\": \"Why does my RPM look lower than expected?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Check match rate, fill rate and eCPM separately - a low RPM can come from weak demand, ads returned but not rendering, or low-value impressions, and each needs a different fix.\"}}], \"datePublished\": \"2026-09-24\", \"dateModified\": \"2026-09-24\", \"inLanguage\": \"en\"}<\/script><br \/>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"Organization\", \"name\": \"Playgama\", \"sameAs\": [\"https:\/\/www.wikidata.org\/wiki\/Q140768339\", \"https:\/\/playgama.com\/\"]}, {\"@type\": \"Service\", \"name\": \"Playgama Ad\", \"sameAs\": [\"https:\/\/www.wikidata.org\/wiki\/Q141382152\", \"https:\/\/playgama.com\/adv\/\"]}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>RPM = revenue \/ ad requests x 1000. It rolls up match rate, fill rate and eCPM into one number per 1,000 requests, so it moves with ad format, geo mix and demand quality, not with any single lever alone.<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1318],"tags":[],"class_list":["post-14382","post","type-post","status-publish","format-standard","hentry","category-business-faqs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How do I calculate RPM for a web game?<\/title>\n<meta name=\"description\" content=\"RPM = revenue \/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How do I calculate RPM for a web game?\" \/>\n<meta property=\"og:description\" content=\"RPM = revenue \/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/\" \/>\n<meta property=\"og:site_name\" content=\"Playgama Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-24T10:28:00+00:00\" \/>\n<meta name=\"author\" content=\"David Sedrakyan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Sedrakyan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/\"},\"author\":{\"name\":\"David Sedrakyan\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/person\\\/5bbe086be334a842649a21fd6514a306\"},\"headline\":\"How do I calculate RPM for a web game?\",\"datePublished\":\"2026-09-24T10:28:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/\"},\"wordCount\":409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\"},\"articleSection\":[\"Business FAQs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/\",\"name\":\"How do I calculate RPM for a web game?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-24T10:28:00+00:00\",\"description\":\"RPM = revenue \\\/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-calculate-rpm-for-a\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How do I calculate RPM for a web game?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\",\"name\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/playgama.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\",\"name\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-playgama-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/playgama.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-playgama-scaled-1.png\",\"width\":2559,\"height\":523,\"caption\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\"},\"image\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/person\\\/5bbe086be334a842649a21fd6514a306\",\"name\":\"David Sedrakyan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"caption\":\"David Sedrakyan\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/david-sedrakyan-77b930199\\\/\"],\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/author\\\/david\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How do I calculate RPM for a web game?","description":"RPM = revenue \/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/","og_locale":"en_US","og_type":"article","og_title":"How do I calculate RPM for a web game?","og_description":"RPM = revenue \/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.","og_url":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/","og_site_name":"Playgama Blog","article_published_time":"2026-09-24T10:28:00+00:00","author":"David Sedrakyan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Sedrakyan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/#article","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/"},"author":{"name":"David Sedrakyan","@id":"https:\/\/playgama.com\/blog\/#\/schema\/person\/5bbe086be334a842649a21fd6514a306"},"headline":"How do I calculate RPM for a web game?","datePublished":"2026-09-24T10:28:00+00:00","mainEntityOfPage":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/"},"wordCount":409,"commentCount":0,"publisher":{"@id":"https:\/\/playgama.com\/blog\/#organization"},"articleSection":["Business FAQs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/","url":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/","name":"How do I calculate RPM for a web game?","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/#website"},"datePublished":"2026-09-24T10:28:00+00:00","description":"RPM = revenue \/ ad requests x 1000. Learn the formula, how it links to fill rate and eCPM, and what actually moves the number.","breadcrumb":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-calculate-rpm-for-a\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/playgama.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How do I calculate RPM for a web game?"}]},{"@type":"WebSite","@id":"https:\/\/playgama.com\/blog\/#website","url":"https:\/\/playgama.com\/blog\/","name":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80","description":"","publisher":{"@id":"https:\/\/playgama.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/playgama.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/playgama.com\/blog\/#organization","name":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80","url":"https:\/\/playgama.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/playgama.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/playgama.com\/blog\/wp-content\/uploads\/2026\/04\/cropped-playgama-scaled-1.png","contentUrl":"https:\/\/playgama.com\/blog\/wp-content\/uploads\/2026\/04\/cropped-playgama-scaled-1.png","width":2559,"height":523,"caption":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80"},"image":{"@id":"https:\/\/playgama.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/playgama.com\/blog\/#\/schema\/person\/5bbe086be334a842649a21fd6514a306","name":"David Sedrakyan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","caption":"David Sedrakyan"},"sameAs":["https:\/\/www.linkedin.com\/in\/david-sedrakyan-77b930199\/"],"url":"https:\/\/playgama.com\/blog\/author\/david\/"}]}},"_links":{"self":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/14382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/comments?post=14382"}],"version-history":[{"count":1,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/14382\/revisions"}],"predecessor-version":[{"id":14781,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/14382\/revisions\/14781"}],"wp:attachment":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/media?parent=14382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/categories?post=14382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/tags?post=14382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}