Skip to content
Back to the blog

What is ROAS? The formula, a calculator you can copy, and ROAS vs ROI

David Grelle on

What is ROAS? The formula, a calculator you can copy, and ROAS vs ROI

Someone on your team says "Meta is doing a 4 ROAS this week" and everyone nods. But what is ROAS, really? Is 4 good? Is it good enough to spend more? And why does Meta say 4, your agency's report say 2.9, and your bank account feel more like 2?

ROAS is the most quoted number in ecommerce advertising and one of the most misunderstood. This guide covers all of it in one place: what ROAS means, the ROAS formula and how to calculate it correctly, a ROAS calculator you can build in a spreadsheet, how to work out the ROAS your store actually needs, and how ROAS differs from ROI.

What is ROAS? The short definition

ROAS stands for return on ad spend. It tells you how much revenue your ads brought in for every dollar you spent on them.

If you spend $1,000 on ads and those ads bring in $4,000 in sales, your ROAS is 4. People write that a few ways, and they all mean the same thing:

  • 4 or 4.0
  • 4x ("four times")
  • 4:1 ("four to one")
  • 400%

So when someone says "a 4 ROAS", they mean every $1 of ad spend came back as $4 of revenue.

ROAS meaning: what the number is actually telling you

The definition sounds simple, but notice what ROAS measures and what it doesn't.

ROAS measures revenue, not profit. That $4,000 is what customers paid. It doesn't subtract what the products cost you, the shipping, the payment fees, the discounts or the refunds. A store selling $4 of product for every $1 of ads can still lose money if its products are expensive to make.

ROAS measures what got credited to the ads. The "revenue" part isn't a raw fact like your Shopify total. It's whatever revenue someone decided the ads earned. That decision is called attribution: the rules for giving credit for a sale to the ad, email or visit that led to it. Change the rules and the same ads get a different ROAS.

ROAS is a ratio, not an amount. A campaign with a 10 ROAS on $50 of spend made you $500. A campaign with a 3 ROAS on $20,000 of spend made you $60,000. The higher ratio isn't automatically the better campaign.

Keep those three points in mind and most of the confusion around ROAS disappears.

The ROAS formula

ROAS = revenue from ads ÷ ad spend

If your ads cost $2,500 and brought in $10,000 in sales:

$10,000 ÷ $2,500 = 4

To show ROAS as a percentage, multiply by 100. A ROAS of 4 is 400%, and a ROAS of 3 is 300%.

The formula is one line of arithmetic. The reason three people get three different answers from it is what they plug in. So let's go through the calculation properly.

How to calculate ROAS, step by step

Step 1: Pick the time period

Choose the window you're measuring, like last week or last month, and use the same window for both revenue and spend. Mixing a month of revenue with three weeks of spend is one of the easiest ways to get a wrong number.

Short windows are noisy. A single big order can swing a small campaign's ROAS wildly in one day. A week or longer usually gives you something you can act on.

Step 2: Pick what you're measuring

You can calculate ROAS at any level:

  • Whole business: all ad spend against all store revenue
  • Channel: Meta, TikTok, Google
  • Campaign: one campaign inside a channel
  • Ad set or ad: one audience or one creative

The lower you go, the more useful the number is for decisions, and the more it depends on good tracking.

Step 3: Add up the ad spend

Ad spend is what you paid the platform for the ads in that period and at that level. Take it from the ad platform's billing or reporting, since that's the source of truth for what you were charged.

Decide upfront whether you include anything beyond the media itself, like agency fees or creative production. Either is fine, but it's a different number, so be consistent and label it.

Step 4: Add up the revenue credited to those ads

This is the hard step, and it decides your answer more than anything else. It gets its own section below.

Step 5: Divide

Revenue ÷ spend. Round to one or two decimals. A ROAS of 3.47 and a ROAS of 3.5 lead to the same decision.

Which revenue goes into the ROAS formula

Attributed revenue vs total revenue (attributed vs blended ROAS)

Attributed revenue is revenue credited to a specific channel, campaign or ad by an attribution model, which is just the rule for splitting credit: give it all to the last ad clicked, all to the first, split it evenly, and so on. ROAS built on it is attributed ROAS. It answers "which of my ads is working?", and its accuracy depends entirely on the rules and the tracking behind it.

Total revenue is everything your store took in the period, wherever it came from. Divide it by all your ad spend and you get blended ROAS, sometimes called MER (marketing efficiency ratio):

Blended ROAS = total store revenue ÷ total ad spend

