{"id":89985,"date":"2026-10-17T02:59:50","date_gmt":"2026-10-17T09:59:50","guid":{"rendered":"https:\/\/predis.ai\/resources\/?p=89985"},"modified":"2026-11-02T15:48:55","modified_gmt":"2026-11-02T23:48:55","slug":"roas-calculator","status":"publish","type":"post","link":"https:\/\/predis.ai\/resources\/roas-calculator\/","title":{"rendered":"ROAS Calculator + How to Find Your Break-Even ROAS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"\n<p>Across more than 40,000 ecommerce brands, the median return on ad spend for Meta ads between August 2025 and July 2026 was 1.88, according to <a href=\"https:\/\/www.triplewhale.com\/blog\/facebook-ads-benchmarks\" target=\"_blank\" rel=\"noreferrer noopener\">Triple Whale&#8217;s benchmark report<\/a>. The typical brand got back $1.88 for every dollar of ad spend.<\/p>\n\n\n\n<p>Is that good? It depends on one number most ad dashboards never show you.<\/p>\n\n\n\n<p>A store that keeps 40 cents of every sales dollar after costs needs a ROAS of 2.5 just to break even. At 1.88, that store loses money on every order its ads bring in, even though sales are coming in faster than spend is going out.<\/p>\n\n\n\n<p>This ROAS calculator closes that gap. Enter your ad numbers and your costs per order, and it returns your ROAS, the ROAS you need to break even, the ROAS you need to hit a profit goal, and what to do with the campaign.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_use_this_ROAS_calculator\"><\/span>How to use this ROAS calculator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<style>\n.prc{--prc-ink:#1C1F3A;--prc-ink-soft:#4A4E6E;--prc-line:#DCDDEB;--prc-paper:#FBFBFE;--prc-field:#FFFFFF;--prc-accent:#5A3FD6;--prc-accent-soft:#EEEAFD;--prc-cut:#D4405A;--prc-hold:#B9770F;--prc-scale:#1C8F6B;--prc-cut-bar:#D4405A;--prc-hold-bar:#D9921F;--prc-scale-bar:#1C9B73;--prc-cut-bg:#FBE9EC;--prc-hold-bg:#FBF1E0;--prc-scale-bg:#E3F4EE;color-scheme:light;font-family:\"Bricolage Grotesque\",ui-sans-serif,system-ui,-apple-system,\"Segoe UI\",Roboto,sans-serif;color:var(--prc-ink);background:var(--prc-paper);border:1px solid var(--prc-line);border-radius:14px;padding:clamp(18px,3.5vw,32px);max-width:960px;margin:24px auto;box-sizing:border-box;line-height:1.45;font-size:16px;text-align:left}\n@media (prefers-color-scheme:dark){.prc:not([data-theme=\"light\"]){--prc-ink:#ECECF7;--prc-ink-soft:#A9ABC6;--prc-line:#33365A;--prc-paper:#161830;--prc-field:#1E2140;--prc-accent:#9C88FF;--prc-accent-soft:#2A2652;--prc-cut:#F0687F;--prc-hold:#F2B456;--prc-scale:#4CC79F;--prc-cut-bar:#F0687F;--prc-hold-bar:#F2B456;--prc-scale-bar:#4CC79F;--prc-cut-bg:#3A1C28;--prc-hold-bg:#3A2D17;--prc-scale-bg:#15362C;color-scheme:dark}}\n.prc[data-theme=\"dark\"]{--prc-ink:#ECECF7;--prc-ink-soft:#A9ABC6;--prc-line:#33365A;--prc-paper:#161830;--prc-field:#1E2140;--prc-accent:#9C88FF;--prc-accent-soft:#2A2652;--prc-cut:#F0687F;--prc-hold:#F2B456;--prc-scale:#4CC79F;--prc-cut-bar:#F0687F;--prc-hold-bar:#F2B456;--prc-scale-bar:#4CC79F;--prc-cut-bg:#3A1C28;--prc-hold-bg:#3A2D17;--prc-scale-bg:#15362C;color-scheme:dark}\n.prc *,.prc *::before,.prc *::after{box-sizing:border-box}\n.prc .prc-brand{display:inline-flex;align-items:center;background:#FFFFFF;border:1px solid var(--prc-line);border-radius:8px;padding:5px 9px;margin:0 0 14px;text-decoration:none;line-height:1}\n.prc .prc-brand img{display:block;height:20px;width:auto;max-width:120px;border:0;margin:0}\n.prc .prc-brand span{display:none;font-weight:700;font-size:14px;color:#1C1F3A}\n.prc .prc-brand.prc-noimg img{display:none}\n.prc .prc-brand.prc-noimg span{display:inline}\n.prc .prc-brand:focus-visible{outline:2px solid var(--prc-accent);outline-offset:2px}\n.prc h2{font-family:inherit;font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:-.01em;margin:0 0 4px;line-height:1.15;color:var(--prc-ink)}\n.prc .prc-sub{margin:0 0 24px;color:var(--prc-ink-soft);max-width:60ch}\n.prc .prc-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,40px);align-items:start}\n@media (max-width:760px){.prc .prc-grid{grid-template-columns:1fr}}\n.prc fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}\n.prc legend{font-weight:700;font-size:15px;padding:0;margin-bottom:10px;color:var(--prc-ink)}\n.prc .prc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n@media (max-width:420px){.prc .prc-row{grid-template-columns:1fr}}\n.prc label{display:block;font-size:14px;color:var(--prc-ink-soft);margin:0 0 12px}\n.prc .prc-l{display:block;margin-bottom:4px;color:var(--prc-ink)}\n.prc .prc-in{position:relative;display:flex;align-items:center;background:var(--prc-field);border:1px solid var(--prc-line);border-radius:8px}\n.prc .prc-in:focus-within{border-color:var(--prc-accent);box-shadow:0 0 0 3px var(--prc-accent-soft)}\n.prc .prc-in i{font-style:normal;color:var(--prc-ink-soft);padding:0 0 0 10px;font-size:15px}\n.prc .prc-in i.prc-suf{padding:0 10px 0 0}\n.prc input,.prc select{font:inherit;font-size:16px;color:var(--prc-ink);background:transparent;border:0;outline:0;width:100%;padding:9px 10px;margin:0;font-variant-numeric:tabular-nums;min-width:0;box-shadow:none;height:auto;line-height:1.3}\n.prc select{cursor:pointer}\n.prc select option{color:#1C1F3A;background:#FFFFFF}\n.prc .prc-hint{font-size:13px;color:var(--prc-ink-soft);margin:-4px 0 0}\n.prc .prc-cur{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--prc-ink-soft);margin-bottom:16px}\n.prc .prc-cur .prc-in{width:auto}\n.prc .prc-out{border-left:1px solid var(--prc-line);padding-left:clamp(0px,4vw,40px)}\n@media (max-width:760px){.prc .prc-out{border-left:0;padding-left:0;border-top:1px solid var(--prc-line);padding-top:20px}}\n.prc .prc-verdict{border-radius:10px;padding:14px 16px;margin-bottom:22px;background:var(--prc-accent-soft)}\n.prc .prc-verdict strong{display:block;font-size:20px;line-height:1.2;margin-bottom:2px;color:var(--prc-ink)}\n.prc .prc-verdict p{margin:0;font-size:15px;color:var(--prc-ink)}\n.prc .prc-verdict[data-zone=\"cut\"]{background:var(--prc-cut-bg)}\n.prc .prc-verdict[data-zone=\"cut\"] strong{color:var(--prc-cut)}\n.prc .prc-verdict[data-zone=\"hold\"]{background:var(--prc-hold-bg)}\n.prc .prc-verdict[data-zone=\"hold\"] strong{color:var(--prc-hold)}\n.prc .prc-verdict[data-zone=\"scale\"]{background:var(--prc-scale-bg)}\n.prc .prc-verdict[data-zone=\"scale\"] strong{color:var(--prc-scale)}\n.prc .prc-ruler{position:relative;height:92px;margin:6px 0 26px}\n.prc .prc-track{position:absolute;left:0;right:0;top:40px;height:14px;border-radius:7px;overflow:hidden;display:flex;background:var(--prc-line)}\n.prc .prc-track b{display:block;height:100%}\n.prc .prc-zc{background:var(--prc-cut-bar)}\n.prc .prc-zh{background:var(--prc-hold-bar)}\n.prc .prc-zs{background:var(--prc-scale-bar)}\n.prc .prc-mark{position:absolute;top:30px;width:0;height:34px;border-left:2px dashed var(--prc-ink);transform:translateX(-1px)}\n.prc .prc-mark span{position:absolute;top:38px;transform:translateX(-50%);white-space:nowrap;font-size:12.5px;color:var(--prc-ink-soft);font-variant-numeric:tabular-nums}\n.prc .prc-needle{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:left .45s cubic-bezier(.2,.8,.2,1)}\n.prc .prc-needle em{font-style:normal;font-weight:700;font-size:15px;background:var(--prc-ink);color:var(--prc-paper);padding:2px 8px;border-radius:6px;font-variant-numeric:tabular-nums;white-space:nowrap}\n.prc .prc-needle::after{content:\"\";width:3px;height:30px;background:var(--prc-ink);border-radius:2px;margin-top:2px}\n@media (prefers-reduced-motion:reduce){.prc .prc-needle{transition:none}}\n.prc .prc-nums{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--prc-line);margin:0}\n.prc .prc-nums div{padding:14px 12px 14px 0;border-bottom:1px solid var(--prc-line)}\n.prc .prc-nums div:nth-child(odd){border-right:1px solid var(--prc-line)}\n.prc .prc-nums div:nth-child(even){padding-left:16px}\n.prc .prc-nums dt{font-size:14px;color:var(--prc-ink-soft);margin:0 0 2px;font-weight:400}\n.prc .prc-nums dd{margin:0;font-size:clamp(26px,4vw,34px);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--prc-ink)}\n.prc .prc-nums small{display:block;font-size:13px;color:var(--prc-ink-soft);margin-top:2px}\n.prc .prc-note{font-size:14px;color:var(--prc-ink-soft);margin:16px 0 0}\n.prc .prc-note b{color:var(--prc-ink);font-weight:500}\n.prc .prc-err{display:none;color:var(--prc-cut);font-size:14px;margin:0 0 12px}\n.prc .prc-reset{font:inherit;font-size:14px;color:var(--prc-accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}\n.prc .prc-reset:focus-visible{outline:2px solid var(--prc-accent);outline-offset:2px}\n.prc .prc-foot{margin-top:18px;font-size:13px;color:var(--prc-ink-soft)}\n.prc .prc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n<\/style>\n<section class=\"prc\" aria-label=\"ROAS calculator by Predis.ai\">\n<a class=\"prc-brand\" href=\"https:\/\/predis.ai\/?utm_source=roas_calculator\" target=\"_blank\" rel=\"noopener\" aria-label=\"Predis.ai home\"><img decoding=\"async\" src=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2024\/11\/PredisLogo-_Finalfile-3-1.png\" alt=\"Predis.ai\" height=\"20\" onerror=\"this.parentNode.className+=' prc-noimg'\"><span>Predis.ai<\/span><\/a>\n<h2><span class=\"ez-toc-section\" id=\"ROAS_calculator\"><\/span>ROAS calculator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"prc-sub\">Enter one campaign&#8217;s numbers and your costs per order. You&#8217;ll see your ROAS, the ROAS you need to break even, the ROAS that hits your profit goal, and what to do next.<\/p>\n<div class=\"prc-grid\">\n<form class=\"prc-form\" onsubmit=\"return false\" novalidate>\n<div class=\"prc-cur\"><span>Currency<\/span><span class=\"prc-in\"><select data-k=\"currency\" aria-label=\"Currency\"><option value=\"$\">$ USD<\/option><option value=\"\u20ac\">\u20ac EUR<\/option><option value=\"\u00a3\">\u00a3 GBP<\/option><option value=\"\u20b9\">\u20b9 INR<\/option><option value=\"A$\">A$ AUD<\/option><\/select><\/span><\/div>\n<fieldset><legend>Campaign<\/legend>\n<div class=\"prc-row\">\n<label><span class=\"prc-l\">Ad spend<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"spend\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"1000\"><\/span><\/label>\n<label><span class=\"prc-l\">Revenue from ads<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"rev\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"1800\"><\/span><\/label>\n<\/div><\/fieldset>\n<fieldset><legend>One order<\/legend>\n<div class=\"prc-row\">\n<label><span class=\"prc-l\">Average order value<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"aov\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"60\"><\/span><\/label>\n<label><span class=\"prc-l\">Product cost<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"cogs\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"21\"><\/span><\/label>\n<\/div>\n<div class=\"prc-row\">\n<label><span class=\"prc-l\">Shipping and fulfillment<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"ship\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"6\"><\/span><\/label>\n<label><span class=\"prc-l\">Packaging and other<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"other\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"1.5\"><\/span><\/label>\n<\/div>\n<div class=\"prc-row\">\n<label><span class=\"prc-l\">Payment fee<\/span><span class=\"prc-in\"><input data-k=\"feep\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"100\" step=\"any\" value=\"2.9\"><i class=\"prc-suf\">%<\/i><\/span><\/label>\n<label><span class=\"prc-l\">Plus per order<\/span><span class=\"prc-in\"><i class=\"prc-sym\">$<\/i><input data-k=\"feef\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"any\" value=\"0.30\"><\/span><\/label>\n<\/div><\/fieldset>\n<fieldset><legend>Your goal<\/legend>\n<label><span class=\"prc-l\">Profit to keep from each sale<\/span><span class=\"prc-in\"><input data-k=\"goal\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"99\" step=\"any\" value=\"15\"><i class=\"prc-suf\">%<\/i><\/span><\/label>\n<p class=\"prc-hint\">Set it to 0 if you only want break-even.<\/p>\n<\/fieldset>\n<button type=\"button\" class=\"prc-reset\" data-k=\"reset\">Reset to the example store<\/button>\n<\/form>\n<div class=\"prc-out\" aria-live=\"polite\">\n<p class=\"prc-err\" data-k=\"err\" role=\"alert\"><\/p>\n<div class=\"prc-verdict\" data-k=\"verdict\" data-zone=\"cut\"><strong data-k=\"vt\">Cut or rebuild<\/strong><p data-k=\"vp\">This campaign is below break-even. You pay about $33.33 in ads per order but keep only $29.46, so each order loses about $3.87. Fix the ad, offer or page, or pause it.<\/p><\/div>\n<div class=\"prc-ruler\" data-k=\"ruler\" aria-hidden=\"true\">\n<div class=\"prc-track\"><b class=\"prc-zc\" data-k=\"zc\" style=\"width:31.9%\"><\/b><b class=\"prc-zh\" data-k=\"zh\" style=\"width:13.9%\"><\/b><b class=\"prc-zs\" data-k=\"zs\" style=\"width:54.2%\"><\/b><\/div>\n<div class=\"prc-mark\" data-k=\"mbe\" style=\"left:31.9%\"><span data-k=\"mbel\">Break-even 2.04<\/span><\/div>\n<div class=\"prc-mark\" data-k=\"mtg\" style=\"left:45.8%\"><span data-k=\"mtgl\">Target 2.93<\/span><\/div>\n<div class=\"prc-needle\" data-k=\"needle\" style=\"left:28.1%\"><em data-k=\"needlel\">You 1.80<\/em><\/div>\n<\/div>\n<p class=\"prc-sr\" data-k=\"sr\"><\/p>\n<dl class=\"prc-nums\">\n<div><dt>Your ROAS<\/dt><dd data-k=\"o-roas\">1.80<\/dd><small data-k=\"o-roasp\">180%<\/small><\/div>\n<div><dt>Break-even ROAS<\/dt><dd data-k=\"o-be\">2.04<\/dd><small data-k=\"o-bem\">49.1% contribution margin<\/small><\/div>\n<div><dt>Target ROAS<\/dt><dd data-k=\"o-tg\">2.93<\/dd><small data-k=\"o-tgg\">for 15% profit<\/small><\/div>\n<div><dt>Break-even CPA<\/dt><dd data-k=\"o-cpa\">$29.46<\/dd><small>most you can pay per order<\/small><\/div>\n<\/dl>\n<p class=\"prc-note\" data-k=\"gross\">Counting product cost only would put break-even at 1.54. Shipping, fees and packaging move it to 2.04.<\/p>\n<p class=\"prc-foot\">Runs in your browser. This page saves nothing you type.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<script data-cfasync=\"false\" data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\" nowprocket>\n(function(){\nvar DEF={spend:1000,rev:1800,aov:60,cogs:21,ship:6,other:1.5,feep:2.9,feef:0.30,goal:15};\nvar KEYS=[\"spend\",\"rev\",\"aov\",\"cogs\",\"ship\",\"other\",\"feep\",\"feef\",\"goal\"];\nfunction init(root){\nif(root.getAttribute(\"data-prc-ready\")===\"1\"){return}\nroot.setAttribute(\"data-prc-ready\",\"1\");\nvar cur=\"$\";\nfunction q(k){return root.querySelector('[data-k=\"'+k+'\"]')}\nfunction setT(k,v){var el=q(k);if(el){el.textContent=v}}\nfunction num(k){var v=parseFloat(q(k).value);if(isNaN(v)){return 0}if(0>v){return 0}return v}\nfunction money(v){var neg=0>v;var s=Math.abs(v).toLocaleString(\"en-US\",{minimumFractionDigits:2,maximumFractionDigits:2});return (neg?\"-\":\"\")+cur+s}\nfunction x2(v){return v.toFixed(2)}\nfunction pct(v){return (v*100).toFixed(1)+\"%\"}\nfunction clamp(p){if(0>p){return 0}if(p>100){return 100}return p}\nfunction place(k,val,top){var el=q(k);if(el){el.style.left=clamp(val\/top*100)+\"%\"}}\nfunction show(k,on){var el=q(k);if(el){el.style.display=on?\"\":\"none\"}}\nfunction width(k,p){var el=q(k);if(el){el.style.width=clamp(p)+\"%\"}}\nfunction verdict(zone,title,body){var v=q(\"verdict\");v.setAttribute(\"data-zone\",zone);setT(\"vt\",title);setT(\"vp\",body)}\nfunction fail(msg){var e=q(\"err\");e.textContent=msg;e.style.display=\"block\";setT(\"o-be\",\"-\");setT(\"o-tg\",\"-\");setT(\"o-cpa\",\"-\");setT(\"o-bem\",\"\");setT(\"o-tgg\",\"\");verdict(\"\",\"Check your costs\",\"Break-even can't be calculated yet.\");show(\"needle\",false);show(\"mbe\",false);show(\"mtg\",false);width(\"zc\",0);width(\"zh\",0);width(\"zs\",0);setT(\"gross\",\"\");setT(\"sr\",msg)}\nfunction calc(){\nvar spend=num(\"spend\"),rev=num(\"rev\"),aov=num(\"aov\"),cogs=num(\"cogs\"),ship=num(\"ship\"),other=num(\"other\"),feep=num(\"feep\")\/100,feef=num(\"feef\"),goal=num(\"goal\")\/100;\nvar e=q(\"err\");e.style.display=\"none\";e.textContent=\"\";show(\"mbe\",true);\nvar fee=aov*feep+feef,costs=cogs+ship+other+fee,contrib=aov-costs,roas=spend>0?rev\/spend:0;\nsetT(\"o-roas\",spend>0?x2(roas):\"-\");\nsetT(\"o-roasp\",spend>0?Math.round(roas*100)+\"%\":\"Add ad spend\");\nif(!(aov>0)){fail(\"Add your average order value to see break-even ROAS.\");return}\nif(!(contrib>0)){fail(\"Your costs per order (\"+money(costs)+\") are at or above your order value (\"+money(aov)+\"), so no ROAS can break even. Check the cost fields or raise your price.\");return}\nvar m=contrib\/aov,be=1\/m,cpa=contrib,hasGoal=goal>0,goalOk=m>goal,tg;\nif(!hasGoal){tg=be}else if(goalOk){tg=1\/(m-goal)}else{tg=Infinity}\nsetT(\"o-be\",x2(be));setT(\"o-bem\",pct(m)+\" contribution margin\");setT(\"o-cpa\",money(cpa));\nif(!hasGoal){setT(\"o-tg\",x2(be));setT(\"o-tgg\",\"same as break-even at 0% profit\")}\nelse if(!goalOk){setT(\"o-tg\",\"-\");setT(\"o-tgg\",\"goal is above your \"+pct(m)+\" margin\")}\nelse{setT(\"o-tg\",x2(tg));setT(\"o-tgg\",\"for \"+(Math.round(goal*1000)\/10)+\"% profit\")}\nvar zone,title,body;\nif(!(spend>0)){zone=\"\";title=\"Add your ad spend\";body=\"Break-even and target ROAS are ready. Add spend and revenue to place this campaign.\"}\nelse if(be>roas){zone=\"cut\";title=\"Cut or rebuild\";var orders=rev\/aov;if(orders>0){body=\"This campaign is below break-even. You pay about \"+money(spend\/orders)+\" in ads per order but keep only \"+money(cpa)+\", so each order loses about \"+money(spend\/orders-cpa)+\". Fix the ad, offer or page, or pause it.\"}else{body=\"This campaign has spend but no attributed revenue yet. Check tracking, or give it a full buying cycle before judging.\"}}\nelse if(hasGoal){if(!goalOk){zone=\"hold\";title=\"Hold\";body=\"Above break-even, but your profit goal is higher than your margin, so no ROAS reaches it. Lower the goal or your costs per order.\"}else if(tg>roas){zone=\"hold\";title=\"Hold\";body=\"Profitable, but under your target. Fix the ad, offer or page before adding budget.\"}else{zone=\"scale\";title=\"Scale\";body=\"At or above your target. Raise budget in steps and check that ROAS holds as spend grows.\"}}\nelse{zone=\"scale\";title=\"Scale\";body=\"Above break-even. Raise budget in steps and check that ROAS holds as spend grows.\"}\nverdict(zone,title,body);\nvar tgF=isFinite(tg)?tg:be;\nvar top=Math.max(4,be*1.6,tgF*1.35,roas*1.15);\nvar tgEdge=isFinite(tg)?Math.min(tg,top):top;\nwidth(\"zc\",be\/top*100);width(\"zh\",(tgEdge-be)\/top*100);width(\"zs\",(top-tgEdge)\/top*100);\nplace(\"mbe\",be,top);setT(\"mbel\",\"Break-even \"+x2(be));\nvar showTg=hasGoal?isFinite(tg):false;\nshow(\"mtg\",showTg);if(showTg){place(\"mtg\",tg,top);setT(\"mtgl\",\"Target \"+x2(tg))}\nshow(\"needle\",spend>0);place(\"needle\",roas,top);setT(\"needlel\",\"You \"+x2(roas));\nvar ruler=q(\"ruler\"),rw=ruler.clientWidth||600,gapPx=showTg?(tg-be)\/top*rw:999,tight=110>gapPx;\nq(\"mtgl\").style.top=tight?\"56px\":\"38px\";ruler.style.height=tight?\"112px\":\"92px\";\nsetT(\"sr\",spend>0?\"Your ROAS is \"+x2(roas)+\". Break-even is \"+x2(be)+\". Verdict: \"+title+\".\":\"\");\nvar gm=(aov-cogs)\/aov,g=q(\"gross\");\nwhile(g.firstChild){g.removeChild(g.firstChild)}\nif(gm>0){if(ship+other+fee>0){var b1=document.createElement(\"b\"),b2=document.createElement(\"b\");b1.textContent=x2(1\/gm);b2.textContent=x2(be);g.appendChild(document.createTextNode(\"Counting product cost only would put break-even at \"));g.appendChild(b1);g.appendChild(document.createTextNode(\". Shipping, fees and packaging move it to \"));g.appendChild(b2);g.appendChild(document.createTextNode(\".\"))}}\n}\nfunction onCur(){cur=q(\"currency\").value;var s=root.querySelectorAll(\".prc-sym\");for(var i=0;s.length>i;i++){s[i].textContent=cur}calc()}\nroot.addEventListener(\"input\",function(ev){if(ev.target.getAttribute(\"data-k\")===\"currency\"){onCur()}else{calc()}});\nroot.addEventListener(\"change\",function(ev){if(ev.target.getAttribute(\"data-k\")===\"currency\"){onCur()}else{calc()}});\nroot.addEventListener(\"keyup\",calc);\nq(\"reset\").addEventListener(\"click\",function(){for(var i=0;KEYS.length>i;i++){q(KEYS[i]).value=DEF[KEYS[i]]}calc()});\nwindow.addEventListener(\"resize\",calc);\ncalc();\n}\nfunction boot(){var r=document.querySelectorAll(\".prc\");for(var i=0;r.length>i;i++){try{init(r[i])}catch(err){if(window.console){console.error(\"ROAS calculator:\",err)}}}}\nif(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",boot)}else{boot()}\nwindow.addEventListener(\"load\",boot);\nfunction postH(){if(window.parent!==window){try{var el=document.querySelector(\".prc\");if(el){window.parent.postMessage({prcHeight:Math.ceil(el.getBoundingClientRect().bottom+window.pageYOffset+24)},\"*\")}}catch(e){}}}\nwindow.addEventListener(\"load\",postH);window.addEventListener(\"resize\",postH);document.addEventListener(\"input\",function(){setTimeout(postH,60)});setTimeout(postH,300);\n})();\n<\/script>\n\n\n\n<p>The calculator needs five numbers, and you can pull all of them from your ad account and store admin:<\/p>\n\n\n\n<ul>\n<li><strong>Ad spend<\/strong>: what you paid the platform for the period you&#8217;re checking.<\/li>\n\n\n\n<li><strong>Revenue from ads<\/strong>: the sales your ad platform attributes to those ads.<\/li>\n\n\n\n<li><strong>Average order value (AOV)<\/strong>: revenue divided by the number of orders.<\/li>\n\n\n\n<li><strong>Costs per order<\/strong>: product cost, shipping, payment fees and packaging. Anything that goes up when you sell one more.<\/li>\n\n\n\n<li><strong>Profit to keep<\/strong>: optional, as a percentage of each sale. 15% is a reasonable starting point if you&#8217;re unsure.<\/li>\n<\/ul>\n\n\n\n<p>You get four numbers back: ROAS, break-even ROAS, target ROAS and break-even CPA (the most you can pay to win one order). It also labels the campaign scale, hold or cut based on where your ROAS lands. Everything runs in your browser, and the page saves nothing you type.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_ROAS_formula_and_how_to_read_the_result\"><\/span>The ROAS formula (and how to read the result)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>ROAS = revenue from ads \u00f7 ad spend<\/strong><\/p>\n\n\n\n<p>Spend $1,000 on Instagram ads, get $4,000 in attributed sales, and your ROAS is 4.0. You&#8217;ll see that written a few ways: 4.0, 4x, 4:1 or 400%. They all mean $4 back for every $1 spent. Google Ads uses the percentage version, and its help page works through <a href=\"https:\/\/support.google.com\/google-ads\/answer\/6268637\" target=\"_blank\" rel=\"noreferrer noopener\">$5 in sales on $1 of spend as a 500% target ROAS<\/a>.<\/p>\n\n\n\n<p>The ROAS calculation is the easy part. Reading it correctly is where most store owners get burned.<\/p>\n\n\n\n<p>ROAS compares two numbers only: what the ads brought in and what the ads cost. It knows nothing about what you paid your supplier, what shipping cost or the cut your payment processor took. A 4.0 ROAS on a thin-margin product can lose money. A 2.0 ROAS on a high-margin digital product can be very profitable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ROAS vs ROI<\/h3>\n\n\n\n<p>ROI counts every cost in the business, from product to payroll to rent. ROAS counts only ad spend. Use ROAS to compare campaigns against each other this week, and ROI to judge whether the business as a whole is working. You need both, but only ROAS moves fast enough to steer a campaign.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_break-even_ROAS_means\"><\/span>What break-even ROAS means<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Break-even ROAS is the point where your ads pay for themselves and nothing more. Below it, every sale the ads bring in costs you money. Above it, you&#8217;re profitable.<\/p>\n\n\n\n<p>The formula is short:<\/p>\n\n\n\n<p><strong>Break-even ROAS = 1 \u00f7 margin<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/advertising.amazon.com\/library\/guides\/ads-math\">Amazon&#8217;s advertising math guide<\/a> uses the same formula and the example most people start with: a 40% margin means a break-even ROAS of 2.5, so you need $2.50 in sales for every $1 of ads.<\/p>\n\n\n\n<p>Here&#8217;s how fast the number moves:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Margin<\/th><th>Break-even ROAS<\/th><th>Sales needed per $1 of ads<\/th><\/tr><\/thead><tbody><tr><td>20%<\/td><td>5.00<\/td><td>$5.00<\/td><\/tr><tr><td>30%<\/td><td>3.33<\/td><td>$3.33<\/td><\/tr><tr><td>40%<\/td><td>2.50<\/td><td>$2.50<\/td><\/tr><tr><td>50%<\/td><td>2.00<\/td><td>$2.00<\/td><\/tr><tr><td>60%<\/td><td>1.67<\/td><td>$1.67<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin.png\" alt=\"Bar chart showing break-even ROAS falling from 5.0 at 20% margin to 1.67 at 60% margin\" class=\"wp-image-89992\" srcset=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin.png 1200w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin-300x169.png 300w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin-1024x576.png 1024w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin-768x432.png 768w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/break-even-roas-by-margin-150x84.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>Halve your margin and your break-even ROAS doubles. It&#8217;s also why two stores can post the same 2.5 ROAS and be in completely different shape.<\/p>\n\n\n\n<p>The catch is the word &#8220;margin.&#8221; Most guides plug in gross margin. For ad decisions you want contribution margin, and the gap between them is often big enough to flip a campaign from profit to loss.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_calculate_break-even_ROAS_in_4_steps\"><\/span>How to calculate break-even ROAS in 4 steps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Contribution margin is what&#8217;s left from an order after every cost that comes with that order. Gross margin stops at product cost. Here&#8217;s the full version, with one example store running through each step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Find your average order value<\/h3>\n\n\n\n<p>Divide revenue by the number of orders for the same period. Use 30 to 90 days of data and strip out refunds. Our example store sells a $60 skincare set, and most orders contain one set, so AOV is $60.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: List every cost that rises with each order<\/h3>\n\n\n\n<p>Not rent. Not salaries. Only costs that show up because one more order happened:<\/p>\n\n\n\n<ul>\n<li><strong>Product cost (COGS)<\/strong>: $21<\/li>\n\n\n\n<li><strong>Shipping and fulfillment<\/strong>: $6<\/li>\n\n\n\n<li><strong>Payment processing<\/strong>: $2.04. Stripe&#8217;s standard US rate is <a href=\"https:\/\/www.nerdwallet.com\/article\/small-business\/stripe-fees\">2.9% + 30\u00a2 per card charge<\/a>, so $60 \u00d7 2.9% + $0.30.<\/li>\n\n\n\n<li><strong>Packaging and inserts<\/strong>: $1.50<\/li>\n<\/ul>\n\n\n\n<p>Total: $30.54. If you have a steady return rate, add an allowance for that too. Leave ad spend out, since that&#8217;s what the formula is solving for.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Work out contribution margin<\/h3>\n\n\n\n<p><strong>Contribution margin = (AOV \u2212 variable costs) \u00f7 AOV<\/strong><\/p>\n\n\n\n<p>($60 \u2212 $30.54) \u00f7 $60 = $29.46 \u00f7 $60 = 49.1%<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Divide 1 by that margin<\/h3>\n\n\n\n<p>1 \u00f7 0.491 = <strong>2.04 break-even ROAS<\/strong><\/p>\n\n\n\n<p>The ROAS calculator at the top of this page runs these four steps for you once you enter your own costs.<\/p>\n\n\n\n<p>Now compare that with the shortcut. Using gross margin alone, ($60 \u2212 $21) \u00f7 $60 = 65%, the break-even ROAS looks like 1.54. Run a campaign at 1.8 ROAS and the shortcut says you&#8217;re comfortably profitable. The full math says you&#8217;re losing about 12 cents on every ad dollar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown.png\" alt=\"Breakdown of a $60 order into product cost, shipping, fees, packaging and $29.46 left over\" class=\"wp-image-89994\" srcset=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown.png 1200w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown-300x169.png 300w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown-1024x576.png 1024w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown-768x432.png 768w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/sixty-dollar-order-breakdown-150x84.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Your break-even CPA comes free<\/h3>\n\n\n\n<p>The $29.46 left over per order is also the most you can spend on ads to win one order and still break even. That&#8217;s your break-even CPA. If your ad platform reports a cost per purchase above it, the campaign is underwater no matter how its ROAS looks.<\/p>\n\n\n\n<div class=\"pd-cta\">\n  <div class=\"pd-cta__copy\">\n    <p class=\"pd-cta__title\">Make a UGC ad with Predis.ai<\/p>\n    <p class=\"pd-cta__text\">Make UGC-style video ads from one product link and let your numbers pick.<\/p>\n  <\/div>\n  <a class=\"pd-cta__btn\" href=\"https:\/\/predis.ai\/ugc-ad-maker\/\" target=\"_blank\">Make a UGC ad<\/a>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"From_break-even_to_target_ROAS\"><\/span>From break-even to target ROAS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Break-even is the floor. Nobody runs ads all year to stand still, so you need a second number: the ROAS that leaves the profit you actually want.<\/p>\n\n\n\n<p><strong>Target ROAS = 1 \u00f7 (contribution margin \u2212 profit you want to keep)<\/strong><\/p>\n\n\n\n<p>Say our skincare store wants to keep 15% of every ad-driven sale as profit. That&#8217;s 1 \u00f7 (0.491 \u2212 0.15) = 1 \u00f7 0.341 = 2.93. Campaigns at or above 2.93 hit the goal. Between 2.04 and 2.93, they make money but fall short of it.<\/p>\n\n\n\n<p>If you bid with Google&#8217;s target ROAS strategy, two rules from Google&#8217;s help docs matter. Most campaign types need at least 15 conversions in the past 30 days before tROAS can do its job. And Google&#8217;s Shopping setup guide notes that <a href=\"https:\/\/support.google.com\/google-ads\/answer\/6309035?hl=en-GB\" target=\"_blank\" rel=\"noreferrer noopener\">lowering your target works like raising your bid<\/a>: more volume at a lower return, while a higher target can cost you clicks.<\/p>\n\n\n\n<p>Set the target from your margin math rather than a benchmark, and move it in small steps so the bidding has time to adjust.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_a_good_ROAS_Your_number_not_a_benchmark\"><\/span>What is a good ROAS? Your number, not a benchmark<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A good ROAS is any ROAS above your target, held steady over a few weeks. That&#8217;s the honest answer, and it&#8217;s why benchmarks only go so far. You can&#8217;t see a competitor&#8217;s ROAS, but <a href=\"https:\/\/predis.ai\/ad-intelligence\/\" target=\"_blank\" rel=\"noreferrer noopener\">ad intelligence<\/a> shows which of their ads they keep paying for.<\/p>\n\n\n\n<p>Still, they give you context. In Triple Whale&#8217;s Meta data, median ROAS ranged from 1.13 for Media &amp; Publishing to 2.35 for Sports &amp; Outdoors. Both sit well below the &#8220;4:1 is good&#8221; rule repeated in a lot of strategy decks.<\/p>\n\n\n\n<p>Two warnings before you compare yourself to anyone:<\/p>\n\n\n\n<ol>\n<li><strong>Your margin decides what &#8220;good&#8221; means.<\/strong> A 2.0 ROAS is a loss at 40% margin and a profit at 60%.<\/li>\n\n\n\n<li><strong>Attribution changes the number.<\/strong> Fospha&#8217;s benchmark analysis, <a href=\"https:\/\/clickz.com\/?p=272942\" target=\"_blank\" rel=\"noreferrer noopener\">reported by ClickZ<\/a>, points out that the same campaign shows a different ROAS under last-click, modeled attribution and marketing mix modeling. Compare your ROAS with your own past numbers measured the same way.<\/li>\n<\/ol>\n\n\n\n<p>If most of your spend is on Meta, <a href=\"https:\/\/predis.ai\/resources\/roas-for-facebook-ads\/\" target=\"_blank\">this guide to a good ROAS for Facebook ads<\/a> goes deeper on that platform.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Scale_hold_or_cut_a_rule_for_every_campaign\"><\/span>Scale, hold or cut: a rule for every campaign<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Once you know break-even and target ROAS, every campaign falls into one of three zones. The ROAS calculator above labels yours automatically.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Zone<\/th><th>Campaign ROAS<\/th><th>What to do<\/th><\/tr><\/thead><tbody><tr><td>Scale<\/td><td>At or above target<\/td><td>Raise budget in steps and check that ROAS holds as spend grows.<\/td><\/tr><tr><td>Hold<\/td><td>Between break-even and target<\/td><td>Keep it running, and fix the ad, offer or page before adding budget.<\/td><\/tr><tr><td>Cut<\/td><td>Below break-even<\/td><td>Pause or rebuild it. Every order it brings in costs you money.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones.png\" alt=\"\" class=\"wp-image-89998\" srcset=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones.png 1200w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones-300x169.png 300w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones-1024x576.png 1024w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones-768x432.png 768w, https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/scale-hold-cut-zones-150x84.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>One caution: don&#8217;t sort campaigns on two days of data. Sales often land days after the click. Google asks advertisers to report values for 4 weeks or 3 conversion cycles, whichever is longer, before setting a ROAS target, and that&#8217;s a sensible bar for any channel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Below_break-even_What_to_fix_first\"><\/span>Below break-even? What to fix first<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A campaign under break-even usually has one of three problems, and the numbers tell you which:<\/p>\n\n\n\n<ul>\n<li><strong>People scroll past it.<\/strong> A low click-through rate (CTR) means the ad isn&#8217;t earning attention. That&#8217;s a creative problem.<\/li>\n\n\n\n<li><strong>People click, then leave.<\/strong> Healthy CTR with a weak conversion rate points past the ad to the landing page, price or offer. Triple Whale&#8217;s data shows this in Electronics, where CTR rose 21.52% year over year while conversion rate fell 15.69%.<\/li>\n\n\n\n<li><strong>People buy, but the math is thin.<\/strong> Good CTR and conversion rate but still under break-even means margin is the issue. Raise AOV with bundles, cut a cost from Step 2 or revisit price.<\/li>\n<\/ul>\n\n\n\n<p>The first problem is the most common and the cheapest to fix. Research from Nielsen and NCS, summarized by <a href=\"https:\/\/www.marketingcharts.com\/television-80662\" target=\"_blank\" rel=\"noreferrer noopener\">MarketingCharts<\/a>, credits creative quality and messaging with 47% of the sales lift from advertising, rising to 56% for digital campaigns. With median Meta CPMs up 13.24% in Triple Whale&#8217;s latest data, an ad people ignore also costs more to run than it did a year ago.<\/p>\n\n\n\n<p>Fixing a tired ad rarely means starting over. Keep what works and change one thing at a time: the hook, the first frame or the format. Predis.ai makes <a href=\"https:\/\/predis.ai\/\" target=\"_blank\">ad variants that look like your brand<\/a> from one product link, and you can fix one frame instead of remaking the whole ad. If you&#8217;re unsure what to test next, <a href=\"https:\/\/predis.ai\/social-media-competitor-analysis\/\" target=\"_blank\">competitor intelligence<\/a> shows what&#8217;s working in your category before you spend on it.<\/p>\n\n\n\n<div class=\"pd-cta\">\n  <div class=\"pd-cta__copy\">\n    <p class=\"pd-cta__title\">Make ads that are yours<\/p>\n    <p class=\"pd-cta__text\"Scale the ones that sell, starting with variants made from one product link.<\/p>\n  <\/div>\n  <a class=\"pd-cta__btn\" href=\"https:\/\/predis.ai\/\" target=\"_blank\">Make your first ad<\/a>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Run_the_numbers_then_make_the_call\"><\/span>Run the numbers, then make the call<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Your break-even ROAS isn&#8217;t a number you find once. It moves every time a supplier raises prices, a carrier changes rates or you add a free-shipping threshold, so rerun the ROAS calculator whenever a Step 2 cost changes, and at least once a quarter.<\/p>\n\n\n\n<p>The bigger shift is how you read the dashboard. A ROAS on its own is just a ratio. Next to your break-even and target, it becomes a decision about where the next dollar goes and which campaign gets switched off. Run your numbers above, sort your campaigns into the three zones, and start with the cut pile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1792406093383\"><strong class=\"schema-faq-question\">What is the formula for ROAS?<\/strong> <p class=\"schema-faq-answer\">ROAS equals revenue from ads divided by ad spend. If $500 in ads brings in $1,750 in sales, your ROAS is 3.5, which you may also see written as 3.5x, 3.5:1 or 350%. The formula ignores product and shipping costs, so check it against your break-even ROAS before calling a campaign profitable.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792406108880\"><strong class=\"schema-faq-question\">Is a 2.0 ROAS good?<\/strong> <p class=\"schema-faq-answer\">It depends on your margin. At 50% contribution margin, 2.0 is exactly break-even. At 60% it&#8217;s profitable, and at 40% you lose money because break-even sits at 2.5. Work out your own break-even ROAS first, then judge any ROAS against it rather than an industry average.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792406142974\"><strong class=\"schema-faq-question\">What&#8217;s the difference between break-even ROAS and target ROAS?<\/strong> <p class=\"schema-faq-answer\">Break-even ROAS is the point where ads pay for themselves with zero profit left over. Target ROAS is higher: it&#8217;s the return that leaves the profit you want to keep. Treat break-even as a floor a campaign shouldn&#8217;t stay under for long, and target as the number you bid toward.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792406158761\"><strong class=\"schema-faq-question\">Should I use gross margin or contribution margin for break-even ROAS?<\/strong> <p class=\"schema-faq-answer\">Use contribution margin. Gross margin only subtracts product cost, so it leaves out shipping, payment fees and packaging, which makes your break-even ROAS look lower than it is. In the example above, gross margin suggested 1.54 while the full math gave 2.04.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792406166488\"><strong class=\"schema-faq-question\">How often should I recalculate break-even ROAS?<\/strong> <p class=\"schema-faq-answer\">Recalculate whenever a cost per order changes: new supplier pricing, a shipping rate update, a new payment provider or a change to your free-shipping threshold. If nothing changes, a quarterly check with a ROAS calculator keeps the number honest. Recheck before big sale periods too, since discounts shrink your margin and raise your break-even ROAS.<\/p> <\/div> <\/div>\n\n\n\n<p>You may also like:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/predis.ai\/resources\/roas-for-linkedin-ads\/\" target=\"_blank\">Good ROAS for LinkedIn Ads &amp; How to Improve<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/predis.ai\/resources\/linkedin-ads-cost\/\" target=\"_blank\">How Much Do LinkedIn Ads Cost? Everything You Need to Know<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/predis.ai\/resources\/google-banner-ad-sizes\/\" target=\"_blank\">Marketing Guide to Google Banner Ad Sizes<\/a><\/li>\n<\/ul>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Across more than 40,000 ecommerce brands, the median return on ad spend for Meta ads &#8230; <a title=\"ROAS Calculator + How to Find Your Break-Even ROAS\" class=\"read-more\" href=\"https:\/\/predis.ai\/resources\/roas-calculator\/\" aria-label=\"More on ROAS Calculator + How to Find Your Break-Even ROAS\">Read more<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":89988,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[133,1],"tags":[79,330],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ROAS Calculator: Find Your Break-Even and Target ROAS<\/title>\n<meta name=\"description\" content=\"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/predis.ai\/resources\/roas-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ROAS Calculator: Find Your Break-Even and Target ROAS\" \/>\n<meta property=\"og:description\" content=\"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/predis.ai\/resources\/roas-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Social Media Marketing, Ads, Videos | Predis.ai Blogs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/predisAI\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-17T09:59:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-02T23:48:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/roas-calculator-1024x572.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"572\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tanmay Ratnaparkhe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PredisAI\" \/>\n<meta name=\"twitter:site\" content=\"@PredisAI\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tanmay Ratnaparkhe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/\"},\"author\":{\"name\":\"Tanmay Ratnaparkhe\",\"@id\":\"https:\/\/predis.ai\/resources\/#\/schema\/person\/1d3012532330d3e2547759177fabf636\"},\"headline\":\"ROAS Calculator + How to Find Your Break-Even ROAS\",\"datePublished\":\"2026-10-17T09:59:50+00:00\",\"dateModified\":\"2026-11-02T23:48:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/\"},\"wordCount\":1829,\"publisher\":{\"@id\":\"https:\/\/predis.ai\/resources\/#organization\"},\"keywords\":[\"Ads\",\"ROAS\"],\"articleSection\":[\"Ads\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/\",\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/\",\"name\":\"ROAS Calculator: Find Your Break-Even and Target ROAS\",\"isPartOf\":{\"@id\":\"https:\/\/predis.ai\/resources\/#website\"},\"datePublished\":\"2026-10-17T09:59:50+00:00\",\"dateModified\":\"2026-11-02T23:48:55+00:00\",\"description\":\"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.\",\"breadcrumb\":{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383\"},{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880\"},{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974\"},{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761\"},{\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/predis.ai\/resources\/roas-calculator\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/predis.ai\/resources\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ROAS Calculator + How to Find Your Break-Even ROAS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/predis.ai\/resources\/#website\",\"url\":\"https:\/\/predis.ai\/resources\/\",\"name\":\"Resources | Predis\",\"description\":\"Create ads, videos with AI and learn more about social media marketing\",\"publisher\":{\"@id\":\"https:\/\/predis.ai\/resources\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/predis.ai\/resources\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/predis.ai\/resources\/#organization\",\"name\":\"Predis.ai\",\"url\":\"https:\/\/predis.ai\/resources\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/predis.ai\/resources\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2021\/01\/predis_logo.png\",\"contentUrl\":\"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2021\/01\/predis_logo.png\",\"width\":730,\"height\":256,\"caption\":\"Predis.ai\"},\"image\":{\"@id\":\"https:\/\/predis.ai\/resources\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/predisAI\/\",\"https:\/\/twitter.com\/PredisAI\",\"https:\/\/www.instagram.com\/predis.ai\/\",\"https:\/\/www.linkedin.com\/company\/predis-ai\/about\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/predis.ai\/resources\/#\/schema\/person\/1d3012532330d3e2547759177fabf636\",\"name\":\"Tanmay Ratnaparkhe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/predis.ai\/resources\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5aaf1669483b25afa69a1916ebe903c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5aaf1669483b25afa69a1916ebe903c8?s=96&d=mm&r=g\",\"caption\":\"Tanmay Ratnaparkhe\"},\"description\":\"Tanmay, Co-founder of Predis.ai, is a seasoned entrepreneur with a proven track record, having successfully built two companies from the ground up. A tech enthusiast at heart, a recognized SaaS expert, and years of hands-on experience in leveraging technology to fuel marketing success, Tanmay offers invaluable insights on how brands can boost their digital presence, improve productivity, and maximize ROI. Why trust us? Predis.ai is trusted by over a million users and business owners worldwide, including industry leaders who rely on our AI\u2019s output and creativity. Our platform is highly rated across review sites and app stores, a testament to the real world value it delivers. We consistently update our technology and content to ensure you receive the most accurate, up to date, and reliable guidance on leveraging social media for your business.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/tanmay-ratnaparkhe-74395420\/\"],\"url\":\"https:\/\/predis.ai\/resources\/author\/prediswpadmin\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383\",\"position\":1,\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383\",\"name\":\"What is the formula for ROAS?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ROAS equals revenue from ads divided by ad spend. If $500 in ads brings in $1,750 in sales, your ROAS is 3.5, which you may also see written as 3.5x, 3.5:1 or 350%. The formula ignores product and shipping costs, so check it against your break-even ROAS before calling a campaign profitable.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880\",\"position\":2,\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880\",\"name\":\"Is a 2.0 ROAS good?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It depends on your margin. At 50% contribution margin, 2.0 is exactly break-even. At 60% it's profitable, and at 40% you lose money because break-even sits at 2.5. Work out your own break-even ROAS first, then judge any ROAS against it rather than an industry average.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974\",\"position\":3,\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974\",\"name\":\"What's the difference between break-even ROAS and target ROAS?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Break-even ROAS is the point where ads pay for themselves with zero profit left over. Target ROAS is higher: it's the return that leaves the profit you want to keep. Treat break-even as a floor a campaign shouldn't stay under for long, and target as the number you bid toward.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761\",\"position\":4,\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761\",\"name\":\"Should I use gross margin or contribution margin for break-even ROAS?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use contribution margin. Gross margin only subtracts product cost, so it leaves out shipping, payment fees and packaging, which makes your break-even ROAS look lower than it is. In the example above, gross margin suggested 1.54 while the full math gave 2.04.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488\",\"position\":5,\"url\":\"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488\",\"name\":\"How often should I recalculate break-even ROAS?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Recalculate whenever a cost per order changes: new supplier pricing, a shipping rate update, a new payment provider or a change to your free-shipping threshold. If nothing changes, a quarterly check with a ROAS calculator keeps the number honest. Recheck before big sale periods too, since discounts shrink your margin and raise your break-even ROAS.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ROAS Calculator: Find Your Break-Even and Target ROAS","description":"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.","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:\/\/predis.ai\/resources\/roas-calculator\/","og_locale":"en_US","og_type":"article","og_title":"ROAS Calculator: Find Your Break-Even and Target ROAS","og_description":"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.","og_url":"https:\/\/predis.ai\/resources\/roas-calculator\/","og_site_name":"Social Media Marketing, Ads, Videos | Predis.ai Blogs","article_publisher":"https:\/\/www.facebook.com\/predisAI\/","article_published_time":"2026-10-17T09:59:50+00:00","article_modified_time":"2026-11-02T23:48:55+00:00","og_image":[{"width":1024,"height":572,"url":"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2026\/10\/roas-calculator-1024x572.png","type":"image\/png"}],"author":"Tanmay Ratnaparkhe","twitter_card":"summary_large_image","twitter_creator":"@PredisAI","twitter_site":"@PredisAI","twitter_misc":{"Written by":"Tanmay Ratnaparkhe","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#article","isPartOf":{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/"},"author":{"name":"Tanmay Ratnaparkhe","@id":"https:\/\/predis.ai\/resources\/#\/schema\/person\/1d3012532330d3e2547759177fabf636"},"headline":"ROAS Calculator + How to Find Your Break-Even ROAS","datePublished":"2026-10-17T09:59:50+00:00","dateModified":"2026-11-02T23:48:55+00:00","mainEntityOfPage":{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/"},"wordCount":1829,"publisher":{"@id":"https:\/\/predis.ai\/resources\/#organization"},"keywords":["Ads","ROAS"],"articleSection":["Ads"],"inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/","url":"https:\/\/predis.ai\/resources\/roas-calculator\/","name":"ROAS Calculator: Find Your Break-Even and Target ROAS","isPartOf":{"@id":"https:\/\/predis.ai\/resources\/#website"},"datePublished":"2026-10-17T09:59:50+00:00","dateModified":"2026-11-02T23:48:55+00:00","description":"Use this ROAS calculator to get your ROAS, break-even ROAS, target ROAS and break-even CPA in one place, then see which campaigns to scale.","breadcrumb":{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383"},{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880"},{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974"},{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761"},{"@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/predis.ai\/resources\/roas-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/predis.ai\/resources\/"},{"@type":"ListItem","position":2,"name":"ROAS Calculator + How to Find Your Break-Even ROAS"}]},{"@type":"WebSite","@id":"https:\/\/predis.ai\/resources\/#website","url":"https:\/\/predis.ai\/resources\/","name":"Resources | Predis","description":"Create ads, videos with AI and learn more about social media marketing","publisher":{"@id":"https:\/\/predis.ai\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/predis.ai\/resources\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/predis.ai\/resources\/#organization","name":"Predis.ai","url":"https:\/\/predis.ai\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/predis.ai\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2021\/01\/predis_logo.png","contentUrl":"https:\/\/predis.ai\/resources\/wp-content\/uploads\/2021\/01\/predis_logo.png","width":730,"height":256,"caption":"Predis.ai"},"image":{"@id":"https:\/\/predis.ai\/resources\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/predisAI\/","https:\/\/twitter.com\/PredisAI","https:\/\/www.instagram.com\/predis.ai\/","https:\/\/www.linkedin.com\/company\/predis-ai\/about\/"]},{"@type":"Person","@id":"https:\/\/predis.ai\/resources\/#\/schema\/person\/1d3012532330d3e2547759177fabf636","name":"Tanmay Ratnaparkhe","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/predis.ai\/resources\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5aaf1669483b25afa69a1916ebe903c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5aaf1669483b25afa69a1916ebe903c8?s=96&d=mm&r=g","caption":"Tanmay Ratnaparkhe"},"description":"Tanmay, Co-founder of Predis.ai, is a seasoned entrepreneur with a proven track record, having successfully built two companies from the ground up. A tech enthusiast at heart, a recognized SaaS expert, and years of hands-on experience in leveraging technology to fuel marketing success, Tanmay offers invaluable insights on how brands can boost their digital presence, improve productivity, and maximize ROI. Why trust us? Predis.ai is trusted by over a million users and business owners worldwide, including industry leaders who rely on our AI\u2019s output and creativity. Our platform is highly rated across review sites and app stores, a testament to the real world value it delivers. We consistently update our technology and content to ensure you receive the most accurate, up to date, and reliable guidance on leveraging social media for your business.","sameAs":["https:\/\/www.linkedin.com\/in\/tanmay-ratnaparkhe-74395420\/"],"url":"https:\/\/predis.ai\/resources\/author\/prediswpadmin\/"},{"@type":"Question","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383","position":1,"url":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406093383","name":"What is the formula for ROAS?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"ROAS equals revenue from ads divided by ad spend. If $500 in ads brings in $1,750 in sales, your ROAS is 3.5, which you may also see written as 3.5x, 3.5:1 or 350%. The formula ignores product and shipping costs, so check it against your break-even ROAS before calling a campaign profitable.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880","position":2,"url":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406108880","name":"Is a 2.0 ROAS good?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"It depends on your margin. At 50% contribution margin, 2.0 is exactly break-even. At 60% it's profitable, and at 40% you lose money because break-even sits at 2.5. Work out your own break-even ROAS first, then judge any ROAS against it rather than an industry average.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974","position":3,"url":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406142974","name":"What's the difference between break-even ROAS and target ROAS?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Break-even ROAS is the point where ads pay for themselves with zero profit left over. Target ROAS is higher: it's the return that leaves the profit you want to keep. Treat break-even as a floor a campaign shouldn't stay under for long, and target as the number you bid toward.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761","position":4,"url":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406158761","name":"Should I use gross margin or contribution margin for break-even ROAS?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Use contribution margin. Gross margin only subtracts product cost, so it leaves out shipping, payment fees and packaging, which makes your break-even ROAS look lower than it is. In the example above, gross margin suggested 1.54 while the full math gave 2.04.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488","position":5,"url":"https:\/\/predis.ai\/resources\/roas-calculator\/#faq-question-1792406166488","name":"How often should I recalculate break-even ROAS?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Recalculate whenever a cost per order changes: new supplier pricing, a shipping rate update, a new payment provider or a change to your free-shipping threshold. If nothing changes, a quarterly check with a ROAS calculator keeps the number honest. Recheck before big sale periods too, since discounts shrink your margin and raise your break-even ROAS.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/posts\/89985"}],"collection":[{"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/comments?post=89985"}],"version-history":[{"count":20,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/posts\/89985\/revisions"}],"predecessor-version":[{"id":90267,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/posts\/89985\/revisions\/90267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/media\/89988"}],"wp:attachment":[{"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/media?parent=89985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/categories?post=89985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/predis.ai\/resources\/wp-json\/wp\/v2\/tags?post=89985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}