{"id":1738,"date":"2026-07-23T17:07:21","date_gmt":"2026-07-23T17:07:21","guid":{"rendered":"https:\/\/gaconnector.com\/blog\/?p=1738"},"modified":"2026-07-23T17:07:36","modified_gmt":"2026-07-23T17:07:36","slug":"how-to-calculate-roas","status":"publish","type":"post","link":"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/","title":{"rendered":"How to Calculate ROAS \u2013 the Metric Everyone Trusts and Nobody Fully Understands"},"content":{"rendered":"<p>ROAS (Return on Ad Spend) is the revenue you earn for every dollar spent on advertising, written as a ratio. You calculate it by dividing ad revenue by ad spend. A 4:1 ROAS means four dollars back for every dollar in. The catch: the number is only as honest as the attribution data behind it.<\/p>\n<p>That last part is the whole reason this guide exists. Anyone can calculate ROAS in ten seconds. Almost nobody calculates it on numbers they can trust.<\/p>\n<p>So we&#8217;ll do both. The formula, the examples, the benchmarks. And then the uncomfortable part: why a 4:1 ROAS in your dashboard might actually be a 2:1 in real life, and what to do about it.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_ROAS_Actually_Means\" >What ROAS Actually Means<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Why_Everyone_Reaches_For_ROAS_First\" >Why Everyone Reaches For ROAS First<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#The_ROAS_Formula_and_How_To_Calculate_It\" >The ROAS Formula, and How To Calculate It<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Walk_Through_a_Real_Calculation\" >Walk Through a Real Calculation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_Belongs_In_the_%E2%80%9CRevenue%E2%80%9D_Slot\" >What Belongs In the &#8220;Revenue&#8221; Slot<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_Belongs_In_the_%E2%80%9CSpend%E2%80%9D_Slot\" >What Belongs In the &#8220;Spend&#8221; Slot<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Theres_No_Such_Thing_As_a_Universally_%E2%80%9CGood%E2%80%9D_ROAS\" >There&#8217;s No Such Thing As a Universally &#8220;Good&#8221; ROAS<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Break-Even_ROAS_Is_the_Number_That_Actually_Runs_Your_Account\" >Break-Even ROAS Is the Number That Actually Runs Your Account<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Dont_Forget_Lifetime_Value\" >Don&#8217;t Forget Lifetime Value<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Why_ROAS_Misleads_You_Without_Proper_Attribution\" >Why ROAS Misleads You Without Proper Attribution<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#The_Trap_That_Kills_Your_Best_Channels\" >The Trap That Kills Your Best Channels<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Every_Platform_Is_Grading_Its_Own_Homework\" >Every Platform Is Grading Its Own Homework<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#View-Through_Conversions_Inflate_the_Story_Further\" >View-Through Conversions Inflate the Story Further<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Offline_and_Delayed_Sales_Break_the_Model_Entirely\" >Offline and Delayed Sales Break the Model Entirely<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#How_To_Fix_ROAS_So_the_Number_Tells_the_Truth\" >How To Fix ROAS So the Number Tells the Truth<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Connect_Closed_Revenue_Back_To_Its_Real_Source\" >Connect Closed Revenue Back To Its Real Source<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#First-Click_Data_Rescues_Your_Top-of-Funnel\" >First-Click Data Rescues Your Top-of-Funnel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Recalculate_Under_Multiple_Attribution_Models\" >Recalculate Under Multiple Attribution Models<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#How_To_Report_ROAS_Without_Fooling_Your_Own_Team\" >How To Report ROAS Without Fooling Your Own Team<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#FAQ\" >FAQ<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_is_a_good_ROAS\" >What is a good ROAS?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#How_do_you_calculate_ROAS\" >How do you calculate ROAS?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_is_the_ROAS_formula\" >What is the ROAS formula?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#What_is_the_difference_between_ROAS_and_ROI\" >What is the difference between ROAS and ROI?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Why_doesnt_my_platform-reported_ROAS_match_my_actual_revenue\" >Why doesn&#8217;t my platform-reported ROAS match my actual revenue?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/gaconnector.com\/blog\/how-to-calculate-roas\/#Can_ROAS_be_too_high\" >Can ROAS be too high?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_ROAS_Actually_Means\"><\/span>What ROAS Actually Means<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1744 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI.webp\" alt=\"Difference between ROAS and ROI\" width=\"1487\" height=\"720\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI.webp 1487w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI-300x145.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI-1024x496.webp 1024w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI-768x372.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/Difference-between-ROAS-and-ROI-788x382.webp 788w\" sizes=\"(max-width: 1487px) 100vw, 1487px\" \/><\/p>\n<p>ROAS answers one blunt question about your advertising campaigns: I put a dollar into ads, how many dollars came back. A 4:1 ROAS means four dollars of revenue for every dollar of spend. Measuring ROAS is how most teams decide whether a campaign is worth keeping.<\/p>\n<p>You&#8217;ll see it written as a ratio (4:1), as a plain number (4), or as a percentage (400%). All three say the same thing. It&#8217;s the marketing metric ad platforms lean on hardest, because it maps cleanly to the one thing every marketer gets asked: is this making money.<\/p>\n<p>It sounds like ROI, and people use the two words as if they&#8217;re interchangeable. They&#8217;re not, and mixing them up is how businesses convince themselves a money-losing campaign is a winner.<\/p>\n<p>ROAS looks at revenue against ad spend and stops there. ROI looks at profit against everything you spent to earn it: the ads, yes, but also the product cost, the shipping, the payment processing, the salaries, the software.<\/p>\n<p>You can post a gorgeous 5:1 ROAS and still be underwater on ROI if your margins are thin enough \u2014 strong ad efficiency that does nothing for your overall profitability. We&#8217;ll come back to that, because it&#8217;s the single most expensive misunderstanding in this whole topic.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_Everyone_Reaches_For_ROAS_First\"><\/span>Why Everyone Reaches For ROAS First<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Because it&#8217;s sitting right there. Meta, Google, TikTok \u2014 every paid ads platform prints a ROAS number in the dashboard without you lifting a finger, and most will even automate a bidding strategy around a target ROAS you set.<\/p>\n<p>You don&#8217;t have to stitch three systems together or build a report. It&#8217;s one number you can drop into a Slack message to your boss, and your boss gets it instantly: working, or not working.<\/p>\n<p>That convenience is exactly why it&#8217;s so dangerous. The easiest number to grab is rarely the most accurate one, and ROAS is the poster child for that trade-off.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_ROAS_Formula_and_How_To_Calculate_It\"><\/span>The ROAS Formula, and How To Calculate It<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1743 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-formula.webp\" alt=\"ROAS formula\" width=\"1007\" height=\"592\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-formula.webp 1007w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-formula-300x176.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-formula-768x451.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-formula-788x463.webp 788w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/p>\n<p>Here&#8217;s the ad spend formula, and it&#8217;s not going to surprise anyone:<\/p>\n<p><strong>Revenue from ads \u00f7 Cost of ads = ROAS<\/strong><\/p>\n<p>Multiply by 100 if you want a percentage. Leave it alone if you want a ratio. That&#8217;s the entire calculation \u2014 no ROAS calculator required, though plenty exist.<\/p>\n<p>If the math were the hard part, nobody would need a guide. You&#8217;d need a fourth-grade division worksheet. The hard part is deciding which two numbers go into the equation, because both of them are slipperier than they look.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Walk_Through_a_Real_Calculation\"><\/span>Walk Through a Real Calculation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Say you ran a Google Ads campaign last month. Your total ad spend was $2,000. Google&#8217;s dashboard tells you the campaign drove $8,000 in revenue.<\/p>\n<p>Eight thousand divided by two thousand is four. Congratulations, 4:1 ROAS, 400%, break out the champagne. For context, that&#8217;s a strong result. <a href=\"https:\/\/www.webfx.com\/blog\/marketing\/average-roas-by-industry\/\">WebFX&#8217;s 2025 analysis<\/a> put the average paid-search ROAS at 2.26x, so 4x is well above the pack.<\/p>\n<p>But where did that $8,000 come from? Did $8,000 actually hit your bank account, tied to sales that closed and cleared?<\/p>\n<p>Or is it $8,000 of &#8220;conversion value&#8221; that Google assigned based on its own attribution rules? Some of that revenue is sales other platforms are also claiming credit for. Some of it is leads that haven&#8217;t paid you a cent yet.<\/p>\n<p>The number 4 is only as good as that $8,000, and the $8,000 is doing a lot of quiet work.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_Belongs_In_the_%E2%80%9CRevenue%E2%80%9D_Slot\"><\/span>What Belongs In the &#8220;Revenue&#8221; Slot<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Revenue should mean closed, collected money. Not leads. Not form fills. Not &#8220;estimated lifetime value&#8221; and not &#8220;pipeline.&#8221;<\/p>\n<p>This matters most for anyone with a sales team, because the temptation is enormous. A lead comes in, your CRM slaps a $10,000 potential deal value on it, and suddenly your ROAS math is counting money that may never arrive.<\/p>\n<p>Half those deals might fall through. If you calculate ROAS on pipeline instead of closed revenue, you&#8217;re not measuring performance, you&#8217;re measuring optimism.<\/p>\n<p>For e-commerce it&#8217;s cleaner (a sale is a sale), but even then, returns and refunds should come out. A campaign that sells a lot of stuff that comes right back isn&#8217;t a campaign with a good ROAS. It&#8217;s a campaign with a good return rate.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_Belongs_In_the_%E2%80%9CSpend%E2%80%9D_Slot\"><\/span>What Belongs In the &#8220;Spend&#8221; Slot<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Advertising spend is the number people fudge without even realizing it. The obvious part is the media cost, what you paid the platform. But your true advertising costs run wider than that.<\/p>\n<p>But if an agency runs your account and takes 15% on top, that 15% is part of the cost of those ads. Leave it out and you&#8217;re flattering yourself.<\/p>\n<p>Same with the tools you&#8217;re paying for specifically to run and optimize the campaign. Be honest about the denominator or the whole ratio is fiction.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Theres_No_Such_Thing_As_a_Universally_%E2%80%9CGood%E2%80%9D_ROAS\"><\/span>There&#8217;s No Such Thing As a Universally &#8220;Good&#8221; ROAS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1742 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS.webp\" alt=\"What is a good ROAS\" width=\"1487\" height=\"716\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS.webp 1487w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS-300x144.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS-1024x493.webp 1024w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS-768x370.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-is-a-good-ROAS-788x379.webp 788w\" sizes=\"(max-width: 1487px) 100vw, 1487px\" \/><\/p>\n<p>People desperately want a magic number. &#8220;Is 4:1 good?&#8221; There is no answer to that question in a vacuum, and anyone who gives you one is guessing.<\/p>\n<p>A good ROAS depends entirely on your gross margin, and margins vary wildly between businesses. The spread in the benchmark data is enormous: <a href=\"https:\/\/www.webfx.com\/blog\/marketing\/average-roas-by-industry\/\">WebFX&#8217;s 2025 paid-search figures<\/a> run from 0.7x in financial services to 6.86x in heavy equipment. A single &#8220;industry average&#8221; hides all of that.<\/p>\n<p>A SaaS company with an 80% profit margin can be wildly profitable at 2:1. It keeps most of every dollar, so it doesn&#8217;t need much revenue to cover the ad cost and clear a profit.<\/p>\n<p>A retailer selling physical goods at 20% margin can be losing money at that exact same 2:1. After the cost of goods there&#8217;s almost nothing left to cover the ad spend. Same ratio, opposite outcome. The ratio alone tells you nothing.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Break-Even_ROAS_Is_the_Number_That_Actually_Runs_Your_Account\"><\/span>Break-Even ROAS Is the Number That Actually Runs Your Account<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Forget the &#8220;4:1 is good&#8221; rule of thumb. The number that matters is your break-even ROAS \u2014 the break even point where a campaign stops losing money \u2014 and it&#8217;s easy to find:<\/p>\n<p><strong>Break-even ROAS = 1 \u00f7 gross margin<\/strong><\/p>\n<p>Margin of 40%? Your break-even is 1 \u00f7 0.40 = 2.5. That means at 2.5:1 you&#8217;re exactly at zero. Every dollar of ad spend earns back just enough to cover the product cost and the ad itself, nothing left over.<\/p>\n<p>Below 2.5 you&#8217;re losing money. Above it you&#8217;re actually making some. <a href=\"https:\/\/foundrycro.com\/blog\/roas-benchmarks-by-industry-2026\/\">Foundry&#8217;s benchmark data<\/a> lays out the same math: at a 50% margin break-even is 2:1, at 20% it&#8217;s 5:1.<\/p>\n<p>A 3:1 ROAS is a genuine win on a 40% margin and a genuine loss on a 20% margin. If you don&#8217;t know your break-even number, you literally cannot tell which situation you&#8217;re in.<\/p>\n<p>This is why &#8220;good ROAS&#8221; benchmarks floating around the internet are close to useless. A benchmark that doesn&#8217;t know your margins doesn&#8217;t know your business.<\/p>\n<p>Calculate your own break-even, set your target ROAS above it with room for overhead and profit, and ignore the generic charts.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dont_Forget_Lifetime_Value\"><\/span>Don&#8217;t Forget Lifetime Value<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>One more wrinkle, because it cuts the other way. If a customer buys once and vanishes, first-purchase ROAS is the whole story.<\/p>\n<p>But say they come back and buy again \u2014 subscriptions, consumables, anything with repeat purchase. Judging a campaign purely on the first sale undersells it badly. A 1.5:1 ROAS on the first order can be a monster win if that customer is worth five more orders over the next year.<\/p>\n<p>This is why sophisticated teams set different ROAS targets by campaign role. <a href=\"https:\/\/webmarketinginternational.com\/good-roas-benchmarks-by-industry\/\">One 2026 benchmark breakdown<\/a> suggests branded campaigns at 8x\u201312x, prospecting at 2x\u20134x, and retargeting at 5x\u20138x. They play different roles in the same journey, and a single blended target papers over all of it.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_ROAS_Misleads_You_Without_Proper_Attribution\"><\/span>Why ROAS Misleads You Without Proper Attribution<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1741 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges.webp\" alt=\"ROAS attribution challenges\" width=\"1482\" height=\"718\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges.webp 1482w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges-300x145.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges-1024x496.webp 1024w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges-768x372.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/ROAS-attribution-challenges-788x382.webp 788w\" sizes=\"(max-width: 1482px) 100vw, 1482px\" \/><\/p>\n<p>This is the part nobody puts on the slide. Everything above assumes the revenue number is correctly attributed to the right campaign. It usually isn&#8217;t.<\/p>\n<p>The default attribution model behind almost every ROAS figure you&#8217;ll ever see is last-click, and last-click is a liar by design. It&#8217;s still shockingly common: <a href=\"https:\/\/www.dataslayer.ai\/blog\/single-touch-vs-multi-touch-attribution\">one 2025 industry survey<\/a> found 41% of marketers still rely on last-touch despite knowing it&#8217;s flawed.<\/p>\n<p>Last-click gives 100% of the credit to whatever the customer touched last before converting, and 0% to everything that came before. In a world where people click one ad and buy immediately, that&#8217;d be fine.<\/p>\n<p>That is not the world. According to <a href=\"https:\/\/www.numentechnology.co.uk\/blog\/attribution-tracking-roi-measurement\">research cited by Numen Technology<\/a>, buyers now hit an average of 8.4 touchpoints before converting, up from 5.2 in 2020. For B2B purchases over \u00a310,000 that number climbs past 14. Last-click erases every one of those except the final step.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_Trap_That_Kills_Your_Best_Channels\"><\/span>The Trap That Kills Your Best Channels<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Here&#8217;s the scenario that plays out in real accounts constantly. Someone sees your Facebook ad, gets interested, pokes around your site, then leaves.<\/p>\n<p>Two weeks later they remember you, Google your brand name, click the result, and buy. Last-click hands Google 100% of that sale. Facebook gets nothing.<\/p>\n<p>Now look at your dashboard. The Facebook campaign shows a terrible ROAS. It spent money and &#8220;generated no revenue.&#8221; The branded search shows a fantastic ROAS.<\/p>\n<p>So the obvious move, the one a smart data-driven marketer makes, is to shift the budget allocation away from Facebook and pour more into search. It&#8217;s the kind of advertising strategy decision that looks data-driven and is quietly backwards \u2014 Facebook was the thing that created the demand in the first place.<\/p>\n<p>That branded search only happened because the person saw the Facebook ad. Kill Facebook and the branded searches dry up too, and three months later you&#8217;re wondering why the whole account is cratering.<\/p>\n<p>This isn&#8217;t hypothetical. A <a href=\"https:\/\/mcpanalytics.ai\/articles\/last-click-vs-multi-touch-revenue-attribution-fix\">B2B cybersecurity company profiled by MCP Analytics<\/a> ran the numbers on 14 months of data. Content marketing, which looked like 8% of conversions under last-click, actually influenced 29% of deals. Paid search deserved credit for far less than the 55% of budget it was eating.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Every_Platform_Is_Grading_Its_Own_Homework\"><\/span>Every Platform Is Grading Its Own Homework<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Meta reports its ROAS. Google reports its ROAS. TikTok reports its ROAS. Every one of them has a commercial incentive to take credit for as many conversions as possible, and their attribution windows overlap.<\/p>\n<p>The same single sale can get claimed as a win by two or three platforms at once. This isn&#8217;t a bug. As <a href=\"https:\/\/databox.com\/the-ad-attribution-problem\">Databox puts it<\/a>, platform dashboards were built to justify continued ad spend, not to measure marketing&#8217;s true contribution.<\/p>\n<p>Add up the revenue each platform says it drove and the total blows past reality. <a href=\"https:\/\/www.cometly.com\/post\/ad-platforms-taking-credit-for-same-conversion\">Multiple 2026 analyses<\/a> find platforms collectively claim 30% to 50% more conversions than actually happened. <a href=\"https:\/\/www.c3metrics.com\/dl-deduplication\">C3 Metrics<\/a> has documented aggregate claims that imply a company two to four times its real size.<\/p>\n<p>So your Meta dashboard says 4:1 and your Google dashboard says 5:1. Those numbers aren&#8217;t measuring the same reality, they&#8217;re not additive, and neither one is neutral. They&#8217;re marketing materials the platforms produce about themselves.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"View-Through_Conversions_Inflate_the_Story_Further\"><\/span>View-Through Conversions Inflate the Story Further<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Then there&#8217;s view-through attribution. A platform counts a sale because someone <em>saw<\/em> an ad (didn&#8217;t click it, just had it render on screen) and later bought.<\/p>\n<p>Sometimes that impression really did influence the purchase. Often it&#8217;s coincidence dressed up as causation. <a href=\"https:\/\/www.c3metrics.com\/dl-deduplication\">C3 Metrics estimates<\/a> Meta&#8217;s reporting shows about 26% more conversions than site-side analytics, driven by view-through and modeled conversions. Google over-attributes by an estimated 15\u201320%.<\/p>\n<p>If your reported ROAS leans heavily on view-through, treat it with real suspicion.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Offline_and_Delayed_Sales_Break_the_Model_Entirely\"><\/span>Offline and Delayed Sales Break the Model Entirely<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For anyone whose sales close offline \u2014 B2B, high-ticket services, anything with a sales team and a phone \u2014 the standard ROAS calculation isn&#8217;t just imprecise. It&#8217;s structurally broken.<\/p>\n<p>Ad platforms are built to measure fast digital conversions. They are not built for a lead who fills out a form today, gets a sales call next week, and signs a month later. B2B sales cycles <a href=\"https:\/\/marketingltb.com\/blog\/statistics\/marketing-attribution-statistics\/\">average 92 days<\/a>, and enterprise deals run far longer. Most of that journey happens after the platform&#8217;s attribution window has already closed.<\/p>\n<p>That revenue closes in your CRM, completely out of sight of Google and Meta. Unless something actively pushes that <a href=\"https:\/\/gaconnector.com\/blog\/google-analytics-offline-conversions-tracking\/\">offline conversion data back into your analytics<\/a>, the campaign that generated your best customer looks like it generated nothing.<\/p>\n<p>So the highest-value channel in the account can show the worst ROAS on the dashboard, purely because its revenue never made it back into the report. The scale of the blind spot is real. <a href=\"https:\/\/www.numentechnology.co.uk\/blog\/attribution-tracking-roi-measurement\">One analysis of a 147-day sales cycle<\/a> found 68% of conversions showed up as &#8220;direct&#8221; with no source \u2014 because the original touch fell outside a 30-day window.<\/p>\n<p>Teams cut their best-performing channel all the time for exactly this reason. And they never find out, because the tool that told them to do it also hid the evidence. Tracking ROAS properly means seeing which advertising initiatives actually earned the revenue, not just which one was touched last.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_To_Fix_ROAS_So_the_Number_Tells_the_Truth\"><\/span>How To Fix ROAS So the Number Tells the Truth<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1740 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution.webp\" alt=\"How to fix ROAS attribution\" width=\"1485\" height=\"713\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution.webp 1485w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution-300x144.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution-1024x492.webp 1024w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution-768x369.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-fix-ROAS-attribution-788x378.webp 788w\" sizes=\"(max-width: 1485px) 100vw, 1485px\" \/><\/p>\n<p>Good news: the fix isn&#8217;t throwing out ROAS. It&#8217;s a useful metric once it&#8217;s fed honest data.<\/p>\n<p>The fix is closing the loop between where deals actually close (your CRM) and where traffic gets tracked (your analytics). When real, closed revenue gets matched back to the original traffic source, ROAS stops being a platform&#8217;s opinion and starts being a fact.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Connect_Closed_Revenue_Back_To_Its_Real_Source\"><\/span>Connect Closed Revenue Back To Its Real Source<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The core move is stitching CRM revenue to the original click data. Every lead has an origin story: a first click, a last click, and <a href=\"https:\/\/gaconnector.com\/blog\/full-funnel-attribution-guide\/\">a whole sequence of touches in between<\/a>.<\/p>\n<p>Carry that origin data all the way through to the closed deal, and you can attribute the revenue generated back to the source that actually earned it. Even months after the first ad was clicked.<\/p>\n<p>This is the specific gap <a href=\"https:\/\/gaconnector.com\/\">GA Connector<\/a> exists to close. It captures the traffic source of every visitor who fills out a form and attaches it to the CRM record: first-click, last-click, and the full multi-touch path.<\/p>\n<p>Then it pushes closed-deal revenue from the CRM back into GA4, using the visitor&#8217;s original click as the link. So a deal that closes eight weeks after the first Facebook ad still gets credited to Facebook. It lands in a report you actually trust, instead of vanishing into a last-click black hole.<\/p>\n<p>For businesses with long sales cycles, that&#8217;s the difference between a ROAS number that reflects reality and one that&#8217;s actively steering you wrong. It&#8217;s worth the effort. <a href=\"https:\/\/marketingltb.com\/blog\/statistics\/marketing-attribution-statistics\/\">Companies using attribution platforms<\/a> are 2.3x more likely to increase ROAS year over year.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"First-Click_Data_Rescues_Your_Top-of-Funnel\"><\/span>First-Click Data Rescues Your Top-of-Funnel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once you&#8217;re capturing first-click alongside last-click, that Facebook-then-branded-search scenario resolves itself. The channel that started the journey gets visible credit for starting it.<\/p>\n<p>Run this on a real account for the first time and it&#8217;s common to discover something uncomfortable. A channel you were about to cut for &#8220;bad ROAS&#8221; was quietly kicking off your most valuable customer journeys the whole time.<\/p>\n<p>That&#8217;s not a small reporting nicety. That&#8217;s a channel you were about to kill, saved.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Recalculate_Under_Multiple_Attribution_Models\"><\/span>Recalculate Under Multiple Attribution Models<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The deeper win is optionality. Once closed revenue lives in a system that can apply <a href=\"https:\/\/gaconnector.com\/blog\/marketing-attribution-models\/\">different attribution models<\/a> \u2014 first-click, last-click, linear, time-decay, data-driven \u2014 you can view the same campaign through every lens instead of being trapped in last-click.<\/p>\n<p>Last-click might say a channel is worthless. Linear might show it&#8217;s touching 60% of your deals. Data-driven might land somewhere sensible in between.<\/p>\n<p>Seeing all of them at once is how you stop making million-dollar decisions on the single most misleading model available. The teams that do this pull ahead. <a href=\"https:\/\/marketingltb.com\/blog\/statistics\/marketing-attribution-statistics\/\">74% of high-growth companies<\/a> use <a href=\"https:\/\/gaconnector.com\/blog\/what-is-multi-touch-attribution\/\">multi-touch attribution<\/a>, versus a minority of the field overall.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_To_Report_ROAS_Without_Fooling_Your_Own_Team\"><\/span>How To Report ROAS Without Fooling Your Own Team<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1739 size-full\" src=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS.webp\" alt=\"What determines ROAS\" width=\"1485\" height=\"713\" srcset=\"https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS.webp 1485w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS-300x144.webp 300w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS-1024x492.webp 1024w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS-768x369.webp 768w, https:\/\/gaconnector.com\/blog\/wp-content\/uploads\/2026\/07\/What-determines-ROAS-788x378.webp 788w\" sizes=\"(max-width: 1485px) 100vw, 1485px\" \/><\/p>\n<p>A ROAS number with no context attached is barely information. If you&#8217;re the one reporting it, you owe the people reading it three things, every time.<\/p>\n<p><strong>Say which attribution model produced it.<\/strong> &#8220;4:1 ROAS (last-click)&#8221; and &#8220;4:1 ROAS (first-click)&#8221; describe two different worlds. Leave the model unstated and you&#8217;re hiding the biggest assumption in the whole number. State it in the same breath as the figure, always.<\/p>\n<p><strong>Report blended ROAS next to the platform numbers.<\/strong> Blended ROAS is total spend across all channels divided by total real revenue. You measure it once in a neutral place \u2014 your CRM or GA4 \u2014 instead of summing up each platform&#8217;s self-flattering dashboard.<\/p>\n<p>It&#8217;s almost always lower than the platform numbers added together, and that gap is your clearest measure of double-counting. <a href=\"https:\/\/databox.com\/the-ad-attribution-problem\">Databox recommends<\/a> a weekly check: if the platform sum exceeds CRM actuals by more than 10\u201315%, flag it as a tracking-quality problem, not a win.<\/p>\n<p><strong>Put break-even ROAS right beside the actual ROAS.<\/strong> A 3:1 on a 20% margin product is a loss dressed up as a win. The same 3:1 on a 60% margin product is a strong win.<\/p>\n<p>Nobody reading your report can tell the difference unless you show the break-even line next to the result. Show it. Every time.<\/p>\n<p>Do those three things and ROAS goes from a number that gets people nodding along to a number that actually drives good decisions about where your advertising efforts belong. That&#8217;s the entire point of measuring anything.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"FAQ\"><\/span>FAQ<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"What_is_a_good_ROAS\"><\/span>What is a good ROAS?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>There isn&#8217;t a universal one, and be skeptical of anyone who quotes you a magic figure. A good ROAS is any number comfortably above your break-even ROAS, which you get by dividing 1 by your gross margin.<\/p>\n<p>At a 40% margin, break-even is 2.5:1, so &#8220;good&#8221; starts above that. At an 80% margin, you can profit below 1.5:1. For reference, average paid-search ROAS sits around 2.26x, but your margin sets your bar, not the average.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_you_calculate_ROAS\"><\/span>How do you calculate ROAS?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Divide the revenue attributed to a campaign by what you spent on that campaign. An $8,000 return on $2,000 of spend is a 4:1 ROAS, or 400%.<\/p>\n<p>The math is trivial. The accuracy lives entirely in whether that revenue figure reflects real closed sales attributed to the right source, rather than pipeline value or platform-inflated conversion credit.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_is_the_ROAS_formula\"><\/span>What is the ROAS formula?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Revenue from ads divided by cost of ads. Multiply by 100 for a percentage. That&#8217;s it.<\/p>\n<p>The formula never changes. What changes, and what determines whether the output means anything, is the quality of the two numbers you feed into it.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_is_the_difference_between_ROAS_and_ROI\"><\/span>What is the difference between ROAS and ROI?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>ROAS compares revenue to ad spend only. ROI compares profit to your total investment: ad spend plus product cost, fulfillment, tools, salaries, all of it.<\/p>\n<p>A campaign can show a strong ROAS and a losing ROI at the same time if your margins are thin. ROAS is a media-efficiency metric; ROI is a business-profitability metric. Don&#8217;t let anyone treat them as the same thing.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_doesnt_my_platform-reported_ROAS_match_my_actual_revenue\"><\/span>Why doesn&#8217;t my platform-reported ROAS match my actual revenue?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Because platforms grade their own homework. Overlapping attribution windows let two or three platforms claim the same sale. View-through conversions credit ads people only glanced at. Together they routinely inflate platform-claimed conversions by 30\u201350% over reality.<\/p>\n<p>On top of that, offline or delayed sales that close in your CRM never make it back into the ad platform at all. Blended ROAS, measured independently in GA4 or your CRM, is almost always the more honest number.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Can_ROAS_be_too_high\"><\/span>Can ROAS be too high?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Counterintuitively, yes. A very high ROAS on a small budget can mean you&#8217;re underspending and leaving scale on the table, not that you&#8217;ve achieved perfect efficiency.<\/p>\n<p>If a campaign is returning 12:1, that&#8217;s often a signal to test a bigger budget rather than a ceiling to protect. Efficiency and total profit aren&#8217;t the same goal, and maximizing the ratio sometimes means minimizing the money you actually make.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ROAS (Return on Ad Spend) is the revenue you earn for every dollar spent on advertising, written as a ratio. You calculate it by dividing ad revenue by ad spend. A 4:1 ROAS means four dollars back for every dollar in. The catch: the number is only as honest as the attribution data behind it&#8230;.<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"yst_prominent_words":[228,592,407],"_links":{"self":[{"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/posts\/1738"}],"collection":[{"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/comments?post=1738"}],"version-history":[{"count":1,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/posts\/1738\/revisions"}],"predecessor-version":[{"id":1746,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/posts\/1738\/revisions\/1746"}],"wp:attachment":[{"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/media?parent=1738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/categories?post=1738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/tags?post=1738"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/gaconnector.com\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=1738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}