If you took $60,000 last month and spent $15,000 on ads, your blended ROAS is 4. It can't be double counted, because there's only one revenue number: what actually landed in your store. But it can't tell you which campaign to pause, because organic sales, repeat customers and word of mouth are all in there too.

The healthy habit is to use both. Blended ROAS keeps you honest about the whole business. Attributed ROAS tells you where to move money, as long as each sale is credited once.

Whose attribution: the platform's or yours

Every ad platform reports its own ROAS inside its own dashboard. Each one counts the sales it believes its ads caused, with its own windows and rules. The problem is that each platform grades its own homework, and none of them can see the others.

Imagine Sarah. She sees your candle ad on TikTok on Monday, clicks a Meta ad on Wednesday, and buys on Friday after opening one of your emails. That's one $60 order. But TikTok may count it because she saw its ad, Meta may count it because she clicked its ad, and your email tool may count it too. Add their reports together and your store "made" $180 from a $60 sale.

That's why the revenue claimed across all your ad platforms is often bigger than the revenue your store actually took, and why each platform's ROAS looks better than it really is. We cover how platforms decide what to claim in the pros and cons of last-click attribution .

Platforms also miss sales they should have counted. Ad blockers, browser privacy features and shoppers closing the tab before the thank-you page loads can stop a sale from ever reaching the platform. So platform ROAS can be inflated by double counting and deflated by missed tracking at the same time, and you can't tell which effect wins just by looking at it. Recording purchases on a server instead of only in the shopper's browser closes much of the tracking gap, as we explain in server-side tracking for Shopify .

Using one attribution model across every channel fixes the double counting. Each order's revenue is split once across the touchpoints that led to it, so attributed revenue across channels adds up to your real store revenue. For the different ways to split it, see what is multi-touch attribution and the U-shaped model .

Gross or net revenue

Decide whether revenue is before or after discounts and refunds:

  • Gross revenue: the value of the products sold, before discounts and refunds
  • Net revenue: after discounts and refunds are taken off

Tax you collect isn't your money, so most stores leave it out. Shipping charged to the customer is a judgment call; just be consistent.

Refunds matter more than people expect. A campaign that brings in lots of orders that get returned has a great gross ROAS and a much worse net one. Some teams call the net version net ROAS.

The same campaign, five different ROAS numbers

A made-up skincare store spent $4,000 on a Meta campaign last month. Here's what the ROAS calculation gives depending on the inputs:

Revenue used

Revenue

ROAS

Meta's own reported revenue

$16,000

4.0

Last touch, store's own tracking

$12,400

3.1

Linear (credit split evenly across visits)

$10,800

2.7

Linear, after refunds and discounts

$9,200

2.3

Linear, new customers only

$5,600

1.4

Every row is "correct". They answer different questions. The top row is Meta's view of its own impact. The bottom row tells you how efficiently this campaign wins new customers after refunds. If you only ever look at the top row, you'll overspend.

The rule: pick one definition, write it down, and never compare ROAS numbers built on different inputs.

What is a good ROAS? Start with break-even

There's no universal good number. A ROAS that makes one store rich bankrupts another, because what counts as good depends on your margins.

What you can work out is your break-even ROAS: the ROAS at which ad-driven orders pay for their own costs plus the ads, with zero profit left over. Below it, every order from ads loses money. Above it, ads add profit.

The calculation uses your contribution margin: the share of each sale left after the costs of making and delivering that order (product cost, shipping, payment fees, discounts and refunds), before ad spend.

Break-even ROAS = 1 ÷ contribution margin

Store

Contribution margin

Break-even ROAS

Candles

60%

1.67

Apparel

40%

2.5

Electronics

20%

5.0

The candle store makes money at a 2 ROAS. The electronics store loses money at a 4 ROAS. Same metric, opposite conclusions.

A few more things change what "good" means for you:

  • Repeat purchases. If customers you win with ads come back and buy again, a first order at break-even can still be very profitable over time. We explain how to put a number on that in how to calculate your customer lifetime value .
  • New vs returning customers. Ads that mostly reach people who already buy from you show a high ROAS without growing the business.
  • Growth vs profit. A brand pushing for growth may accept a lower ROAS to win more customers. A brand focused on cash flow will want a higher one.

A ROAS calculator you can build in a spreadsheet

Most online ROAS calculators only divide revenue by spend. The questions you actually have are harder: what ROAS do I need to break even, what should my target be, and how much can I spend? Here are the five numbers that answer them, with one made-up coffee brand running through every example.

1. Current ROAS

The coffee brand spent $3,000 on ads last week, and those ads brought in $10,500.

$10,500 ÷ $3,000 = 3.5, or 350%.

That doesn't tell you whether it made money. For that you need its margin.

