The two formulas
Both measure return, but they answer different questions. ROAS asks "how much revenue did this ad spend bring back?" ROI asks "after every cost, did we make a profit, and how big?"
ROAS is a ratio (4x, or sometimes written 400%). ROI is a percentage that can be negative. The difference between them is every cost that is not ad spend: cost of goods, fulfillment, creator commissions, samples, payment fees, and overhead.
ROAS vs ROI at a glance
| Attribute | ROAS | ROI |
|---|---|---|
| What it measures | Revenue returned per dollar of ad spend | Net profit against total cost |
| Formula | Revenue / ad spend | (Net profit / total cost) x 100 |
| Costs included | Ad spend only | Every cost: product, shipping, commissions, fees, overhead |
| Expressed as | A ratio (4x) or percentage (400%) | A percentage that can be negative |
| Answers | Is this ad channel efficient? | Did the whole effort make money? |
| Best for | Optimizing campaigns and bids in-flight | Reporting true profitability to finance |
| Blind spot | Ignores margin, so it can look great while you lose money | Slower to read; needs full cost data to calculate |
A worked example: strong ROAS, negative ROI
Say you spend $1,000 on TikTok ads and drive $4,000 in sales. That is a 4x ROAS, which most teams would call a win. Now account for what it cost to deliver those sales.
| Line item | Amount | Running total |
|---|---|---|
| Revenue from ads | $4,000 | $4,000 |
| Ad spend | -$1,000 | $3,000 |
| Cost of goods (40%) | -$1,600 | $1,400 |
| Fulfillment and shipping | -$600 | $800 |
| Creator commission (15%) | -$600 | $200 |
| Payment and platform fees | -$300 | -$100 |
The 4x ROAS hid a -$100 loss, an ROI of about -10% on the $1,000 spend once true cost is counted. This is the single most common way profitable-looking campaigns quietly bleed money. ROAS told you the ads worked; only ROI told you the business did not.
Want to model your program's real return?
The free Hubfluence campaign budget calculator plans spend, payout, and sample cost so you can see ROI, not just ROAS, before you launch.
When to use ROAS vs ROI
- Use ROAS when you are optimizing ad campaigns in-flight. It updates fast, needs only spend and revenue, and lets you compare creatives, audiences, and channels quickly. Set a break-even ROAS target based on your margin and hold ads to it.
- Use ROI when you are deciding whether a program or channel actually makes money. It is the number to bring to finance and leadership because it counts every cost, not just media.
- Use both together for creator and affiliate programs. ROAS keeps daily optimization honest; ROI confirms the whole program clears margin after commissions, samples, and fulfillment.
Where MER fits in
A third metric, MER (Marketing Efficiency Ratio), is worth knowing because platform-reported ROAS often overstates results through double-counting and view-through attribution. MER is the blended, board-level version.
- ROAS is per-channel. It credits a specific ad or platform, and each platform tends to claim the same sale.
- MER is blended. It divides all revenue by all marketing spend, so it cannot be inflated by overlapping attribution. It is the truest read on whether marketing as a whole is efficient.
- ROI is the profit view. MER still ignores non-marketing costs; ROI is the one that lands on net profit.
ROAS and ROI in creator and affiliate programs
Affiliate programs change the math in a useful way: commission is a variable cost you only pay on a sale, so the downside is capped. But it still has to be counted, and it is exactly the cost a raw ROAS number leaves out.
- Affiliate ROAS is usually strong because you are not paying for impressions, only results. But the real test is program ROI after commission, samples, and fulfillment.
- Samples are a real cost. Product seeded to creators who never post belongs in the ROI calculation, even though it never shows up in a channel ROAS.
- Halo revenue improves ROI. When creator content lifts sales on other channels like Amazon, that revenue belongs in the program's true return even though no single ad ROAS captures it.
