TL;DR
- ROI formula: (profit - cost) / cost x 100. In a hypothetical store spending 100,000 baht for 200,000 baht gross profit, ROI is 100%, not the 300% you get by using 400,000 baht revenue.
- Marketing ROI must count media, agency fees, team time, content, tools, discounts and marketplace fees; leaving out 50,000 baht of non-media cost in the B2B example doubles ROI from 100% to 200%.
- ROAS is revenue divided by ad spend and ignores product cost: at a 40% gross margin, break-even ROAS is 2.5, so a campaign at ROAS 2 still loses money.
- SEO ROI should be measured cumulatively over 6 to 12 months; in a hypothetical 50,000 baht a month plan, ROI is deeply negative at month 6 and reaches +5% at month 12.
- GA4 uses data-driven attribution by default, and summing Google Ads and Meta conversions usually exceeds real sales, so business-level ROI should use one source of truth.
ROI is return on investment: how much profit each baht you spend brings back. You calculate it as (profit from the investment minus the cost of the investment) divided by the cost of the investment, multiplied by 100 to get a percentage. An ROI of 50% means you put in 100 baht, got the 100 baht back and made another 50 baht on top. A negative ROI means you lost money.
That sounds simple, but marketing ROI goes wrong easily. People plug in revenue instead of profit, forget agency fees and team time, or count the same sale twice because two ad platforms both claim it. This guide covers the ROI formula with hypothetical worked examples, the costs you need to include, how ROI differs from ROAS and ROE, how to measure ROI for SEO and content that pay off slowly, and how attribution changes the number in your reports.
What ROI is and why marketers need to think in it
ROI is a financial metric that compares very different investments in one unit: profit as a percentage of the money put in. Buying a machine, opening a new branch and running an ad campaign can all be judged the same way. That is why finance teams and executives like ROI. It puts the marketing budget side by side with every other investment the company could make.
For marketers, ROI answers the question executives ask most often: "Did the money we gave marketing come back as profit?" Other metrics such as clicks, leads or ROAS answer only part of that question, because they do not deduct the cost of goods or other expenses. Of the common marketing metrics, ROI is the one closest to the real profit of the business.
ROI has limits. It says nothing about time. A 100% ROI earned in one month and a 100% ROI that takes two years are not worth the same. It also says nothing about scale. A 1,000 baht test with a 300% ROI can produce less profit than a 1 million baht investment with a 40% ROI. Read ROI alongside the payback period and the absolute profit in baht.
The ROI formula with hypothetical worked examples
The basic formula
The standard ROI formula is:
ROI (%) = (return - cost of investment) / cost of investment x 100
In marketing, "return" should mean the gross profit or contribution margin the campaign generated, not total revenue. Revenue has not yet had product cost, shipping, payment fees and discounts taken out. If you use revenue in place of profit, ROI will always look better than it is.
Example 1: an online store (hypothetical numbers)
Suppose an online store spends 100,000 baht on ads in one month and the campaign produces 400,000 baht in sales, excluding VAT. Product cost, packing and shipping together come to 200,000 baht, leaving 200,000 baht of gross profit.
- ROI calculated correctly = (200,000 - 100,000) / 100,000 x 100 = 100%
- ROI calculated wrongly with revenue = (400,000 - 100,000) / 100,000 x 100 = 300%
The two numbers differ by a factor of three for the same campaign. If management raises the budget based on the 300% figure, it will expect profit that does not exist.
Example 2: a B2B business that sells through leads (hypothetical numbers)
A hypothetical B2B company invests 150,000 baht in a new-customer campaign: 100,000 baht in media, 30,000 baht in agency fees and an estimated 20,000 baht of sales and marketing staff time. The campaign brings in 50 leads and closes 5 of them. Each customer generates an average gross profit of 60,000 baht, for a total of 300,000 baht.
- ROI = (300,000 - 150,000) / 150,000 x 100 = 100%
- Counting only the 100,000 baht of media gives an ROI of 200%, which is overstated because 50,000 baht of cost is missing.
This example raises a second point. B2B sales often take months to turn a lead into a customer. If you calculate ROI at the end of the first month, no deal may have closed yet, and ROI will look negative while the campaign is still working.
How to calculate marketing ROI: the costs you must count
Reliable marketing ROI depends on counting every cost, because cost is the divisor in the formula. If the divisor is too small, ROI is inflated along with it. These are the costs most often left out:
- Media. The money paid directly to ad platforms such as Google Ads, Meta, TikTok or LINE. Everyone counts this already, but check whether invoice taxes are included so it matches how you treat revenue.
- Agency or freelancer fees. Monthly management fees, setup fees and consulting.
- Internal team time. Staff time spent on the campaign is a real cost even without an invoice. A simple method is share of time multiplied by salary.
- Content production. Photography, video, graphics, copywriting and translation.
- Tools. SEO software, email platforms, CRM or landing-page tools. If a tool is shared with other work, allocate a share.
- Discounts and promotions. Coupons or free gifts used in the campaign. Either deduct them from revenue or add them to cost, but never both.
- Platform fees. For stores selling on marketplaces, commissions and payment fees take part of the margin.
Revenue needs the same care. Use figures after returns and cancellations, and exclude VAT, because VAT (7% at the time of writing) is not the business's money. If you have data showing customers come back to buy again, some teams use customer lifetime value instead of first-purchase profit. That is valid, but write down clearly what assumptions you used.
The other big question is which sales the campaign actually caused. Some customers would have bought anyway without seeing an ad, for example people searching for your brand name directly. Counting all of those as campaign results inflates ROI. The idea of measuring only the sales that marketing added is called incrementality. Split tests, such as switching ads off in some regions and comparing sales, are one way to estimate it.
ROI vs ROAS vs ROE
These three get used interchangeably, but they measure different things. The table below sets out the formula and what each one tells you.
| Metric | Formula | What it tells you |
|---|---|---|
| ROI (Return on Investment) | (profit from the investment - total cost of the investment) / cost of the investment x 100 | How much net profit the whole investment produced after every type of cost |
| ROAS (Return on Ad Spend) | revenue from ads / ad spend | How many baht of sales each 1 baht of ad spend produced, before product cost and other expenses |
| ROE (Return on Equity) | net income / shareholders' equity x 100 | How well the whole company turns shareholders' money into profit. A financial-statement metric, not a campaign metric |
ROAS suits day-to-day campaign management, because platforms like Google Ads show conversion value against ad spend right away, and you can set a Target ROAS for automated bidding. But a high ROAS does not mean profit. If a product has a 40% gross margin, the break-even ROAS on media alone is 2.5 (1 divided by 0.40). A campaign running at ROAS 2 is still losing money. ROE belongs to investors and the finance team and has almost nothing to do with campaign-level decisions.
What a negative ROI means and what counts as a good ROI
A negative ROI means the profit that came back is less than the money that went in. An ROI of 0% is exact break-even, and -100% means you lost everything and got nothing back. A short-term negative ROI does not always mean you should stop. Common cases include:
- A new-customer campaign that loses money on the first purchase, but customers come back and buy enough to make it pay over time.
- Slow channels such as SEO and content, where costs arrive months before results.
- Campaigns still in the learning period of automated bidding, where results have not settled.
The risk is using these reasons as excuses without data. If you claim customers buy again, you need real repeat-purchase data from your back-end system, not a guess.
As for what a good ROI is, there is no single number that applies to every business. It depends on three things. First, the cost of capital: if the business borrowed to invest, or has a safer alternative with a known return, marketing ROI has to beat that. Second, risk and timing: a fast, steady ROI is better than the same ROI with big swings. Third, business goals: a company focused on fast growth may accept a lower ROI in exchange for market share. In practice, agree a minimum acceptable ROI with your finance team and use that as the bar.
How to measure ROI for SEO and content that pay off slowly
SEO and content behave differently from pay-per-click ads. When you stop paying for ads, the traffic stops. A page that already ranks keeps pulling visitors for a long time, while most of the cost is spent early. Measuring SEO ROI month by month the same way as ads makes it look bad in the early months every time.
A more sensible approach is cumulative measurement over a long enough window, such as 12 months. Take this hypothetical example. A business invests 50,000 baht a month in SEO and content. In the first 3 months there are almost no sales from organic search. In months 4 to 6, the channel produces 30,000 baht of gross profit a month, and in months 7 to 12 that rises to 90,000 baht a month.
- Total cost over 12 months = 600,000 baht
- Cumulative gross profit = (30,000 x 3) + (90,000 x 6) = 630,000 baht
- Cumulative 12-month ROI = (630,000 - 600,000) / 600,000 x 100 = 5%
Stop at month 6 and cumulative ROI is deeply negative. If the pages keep their rankings into year two with a smaller maintenance budget, ROI rises a lot. These numbers are a hypothetical illustration of the pattern only. Real results depend on competition, site quality and many other factors.
Practical tips for measuring SEO ROI:
- Set up conversions in GA4 before the work starts, so you can separate sales or leads that come from organic search.
- Look at both conversions where organic was the last channel and conversions where organic assisted along the path, because informational content is often read long before the purchase decision.
- Separate branded searches from generic ones. Most brand-name traffic is not the result of SEO work.
- Some teams estimate what the same traffic would have cost to buy through ads. This works as an indirect indicator, but it is not real profit, so it should not go straight into the ROI formula.
How attribution affects ROI
Attribution is the set of rules that decides which channel gets credit for a sale. One customer might watch a video ad, search on Google, read an article on your site, then come back and buy after a remarketing ad. Who gets the sale? Different answers produce very different ROI per channel, even though total sales are the same.
Three problems come up often. The first is double counting. Each ad platform counts conversions with its own data and time window. Add the Google Ads and Meta figures together and the total is usually higher than real sales in your back-end system. The second is different conversion windows. One system may count purchases within 30 days of a click, another within 7, so the numbers cannot be compared directly. The third is the model you choose. GA4 uses data-driven attribution by default and offers last click for comparison. Channels that work early in the decision, such as video or content, usually get less credit under last click.
To reduce the error, use one source of truth for total sales, such as your back-end system or a properly configured GA4 setup, and use each platform's numbers only for managing campaigns inside that platform. Business-level ROI should be total gross profit minus total marketing cost, divided by total marketing cost, and that figure does not change whichever attribution model you pick.
Remarketing is a clear case where attribution matters. The audience has already visited your site, and many would have come back to buy anyway. Remarketing campaigns therefore often report a higher ROI than the extra sales they really create. The straightforward check is a test with a control group that does not see the ads, then a comparison of purchase rates between the two groups.
Steps to set up ROI measurement that works
- Agree the profit definition with accounting: gross profit, contribution margin or customer lifetime value, and figures before or after VAT.
- Install complete conversion tracking: purchases, form submissions, calls and chats, with values on the conversions that carry real value.
- Import offline sales: for businesses that close deals off the website, for example through a sales team, sending sales data back into Google Ads lets the bidding system learn from real sales instead of leads.
- Collect every type of cost in one place, not just media.
- Set a measurement window that fits the sales cycle: monthly for e-commerce, quarterly or yearly for B2B and SEO.
- Review on a schedule and record your assumptions each time you change the method, so numbers stay comparable over time.
For search campaigns, setting conversion values to reflect profit instead of revenue helps Google Ads bid toward high-margin products, not just expensive ones. That puts ROI thinking straight into the bidding system.
Mistakes that distort ROI
- Using revenue instead of profit, which inflates ROI several times over.
- Counting only media, and leaving out agency fees, team time and content production.
- Adding up conversions from several platforms until the total exceeds real sales.
- Measuring too early for businesses with long sales cycles or slow channels.
- Not deducting returns, cancelled orders and discounts.
- Crediting all brand-name search sales to the campaign.
What this means for Thai marketers
The logic of ROI is the same everywhere, but the way selling works in Thailand makes measurement harder in several places, and it is worth planning for from the start.
First, a lot of selling happens in chat, through LINE Official Account or Messenger. A customer clicks an ad, starts a chat and transfers money later. The ad system sees the chat but not the transfer. Without a way to link sales back, such as campaign-specific promo codes or recording the customer's source in a CRM, ROI can only be estimated roughly.
Second, stores that sell through marketplaces such as Shopee and Lazada often have sales driven by off-platform ads, while the purchase data sits inside the marketplace. Measuring ROI means including the marketplace fees in cost and accepting that the data link will not be complete.
Third, businesses that use cash on delivery need to deduct refused or returned orders from revenue, or reported sales will be higher than the money actually received. Finally, prices shown in Thailand usually include 7% VAT, so take VAT out before calculating.
The practical takeaway: do not rely on ROAS from ad platforms alone. Reconcile it against real money received at least once a month.
Frequently asked questions about ROI
What is ROI, in the shortest possible terms?
ROI is the profit you get back as a percentage of the money you invested, calculated as (return - cost) / cost x 100. An ROI of 100% means you got the whole investment back plus a profit equal to what you put in.
Which is better, ROI or ROAS?
Use both, for different jobs. ROAS suits daily campaign optimisation because you can see it instantly in the platform, while ROI suits budget decisions and executive reporting because it deducts every cost and tells you whether the business really made a profit.
Should you stop a campaign the moment ROI turns negative?
Not necessarily, if you have evidence that results will follow, such as real repeat-purchase data for new customers or a campaign still in its learning period. If ROI stays negative after a normal sales cycle and there is no data to support waiting, adjust or cut the budget.
Over what time frame should you measure SEO ROI?
Measure it cumulatively over at least 6 to 12 months, because SEO costs come before results and pages that rank keep generating traffic. Monthly measurement in the early period makes ROI look more negative than it really is.
Summary
Good ROI starts with an honest definition: profit instead of revenue, every cost counted, a time window that matches the sales cycle, and an understanding of how attribution moves each channel's numbers. With those four in place, ROI becomes a budget tool that executives can trust.
If you want a measurement setup that connects real sales to your campaigns, from GA4 configuration to managing Google Ads and SEO, the Relevant Audience team can review your current setup and help plan ROI measurement that fits your business.