2. Break-even ROAS

Here's the contribution on an average $50 order:

Line

Amount

Order value

$50.00

Discounts and refunds

−$4.00

Cost of goods (beans, bags)

−$14.00

Shipping

−$7.00

Payment and transaction fees

−$2.00

Contribution

$23.00

Contribution margin = $23 ÷ $50 = 46%

Break-even ROAS = 1 ÷ 0.46 = 2.17

Why it works: at a 2.17 ROAS, $1 of ads brings in $2.17 of revenue. 46% of $2.17 is $1.00 of contribution, which exactly pays back the $1 of ads. So at 3.5, the coffee brand is comfortably above break-even.

3. Target ROAS for a profit goal

Break-even isn't the goal. Target ROAS is the ROAS you need for ads to leave a set share of revenue as profit.

Target ROAS = 1 ÷ (contribution margin − target profit margin)

If the coffee brand wants 15% of ad-driven revenue left as profit after ads:

1 ÷ (0.46 − 0.15) = 1 ÷ 0.31 = 3.23

Check it: at 3.23, $1 of ads brings $3.23 of revenue. Contribution is 46% of that, $1.49. Subtract the $1 of ads and you keep $0.49, which is 15% of $3.23.

This is the starting point for automated bidding too. Google Ads calls its bid strategy "Target ROAS", and Meta has a "ROAS goal" bid strategy. Those platforms measure ROAS with their own attribution, which usually reports higher than a de-duplicated view, so the target you set inside a platform may need to be higher than your spreadsheet says.

4. Revenue needed at a given spend

You've committed $8,000 to ads next month. What revenue do you need?

Revenue needed = ad spend × target ROAS

$8,000 × 3.23 = $25,840 to hit the profit goal. Below $8,000 × 2.17 = $17,360, those orders lose money.

5. Max spend for a profit goal

Flip it around. You want ads to produce $5,000 of profit next month, and you expect to hold a 3.5 ROAS.

Profit per ad dollar = (ROAS × contribution margin) − 1

(3.5 × 0.46) − 1 = $0.61 per ad dollar.

Spend needed = profit goal ÷ profit per ad dollar

$5,000 ÷ 0.61 = about $8,200 of ad spend.

One caveat: ROAS usually falls as you spend more, because you run out of the easiest customers to reach first. Treat this as a ceiling to test toward, not a promise.

The spreadsheet layout

Copy this into Google Sheets or Excel. Put labels in column A and values in column B. Fill in the inputs (B2 to B9) and everything else calculates.

Cell

Label

Value or formula

B2

Ad spend

3000

B3

Revenue from ads

10500

B4

Average order value

50

B5

Discounts and refunds per order

4

B6

Cost of goods per order

14

B7

Shipping per order

7

B8

Fees per order

2

B9

Target profit margin

0.15

B11

Current ROAS

=B3/B2

B12

Contribution margin

=(B4-B5-B6-B7-B8)/B4

B13

Break-even ROAS

=1/B12

B14

Target ROAS

=1/(B12-B9)

B15

Profit from ads

=B3*B12-B2

B16

Revenue needed at this spend

=B2*B14

B17

Profit per ad dollar

=B11*B12-1

B18

Orders from ads

=B3/B4

B19

CPA (cost per order)

=B2/B18

B20

Break-even CPA

=B4*B12

With the coffee numbers you should see a current ROAS of 3.5, a contribution margin of 46%, break-even ROAS of 2.17, target ROAS of 3.23 and profit from ads of $1,830.

The last rows are worth knowing. CPA (cost per acquisition) is ad spend divided by orders: $3,000 ÷ 210 orders, about $14.29. Break-even CPA is the most you can pay in ads for one order without losing money: order value times contribution margin, so $23.

Add one row per channel or campaign to compare them side by side. Keep the cost lines the same for every row unless the products really differ.

Why the inputs matter more than the calculator

A made-up apparel store runs Meta and TikTok at a 40% contribution margin, so break-even ROAS is 2.5.

Channel

Spend

Platform revenue

Platform ROAS

De-duplicated revenue

Real ROAS

Profit from ads

Meta

$10,000

$36,000

3.6

$28,000

2.8

$1,200

TikTok

$4,000

$14,000

3.5

$9,000

2.25

−$400

On platform numbers, both channels look similar and healthy. Once each order is credited once, TikTok is below break-even and losing money while Meta is profitable. (Profit from ads here is de-duplicated revenue × 0.40 − spend.) The math was identical in both versions. The inputs decided the answer.

ROAS vs ROI: what each one tells you

