TL;DR
- Break-even ROAS equals 1 divided by gross margin after variable costs: a 40% margin breaks even at a ROAS of 2.5 (250%), a 20% margin needs 5.
- POAS (profit on ad spend) divides gross profit by ad spend, so bidding stops favouring high-revenue, low-margin products; it needs product cost per order.
- Meta's default attribution setting is 7-day click and 1-day view, while Google Ads counts clicks within 30 days by default for most conversion actions, so the two rarely agree.
- Google Ads Target ROAS is entered as a percentage (400% means 4 baht of conversion value per 1 baht of spend) and works as an average, not a floor.
- Brand search and retargeting usually show the highest ROAS but the least incremental revenue; holdout or conversion lift tests measure what the ads actually added.
ROAS (return on ad spend) is the revenue your ads generate divided by what you spent on those ads: ROAS = revenue from ads / ad spend. If a campaign costs 10,000 baht and the platform attributes 40,000 baht of sales to it, ROAS is 4, which Google Ads displays as 400% and many teams write as 4:1 or 4x. The number is easy to calculate and easy to misread, because it measures revenue rather than profit and it depends entirely on which sales the platform chooses to credit to the ad. This guide covers the formula, how ROAS differs from ROI and POAS, how to work out the break-even ROAS for your margins, why Google Ads and Meta report different numbers for the same sales, how Target ROAS bidding works, and when a high ROAS is hiding a problem.
How do you calculate ROAS?
The formula has two inputs:
- Revenue from ads: the conversion value the ad platform attributes to your campaigns. For an online store this is usually order value sent by the purchase tag or by an import from your backend. For lead generation it is a value you assign to each lead or to each closed deal.
- Ad spend: the media cost the platform charged over the same period.
An illustrative example: a store spends 25,000 baht on a Shopping campaign in a month, and Google Ads reports 100,000 baht in conversion value. ROAS = 100,000 / 25,000 = 4, shown in Google Ads as 400% (the column is labelled "Conv. value / cost").
Three decisions change the result before any analysis starts, so write them down and keep them consistent:
- Is revenue gross or net? Decide whether conversion value includes VAT and shipping fees, and whether it is reduced for discounts. A value that includes VAT inflates ROAS against a margin calculated on net sales.
- Are cancellations and returns removed? A purchase tag fires when the order is placed. If a share of orders is later cancelled or returned, platform ROAS stays higher than the cash result unless you send adjustments or import corrected values.
- What counts as spend? Pure media cost gives one ROAS. Adding agency fees, creative production or tool subscriptions gives a lower, more complete one. Neither is wrong, but mixing them across reports is.
How is ROAS different from ROI and POAS?
The three metrics answer different questions, and confusing them is one of the most common reasons a campaign that "looks profitable" loses money.
ROAS
Revenue divided by ad spend. It tells you how much sales value each baht of media produced, according to the platform's attribution. It says nothing about cost of goods, fulfilment or margin.
ROI
Return on investment is profit relative to the full investment: ROI = (profit - investment) / investment, usually expressed as a percentage. For marketing, the profit side should subtract product cost and other variable costs, and the investment side can include fees and production, not only media. A campaign can show a ROAS of 3 and a negative ROI if the product margin is thin.
POAS
POAS (profit on ad spend) replaces revenue with gross profit: POAS = gross profit from ads / ad spend. A POAS above 1 means the ads returned more gross profit than they cost. To optimise toward it, you send profit rather than revenue as the conversion value, which requires product cost data per order, usually from your ERP or store backend. The benefit is that bidding stops favouring high-revenue, low-margin products.
| Metric | Formula | What it tells you |
|---|---|---|
| ROAS | Revenue from ads / ad spend | Sales value per baht of media, as attributed by the platform |
| POAS | Gross profit from ads / ad spend | Whether ads return more gross profit than they cost (above 1) |
| ROI | (Profit - investment) / investment | Whether the whole activity made money after all costs counted |
| Break-even ROAS | 1 / gross margin | The minimum ROAS at which ad spend is covered by gross profit |
How do you calculate break-even ROAS from your margin?
Break-even ROAS is the ROAS at which the gross profit from ad-driven sales exactly covers the ad spend. The formula is:
Break-even ROAS = 1 / gross margin
Gross margin here means (selling price - variable cost per order) / selling price, where variable cost should include product cost and, ideally, the other costs that scale with each order: payment fees, packaging, shipping you absorb, and marketplace commission if the sale happens there.
A worked example with illustrative numbers:
- Average order value: 1,000 baht (excluding VAT).
- Product cost: 500 baht. Payment fee, packaging and subsidised shipping: 100 baht.
- Gross margin after variable costs: (1,000 - 600) / 1,000 = 40%.
- Break-even ROAS: 1 / 0.40 = 2.5, or 250% in Google Ads terms.
At a ROAS of 2.5, every 1,000 baht of ad spend brings 2,500 baht of revenue and 1,000 baht of gross profit, so the ads pay for themselves and nothing more. At a ROAS of 4, the same spend brings 4,000 baht of revenue and 1,600 baht of gross profit, leaving 600 baht after media. At a ROAS of 2, it brings 800 baht of gross profit and loses 200 baht per 1,000 baht spent.
Two refinements matter in practice. First, break-even is a floor, not a goal: fixed costs such as salaries and rent still have to be paid from what is left. Many businesses set their target ROAS above break-even by the amount of contribution they need. Second, the calculation changes by product. A catalogue with a 60% margin product and a 20% margin product has break-even ROAS values of about 1.67 and 5 respectively, which is why a single account-wide ROAS target tends to underfund high-margin items and overfund low-margin ones. Splitting campaigns or product groups by margin band is the usual fix.
First-order break-even also ignores repeat purchases. If new customers typically buy again, a business may accept a first-order ROAS below break-even on purpose. That is a deliberate lifetime-value decision and should be made with actual repeat-purchase data, not assumed.
Why do Google Ads and Meta report different ROAS for the same sales?
Each platform only sees its own ads and credits itself according to its own rules. When a customer clicks a Google ad on Monday, sees a Meta ad on Wednesday and buys on Thursday, both platforms may claim the same order. Adding their reported revenue together will usually exceed what your store actually sold. The differences come from a few mechanics:
Conversion windows
A conversion window is how long after an ad interaction a purchase can still be credited. In Google Ads, the click-through conversion window is set per conversion action and is 30 days by default for most actions, adjustable up to 90 days. Meta uses attribution settings at the ad set level; the default setting is 7-day click and 1-day view, meaning a purchase within seven days of a click, or within one day of seeing an ad without clicking, can be credited.
Click versus view
View-through conversions count a purchase after someone saw an ad but did not click. Meta's default includes 1-day view, so a share of its reported purchases may come from people who scrolled past an ad and bought anyway. Google Ads Search campaigns are measured on clicks; view-through conversions apply mainly to Display and video inventory and are handled in separate columns. Comparing a view-inclusive ROAS with a click-only ROAS is comparing different things.
Attribution model and reporting date
Google Ads uses data-driven attribution by default for most conversion actions, which spreads credit across the ad clicks on the path, and it reports the conversion against the date of the ad interaction rather than the date of purchase by default. That means recent days often look weaker and fill in later as delayed conversions arrive. Meta's modelled and deduplicated counts, especially where browser tracking is limited, add another source of difference.
What to do about it: pick one source of truth for business decisions, usually your store or ERP revenue, and use platform ROAS for optimisation inside each platform. Compare total ad spend with total sales over time (sometimes called blended ROAS or MER) as a sanity check on the sum of platform claims. And when you compare platforms, align settings as far as you can, for example looking at Meta on a 7-day click basis only.
How does Target ROAS bidding work?
Target ROAS (tROAS) is a Smart Bidding setting in Google Ads that tries to get as much conversion value as possible while averaging the return you set. In current Google Ads it is applied as the optional target inside the Maximize conversion value strategy for most campaign types. You enter it as a percentage: 400% means you want 4 baht of conversion value for every 1 baht of spend, on average.
At each auction, the system predicts the probable conversion value of that specific search or impression, using signals such as device, location, time, audience membership and query, and sets a bid that fits the target. It will bid high on auctions it expects to be valuable and low or not at all on others. A few practical consequences follow:
- It needs accurate conversion values. If every purchase is sent with the same value, or values include cancelled orders, the system optimises toward the wrong thing. Target ROAS is only as good as the values you feed it.
- Raising the target usually lowers volume. A higher target makes the system more selective, so spend and conversions tend to fall. Lowering it opens up more auctions at a lower average return. The target controls a trade-off, not a guarantee.
- It is an average, not a floor. Individual days, products and queries will land above and below the target.
- Change it gradually. Large jumps in the target make performance swing while the system recalibrates. Moving in smaller steps and waiting for enough conversions between changes gives cleaner results.
- Budget and target interact. A tight budget combined with a low target can mean the campaign spends its budget on lower-value auctions early. If a campaign is limited by budget and hitting its ROAS target, the target, not the budget, is often the lever to review.
Meta offers a comparable control when a campaign optimises for purchase value: a ROAS goal set on the ad set, which asks the system to aim for that average return. The same rules apply: accurate values first, and expect volume to fall as the goal rises.
Why can a high ROAS be misleading?
ROAS measures attributed revenue, not revenue the ads caused. The gap between the two is incrementality: how many of those sales would have happened without the ad. Several common setups produce a high ROAS with little incremental effect.
Branded search
People searching your brand name already intend to find you. Brand campaigns often show the highest ROAS in the account because they capture that intent, but some of those buyers would have clicked the organic result instead. Brand ads can still be worth running, for example when competitors bid on your name, but their ROAS should not be compared with non-brand campaigns or used to justify overall spend.
Retargeting
Remarketing to cart abandoners and recent visitors targets people who were already close to buying. The attributed ROAS is typically high. Part of that revenue would have arrived anyway through email, direct visits or organic search.
Automated campaigns that mix both
Campaign types that combine prospecting with brand and remarketing inventory can report a strong blended ROAS that is mostly carried by existing demand. Excluding brand terms where the platform allows it, and checking how much of the conversion value comes from returning customers, shows how much is new.
How to test incrementality
- Holdout tests: withhold ads from a random share of an audience, or from a set of comparable regions, and compare sales between the exposed and held-out groups.
- Platform lift studies: both Google and Meta offer conversion lift measurement, subject to eligibility and spend requirements, which compares a test group against a control group the platform holds back.
- Pause tests: switch off a campaign such as brand search for a defined period and watch total sales and organic clicks. This is cheaper but noisier, so run it long enough and avoid holiday periods.
The result of a lift test is usually expressed as incremental ROAS (iROAS): the incremental revenue divided by the spend. Budget decisions based on iROAS tend to move money from brand and retargeting toward prospecting, the opposite of what platform ROAS alone would suggest.
What this means for advertisers in Thailand
Many Thai businesses sell through several channels at once: their own website, marketplaces, LINE chat and social commerce. Ads often drive a customer who then buys on a marketplace or in chat, where the ad platform cannot see the sale, so platform ROAS undercounts in one place while overlapping claims overcount in another. A practical setup is to track website purchases with values that exclude VAT and cancelled orders, record the source of chat and marketplace orders where possible, calculate break-even ROAS per product group using real margins after marketplace commission, and review blended results monthly against total sales in the backend.
ROAS FAQ
What is a good ROAS?
A good ROAS is one above your break-even ROAS, which is 1 divided by your gross margin, plus enough headroom to cover fixed costs. There is no universal good number: a 70% margin product breaks even at about 1.43, while a 20% margin product needs 5.
Is ROAS 400% the same as 4:1?
Yes, a ROAS of 400% means 4 baht of attributed revenue for every 1 baht of ad spend, which is also written as 4:1 or 4x. Google Ads uses the percentage format when you set a Target ROAS.
Should I optimise for ROAS or POAS?
Optimise for POAS if you can send reliable profit per order, because it stops bidding from favouring high-revenue, low-margin products. If product cost data is not available per order, optimise for ROAS but set targets per margin band using break-even ROAS.
Why is my Meta ROAS higher than my Google Ads ROAS?
Meta's ROAS is often higher because its default attribution setting of 7-day click and 1-day view credits purchases from people who only saw an ad, and each platform claims orders the other also claims. Compare the two on similar windows and check the total against your store's actual sales.
If your reported ROAS and your actual sales tell different stories, our Google Ads management team can check conversion values, attribution settings and targets, and Google Shopping campaigns can be split by margin so bidding matches profitability. For Meta, see our Facebook Ads service, and for audiences who have already visited your site, our remarketing service sets up campaigns that can be measured against a holdout.







