{"id":14405,"date":"2026-09-24T10:29:17","date_gmt":"2026-09-24T10:29:17","guid":{"rendered":"https:\/\/playgama.com\/blog\/?p=14405"},"modified":"2026-09-24T10:29:17","modified_gmt":"2026-09-24T10:29:17","slug":"how-do-i-attribute-game-revenue-to","status":"publish","type":"post","link":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/","title":{"rendered":"How do I attribute game revenue to a traffic source?"},"content":{"rendered":"<p><strong>You can&#8217;t attribute revenue perfectly across systems because each one measures with a different attribution window, session definition and gross\/net basis. Reconcile by aligning dates, time zone and currency, then use the ad network&#8217;s numbers to steer campaigns and your own site&#8217;s revenue report to judge if traffic actually pays.<\/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>Ad network counts conversions its own tag saw<\/td>\n<td>own attribution window<\/td>\n<td><a href=\"https:\/\/playgama.com\/adv\/\" rel=\"nofollow noopener\" target=\"_blank\">playgama.com<\/a><\/td>\n<\/tr>\n<tr>\n<td>GA4 counts events within its own sessions<\/td>\n<td>own session windows<\/td>\n<td><a href=\"https:\/\/playgama.com\/adv\/\" rel=\"nofollow noopener\" target=\"_blank\">playgama.com<\/a><\/td>\n<\/tr>\n<tr>\n<td>Ad blockers and ITP cause tag-level gaps<\/td>\n<td>missed conversions<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Three systems will always disagree, and that&#8217;s expected: the ad network reports conversions its own tag saw inside its own attribution window; GA4 reports events inside its own session and lookback windows; your game&#8217;s own revenue report (from your ad monetization provider or backend) counts plays and revenue for the site itself, independent of any tag. Ad blockers, Safari&#8217;s ITP and differing attribution rules between systems create the gap &#8211; it isn&#8217;t a bug in any one of them, it&#8217;s a difference in what each one is built to measure.<\/p>\n<p>Playgama Ad 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<h2>How do I reconcile the numbers?<\/h2>\n<ul>\n<li>Match the date range and time zone across all three systems before comparing anything &#8211; a one-day offset alone explains a lot of the mismatch.<\/li>\n<li>Compare gross vs net consistently: ad network dashboards often show gross bids or requests, not the net revenue that lands in a payout.<\/li>\n<li>Use a stable per-game or per-campaign key (game ID, campaign ID) so you&#8217;re joining the same entity across systems, not similarly-named rows.<\/li>\n<li>Treat the ad network&#8217;s numbers as the signal to optimize a campaign, and your own revenue report as the source of truth for whether the traffic actually paid off &#8211; no ad tag ever sees revenue that happens inside your own game or site.<\/li>\n<\/ul>\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\/analytics\/\" rel=\"nofollow noopener\" target=\"_blank\">Google Analytics help<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/admanager\/\" rel=\"nofollow noopener\" target=\"_blank\">Google Ad Manager help<\/a><\/li>\n<li><a href=\"https:\/\/wiki.playgama.com\/playgama\/guides\/deploy-a-game-on-your-own-domain\/buy-traffic\" rel=\"nofollow noopener\" target=\"_blank\">Playgama wiki: Buy traffic for your site<\/a><\/li>\n<\/ul>\n<h2>Related questions<\/h2>\n<h3>Why does GA4 show different revenue than my ad network?<\/h3>\n<p>GA4 counts events within its own sessions and lookback windows, while the ad network counts conversions its own tag saw within its own attribution window &#8211; different measurement rules, not an error.<\/p>\n<h3>Should I trust gross or net revenue when reconciling?<\/h3>\n<p>Use net revenue for reconciliation &#8211; ad network dashboards often display gross bids or requests, which will always be higher than the net amount actually paid out.<\/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 attribute game revenue to a traffic source?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"You can't attribute revenue perfectly across systems because each one measures with a different attribution window, session definition and gross\/net basis. Reconcile by aligning dates, time zone and currency, then use the ad network's numbers to steer campaigns and your own site's revenue report to judge if traffic actually pays.\"}}, {\"@type\": \"Question\", \"name\": \"Why does GA4 show different revenue than my ad network?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"GA4 counts events within its own sessions and lookback windows, while the ad network counts conversions its own tag saw within its own attribution window - different measurement rules, not an error.\"}}, {\"@type\": \"Question\", \"name\": \"Should I trust gross or net revenue when reconciling?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use net revenue for reconciliation - ad network dashboards often display gross bids or requests, which will always be higher than the net amount actually paid out.\"}}], \"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>You can&#8217;t attribute revenue perfectly across systems because each one measures with a different attribution window, session definition and gross\/net basis. Reconcile by aligning dates, time zone and currency, then use the ad network&#8217;s numbers to steer campaigns and your own site&#8217;s revenue report to judge if traffic actually pays.<\/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-14405","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 attribute game revenue to a traffic source?<\/title>\n<meta name=\"description\" content=\"Ad network, GA4 and your own revenue reports will never match exactly - here&#039;s why, and how to reconcile them by date, time zone and net vs gross.\" \/>\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-attribute-game-revenue-to\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How do I attribute game revenue to a traffic source?\" \/>\n<meta property=\"og:description\" content=\"Ad network, GA4 and your own revenue reports will never match exactly - here&#039;s why, and how to reconcile them by date, time zone and net vs gross.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/\" \/>\n<meta property=\"og:site_name\" content=\"Playgama Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-24T10:29:17+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-attribute-game-revenue-to\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/\"},\"author\":{\"name\":\"David Sedrakyan\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/person\\\/5bbe086be334a842649a21fd6514a306\"},\"headline\":\"How do I attribute game revenue to a traffic source?\",\"datePublished\":\"2026-09-24T10:29:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/\"},\"wordCount\":446,\"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-attribute-game-revenue-to\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/\",\"name\":\"How do I attribute game revenue to a traffic source?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-24T10:29:17+00:00\",\"description\":\"Ad network, GA4 and your own revenue reports will never match exactly - here's why, and how to reconcile them by date, time zone and net vs gross.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-do-i-attribute-game-revenue-to\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How do I attribute game revenue to a traffic source?\"}]},{\"@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 attribute game revenue to a traffic source?","description":"Ad network, GA4 and your own revenue reports will never match exactly - here's why, and how to reconcile them by date, time zone and net vs gross.","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-attribute-game-revenue-to\/","og_locale":"en_US","og_type":"article","og_title":"How do I attribute game revenue to a traffic source?","og_description":"Ad network, GA4 and your own revenue reports will never match exactly - here's why, and how to reconcile them by date, time zone and net vs gross.","og_url":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/","og_site_name":"Playgama Blog","article_published_time":"2026-09-24T10:29:17+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-attribute-game-revenue-to\/#article","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/"},"author":{"name":"David Sedrakyan","@id":"https:\/\/playgama.com\/blog\/#\/schema\/person\/5bbe086be334a842649a21fd6514a306"},"headline":"How do I attribute game revenue to a traffic source?","datePublished":"2026-09-24T10:29:17+00:00","mainEntityOfPage":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/"},"wordCount":446,"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-attribute-game-revenue-to\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/","url":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/","name":"How do I attribute game revenue to a traffic source?","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/#website"},"datePublished":"2026-09-24T10:29:17+00:00","description":"Ad network, GA4 and your own revenue reports will never match exactly - here's why, and how to reconcile them by date, time zone and net vs gross.","breadcrumb":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-do-i-attribute-game-revenue-to\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/playgama.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How do I attribute game revenue to a traffic source?"}]},{"@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\/14405","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=14405"}],"version-history":[{"count":2,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/14405\/revisions"}],"predecessor-version":[{"id":14847,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/14405\/revisions\/14847"}],"wp:attachment":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/media?parent=14405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/categories?post=14405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/tags?post=14405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}