Your media buyer says the campaign is crushing it at a 4x ROAS. Your accountant says marketing lost money last quarter. They can both be right, because they're measuring different things.

  • ROAS tells you how much revenue your ads brought in for each dollar spent on them. It answers "are these ads bringing in sales?"
  • ROI (return on investment) tells you how much profit you made for each dollar you put in, after all the relevant costs. It answers "is this actually making us money?"

ROI = (gain − cost) ÷ cost

For a campaign, "gain" is the profit it generated before counting the ads, and "cost" is what you spent to run it. ROI is usually shown as a percentage, and unlike ROAS it can be negative.

A 4x ROAS that loses money

  • Ad spend: $2,000
  • Revenue from ads: $8,000
  • Product cost: $4,000
  • Shipping and packaging: $1,200
  • Payment fees: $250
  • Discounts and refunds: $800

Profit before ads: $8,000 − $4,000 − $1,200 − $250 − $800 = $1,750.

ROI = ($1,750 − $2,000) ÷ $2,000 = −12.5%

A 4x ROAS, and the campaign lost $250. The ads drove plenty of sales, but each sale kept only about 22% of its revenue after costs, which wasn't enough to cover the ad bill. A store selling high-margin products could run a 2 ROAS and earn a healthy positive ROI, because it keeps most of each sale.

ROAS vs ROI side by side

ROAS

ROI

Measures

Revenue per ad dollar

Profit per dollar invested

Formula

Revenue ÷ ad spend

(Gain − cost) ÷ cost

Includes product, shipping, fee costs

No

Yes

Usually written as

4x, or 400%

25%, or −12.5%

Can be negative

No

Yes

Where you'll see it

Every ad platform

Your own calculations

Best for

Comparing ads and campaigns day to day

Deciding whether marketing makes money

How to convert ROAS to ROI

If you know your contribution margin, any ROAS turns into an ROI:

ROI = (ROAS × contribution margin) − 1

In the example, the margin is $1,750 ÷ $8,000, about 22%. So ROI = (4 × 0.21875) − 1 = −0.125, or −12.5%. Same answer. Set ROI to zero and solve, and you get break-even ROAS again: 1 ÷ 0.22, about 4.6.

When to use which

Use ROAS for day-to-day ad decisions: comparing ads and campaigns that sell similar products, shifting budget this week, spotting a campaign that suddenly stopped converting. Always judge it against your break-even ROAS, not a number from a forum.

Use ROI for "is this worth it?" decisions: is paid social making the business money, should the monthly budget go up, is this agency or tool paying for itself. Include every relevant cost, and for a full program ROI you might add agency fees or creative production, as long as you're consistent.

Or track POAS, profit on ad spend. It's the same shape as ROAS, but with profit before ads in place of revenue. A POAS above 1 means the ads made money. It's a handy middle ground: ROAS's simplicity with ROI's honesty.

One more thing: ROI on a campaign usually looks at the first order only. If customers come back and buy again, a negative first-order ROI can still pay off over months, because repeat orders don't need another ad. Check that they really return, using your customer retention rate and customer lifetime value, before you count on future orders to rescue today's numbers.

Related formulas worth knowing

  • CPA = ad spend ÷ number of orders. Spend $4,000, get 100 orders, and your CPA is $40.
  • ROAS = average order value ÷ CPA. An $80 average order at a $40 CPA is a 2 ROAS. This is why CPA and ROAS always move together.
  • ACOS (advertising cost of sale) = ad spend ÷ revenue × 100. ROAS flipped upside down, as a percentage, common in Amazon advertising. A 4 ROAS equals a 25% ACOS.
  • POAS = profit from ads ÷ ad spend.
  • Break-even ROAS = 1 ÷ contribution margin.

Common ROAS mistakes

Judging a campaign on ROAS alone. A tiny campaign with a 12 ROAS might be finding your existing fans. A big one with a 3 ROAS might be bringing in most of your new customers. Look at the revenue and spend amounts too, not only the ratio.

Adding platform revenue together. Because platforms double count, summing their claims gives you more revenue than your store took, and your calculator then says you're profitable when you aren't.

Mismatched date ranges or attribution rules. Revenue from one window and spend from another, or a Meta-reported ROAS next to a last-touch ROAS from your analytics tool. Only compare numbers calculated the same way.

Calling ROAS "ROI". "Our ROI on Meta is 300%" usually means a ROAS of 3, which might be losing money. The related mistake is plugging revenue into the ROI formula, which just gives you ROAS minus 1 and makes every campaign look wonderful.

Guessing your margin. At a 40% margin, break-even ROAS is 2.5. At 30%, it's 3.33. A margin that's 10 points too optimistic moves the line a lot, so use real cost data.

Ignoring refunds and discounts. They come straight out of revenue and contribution. A campaign full of returned orders looks great on gross revenue.

Missing spend. If a channel shows revenue but its ad account isn't connected, there's no spend to divide by, so its ROAS looks infinite. That's not a great channel. It's missing data.

Ignoring lost tracking. If browser tracking misses purchases, attributed revenue and ROAS both come in low.

Checklist: ROAS you can trust

  1. Work out your contribution margin from your real costs, not a guess.
  2. Calculate break-even ROAS (1 ÷ margin) and target ROAS (1 ÷ (margin − profit goal)).
  3. Use the same date range for revenue and spend, and take spend from the ad platforms.
  4. Use one attribution model across all channels, where each order is credited once.
  5. Decide gross or net revenue and stick with it.
  6. Connect every ad account, so no channel has missing spend.
  7. Track blended ROAS weekly to sanity-check the channel totals.
  8. Check new-customer revenue and profit, not just ROAS, before scaling a campaign.

How Soran handles it

Soran's attribution report showing ROAS by channel group

ROAS by channel group in Soran, on a demo store. Channels without connected ad spend show a dash instead of a flattering number.

Soran does the ROAS calculation for you per channel, campaign, ad set and ad, with each order's credit split once across the visits that led to it. That means attributed revenue adds up to what your store actually took, not the sum of every platform's claims. You can switch attribution models and every ROAS in the report updates, which shows you how much your numbers depend on the rules.

Spend is pulled from Meta and TikTok and matched to the exact ad behind each order through tracking parameters on your ad links, and purchases are recorded server-side so ad blockers and closed tabs don't drop them. If a channel shows revenue but no spend, Soran flags it as a probable unconnected ad account instead of showing a flattering ROAS. On the cost side, revenue steps down through discounts and refunds, cost of goods, shipping and transaction fees to contribution margin, so you can judge ROAS against what you actually kept, and customer profiles separate repeat revenue from first purchases.

FAQ

What does ROAS stand for?
Return on ad spend. It's the revenue your ads generated divided by what you spent on them.

What is the formula for ROAS?
ROAS = revenue from ads ÷ ad spend. If $1,000 of ads brought in $5,000 of revenue, your ROAS is 5.

How do I calculate ROAS as a percentage?
Divide revenue by ad spend and multiply by 100. A ROAS of 3 is 300%. A ROAS of 4, 4x, 4:1 and 400% all mean the same thing.

Is a 2 ROAS good?
It depends on your margins. If your contribution margin is above 50%, a 2 ROAS is profitable. Below 50%, it loses money on those orders. Calculate your break-even ROAS to know for sure.

How do I calculate break-even ROAS?
Divide 1 by your contribution margin. With a 40% margin, break-even ROAS is 2.5.

What ROAS should I set as my target?
Use 1 ÷ (contribution margin − the profit margin you want). With a 46% contribution margin and a 15% profit goal, that's about 3.23. Inside an ad platform you may need to set it higher, because platforms usually report more revenue than a de-duplicated view.

Can I use this ROAS calculator in Google Sheets?
Yes. Type each label from the spreadsheet table into column A and each value or formula into column B, on the row shown. The formulas work the same in Google Sheets and Excel.

Why does my ROAS not match Meta's?
Meta counts the sales it believes its ads influenced, under its own rules and windows, even if another platform also claims them. Your own calculation likely uses different rules or net revenue. Neither is wrong, but don't compare them directly.

Is ROAS the same as ROI?
No. ROAS is revenue per ad dollar. ROI is profit per dollar invested, after costs. A campaign can have a strong ROAS and a negative ROI if your margins are thin.

How do I convert ROAS to ROI?
Multiply ROAS by your contribution margin and subtract 1. A ROAS of 3 with a 40% margin gives an ROI of (3 × 0.40) − 1 = 0.2, or 20%.

Should ROAS use revenue or profit?
The standard formula uses revenue. The profit version is POAS (profit on ad spend). Many stores track both.

Want ROAS calculated the same way across every channel, with each sale counted once and profit right next to it? Book a demo .

You have read how attribution should work. Now see it on your own store.

  • No credit card to start
  • Every report and all ten models from day one
  • Your data exports whenever you want it
  1. 01

    Connect your store

    Shopify authorizes in a click and checkout tracking installs itself.

  2. 02

    Pick a goal

    The conversion you actually get paid for. Soran credits every touch that led to it.

  3. 03

    Read your first report

    Spend against the revenue it earned, on all ten attribution models.