What Is ROAS? Formula, Calculation and Examples

What ROAS means and how to calculate it: the formula, worked examples, break-even ROAS, ROAS vs ROI and POAS, and what Meta, Google Ads and Shopify count.
Table of contents (27)
ROAS (return on ad spend) is the revenue your ads bring in for every dollar they cost: ROAS = revenue attributed to ads ÷ ad spend. A ROAS of 4 means $4 of attributed revenue for each $1 spent, not $4 of profit. To get yours in a few seconds and see whether it covers your margin, use our ROAS calculator.
This guide sets out the definition of ROAS, its formula and fictional worked examples. It then separates ROAS from ROI, POAS and break-even ROAS, explains why no "good ROAS" applies to every store, and looks at what Meta, Google Ads and Shopify actually count when they display a ROAS, based on their own help pages read on October 7, 2026. It ends with the levers that improve it.
What does ROAS mean?
ROAS stands for return on ad spend. It is the ratio between the revenue attributed to an ad and what that ad cost. The three tools most online stores use all report it:
- Meta calls it purchase ROAS in its ad reports (Meta Business Help Center).
- Google Ads makes it the goal of its Target ROAS bidding strategy (Google Ads Help).
- Shopify shows it per channel and per campaign in its marketing reports, but not for every channel: for Facebook and Google campaigns, cost and ROAS are read in Meta Ads Manager and in Google Ads (Shopify Help Center).
ROAS answers one question: how much revenue does $1 of advertising bring in? It does not say whether that revenue is profitable. Four dollars of sales can leave a profit or a loss, depending on what the products, their shipping and the payment fees cost.
It is written two ways:
- as a multiple: 4, 4x or 4:1;
- as a percentage: 400%. This is the form Google Ads uses for Target ROAS. Its help page takes the example of $5 in sales for each $1 spent on ads: $5 ÷ $1 × 100% = a 500% target ROAS (Google Ads Help).
You can calculate ROAS at any level: one ad, one campaign, one platform, or all your advertising for a month.
What is the ROAS formula?
The formula divides attributed revenue by ad spend, both taken over the same period:
ROAS = revenue attributed to ads ÷ ad spendMultiply the result by 100 to express it as a percentage.
Fictional example: in March, a store spends $2,500 on Meta ads, and Ads Manager attributes $10,000 in purchases to its campaigns. Its ROAS for March is 10,000 ÷ 2,500 = 4, or 400%.
The ROAS calculator linked above does this for you. Tick its gross margin option to see your break-even ROAS and the margin left after ad spend.
What goes in the numerator?
"Attributed" revenue is the revenue that the measuring tool links to your ads, and each tool has its own definition:
- Meta calculates purchase ROAS as purchase conversion value divided by amount spent, based on information received from your connected Meta Business Tools and attributed to your ads (Meta Business Help Center).
- Google Ads works with the conversion values you report through conversion tracking, and tries to keep your conversion value per cost equal to the target you set (Google Ads Help).
- Shopify defines a campaign's ROAS as the amount of revenue earned divided by the amount spent on the campaign. The sales it attributes are counted after discounts and sales reversals, and do not include tax or shipping (Shopify Help Center).
So check what the value sent by your store contains: sales tax, shipping charges, discounts. A ROAS calculated on order totals that include tax and shipping looks higher than one calculated on product revenue alone, and it can no longer be compared with a margin calculated on product revenue.
What goes in the denominator?
Ad spend is the amount the ad platform bills for the period. ROAS is usually calculated on that media spend alone: agency fees, creative production and tool subscriptions belong in ROI. Whatever you decide, keep the same convention from one month to the next.
Three rules for a comparable ROAS
- The same period for revenue and spend, with care about the most recent days: purchases can still be attributed to recent clicks. When Google Ads recommends a target ROAS, it excludes performance from the last few days, to account for conversions that take more than a day to complete after an ad click (Google Ads Help).
- The same source: a ROAS read in Meta and a ROAS read in Shopify do not count the same sales (see the section on attribution below).
- The same revenue basis: with or without tax, with or without shipping, before or after refunds.
How do you calculate ROAS? Two examples
The numbers below are fictional. They show what ROAS says and, above all, what it does not say.
Example 1: the ROAS of two campaigns
A fictional apparel store compares its two campaigns for April:
| Campaign (fictional) | Spend | Attributed revenue | ROAS |
|---|---|---|---|
| Prospecting | $3,000 | $7,500 | 2.5 (250%) |
| Retargeting | $1,000 | $6,000 | 6 (600%) |
| Total | $4,000 | $13,500 | 3.375 (337.5%) |
Retargeting shows the higher ROAS, but it reaches visitors who already know the store, some of whom might have bought without the ad. Prospecting brings in new customers, whose later orders will not necessarily show up in this ROAS. Judging the two campaigns on ROAS alone would lead you to cut the one that feeds the other.
Example 2: the same ROAS, two opposite results
Two fictional stores each spend $1,000 on ads and get the same ROAS of 3, or $3,000 in attributed revenue:
| Figure (fictional) | Store A | Store B |
|---|---|---|
| Gross margin rate | 60% | 25% |
| Gross margin on attributed sales | $1,800 | $750 |
| Ad spend | $1,000 | $1,000 |
| Margin after ad spend | + $800 | - $250 |
| Break-even ROAS (1 ÷ margin) | 1.67 | 4 |
Same ROAS, but store A keeps $800 of margin after advertising while store B loses $250. ROAS is never read without the margin: that is the whole point of break-even ROAS, covered below.
ROAS vs ROI, POAS and break-even ROAS
ROAS is often confused with other measures of ad profitability. Each one answers a different question:
| Metric | Question | Formula | Limit |
|---|---|---|---|
| ROAS | How much revenue for $1 of ads? | Attributed revenue ÷ ad spend | Does not say whether the sales are profitable |
| Break-even ROAS | What ROAS do I need to avoid losing money? | 1 ÷ gross margin rate | Does not cover fixed costs |
| POAS | How much gross margin for $1 of ads? | Attributed gross margin ÷ ad spend | Requires the margin of each sale |
| ROI | How much net gain for $1 invested? | (Gain - cost) ÷ cost | Depends on what you count in the gain and the cost |
ROAS vs ROI
ROI (return on investment) compares a net gain with an investment:
ROI = (gain - cost) ÷ costROAS uses revenue. ROI uses a gain, meaning what is left once the costs are paid. Take the fictional March example again: $10,000 in attributed sales for $2,500 of ads, with a 40% gross margin. The gross margin on attributed sales is $4,000, and the ROI of the advertising, calculated on that margin, is (4,000 - 2,500) ÷ 2,500 = 60%. A ROAS of 4 and an ROI of 60% describe the same campaign.
A ROAS above 1 therefore does not guarantee a positive ROI. With a 20% gross margin, a ROAS of 4 returns $0.80 of margin per dollar of ads, an ROI of -20%. To apply these formulas to a messaging channel, see our guide to WhatsApp marketing ROI and its KPIs.
POAS: profit on ad spend
POAS replaces revenue with gross margin in the numerator:
POAS = gross margin on attributed sales ÷ ad spend
= ROAS × gross margin rateIn the March example, POAS is 4,000 ÷ 2,500 = 1.6, or 4 × 40%. Above 1, the gross margin on attributed sales covers the advertising. Below 1, each dollar of ads costs more than the margin it brings in.
POAS accounts for margin differences between products: a campaign that mostly sells your low-margin products can show a good ROAS and a poor POAS. The price is that you need the margin of each sale. Google Ads can generate metrics based on gross profit if you send cart data with your conversions and provide the cost of goods sold in your Merchant Center feed (Google Ads Help). Otherwise, calculate it from your order export.
Break-even ROAS: the threshold to beat
Break-even ROAS is the ROAS at which the gross margin on attributed sales exactly covers the ad spend. At that point, revenue × gross margin rate = ad spend, which gives:
Break-even ROAS = 1 ÷ gross margin rate| Gross margin rate | Break-even ROAS |
|---|---|
| 20% | 5 (500%) |
| 25% | 4 (400%) |
| 30% | 3.33 (333%) |
| 40% | 2.5 (250%) |
| 50% | 2 (200%) |
| 60% | 1.67 (167%) |
| 75% | 1.33 (133%) |
The lower the margin, the higher the ROAS you need. For the threshold to be right, the margin has to be what is left of each sale after all its variable costs: the cost of buying or making the product, shipping if you pay for it, payment fees, packaging, returns. Fixed costs (salaries, rent, subscriptions) do not change with one more sale and stay out of this threshold. To put a number on payment fees and your store subscription, see what Shopify costs.
To work out the threshold from a product's selling price and costs, use our break-even ROAS calculator.
ROAS, CPA and average order value
ROAS connects to two metrics you may already track. CPA (cost per acquisition) is ad spend divided by the number of attributed orders, and average order value is revenue divided by those same orders. So:
ROAS = average order value ÷ CPAFictional example: with an average order value of $60 and a CPA of $20, ROAS is 3. The same logic gives the maximum CPA you can afford: average order value × gross margin rate, or $24 with a 40% margin. Our CPA calculator does the first calculation, and our guide to average order value covers the second metric in depth.
What is a good ROAS?
There is no universal good ROAS. The same ROAS of 3 makes store A richer and store B poorer in example 2: the threshold depends on your margin, not on a market average. The average ROAS figures that circulate rarely state the margin of the stores measured, the platform, or the attribution model and window used. They do not tell you whether your own advertising is profitable.
Three reference points are worth more than an average:
- Your break-even ROAS: below it, advertising costs more than the margin it brings in.
- Your target ROAS: the break-even point, raised by the margin you want to keep after advertising. To keep a share p of revenue once the ads are paid, aim for a ROAS of 1 ÷ (gross margin rate - p). Fictional example: with a 40% gross margin and 10% of revenue to keep, the target ROAS is 1 ÷ 0.30 = 3.33.
- Your own history: compare each month with the previous one and with the same period last year, using the same source, model and attribution window.
Can a ROAS below break-even be justified?
Yes, in one precise case: when the first order is only the start of the relationship. If your customers come back, an acquisition that loses money on the first order can become profitable with the following ones. The reasoning then moves to customer lifetime value: how much margin a customer brings in over the whole relationship, and so how much you can spend to acquire one. That bet only holds if repeat purchases are measured on your own customers, not assumed.
What do Meta, Google Ads and Shopify actually measure?
A ROAS is only as good as the attributed revenue inside it. Each tool attributes sales by its own rules, and those rules change the result.
Meta: windows after a click, a view or an engagement
In Meta Ads Manager, standard attribution lets you choose whether to credit a conversion based on ad impressions, clicks or engagements, and over what period. For website conversions, the settings Meta supports are (Meta Business Help Center):
- click-through: events within 1 day or 7 days after a link click on your ad;
- view-through: events within 1 day after an impression of your ad;
- engage-through: events within 1 day after an action on your ad other than a link click, including a video played for 5 seconds.
Meta notes that some accounts may still use prior versions of these settings while the feature rolls out.
Three consequences for your ROAS:
- A view is not a click. A purchase made the day after a simple impression can be credited to the ad, even if the buyer reached your site another way. Check the attribution setting of each ad set before you compare their ROAS.
- Models that cannot be compared. Meta states that results cannot be compared across ad sets with different attribution models, and that if you use external analytics tools, you should evaluate performance in those tools.
- Purchases that are partly modeled. Where events cannot be counted directly because of partial or missing data, Meta may use statistical modeling for some events and for the values assigned to them (Meta Business Help Center).
Google Ads: data-driven attribution and a 30-day window
Google Ads shares the credit for each conversion according to an attribution model. The data-driven model, which uses your account's past data, is the default for most conversion actions. Last click is still supported, and the first click, linear, time decay and position-based models are no longer supported (Google Ads Help on attribution models). The conversion window, the period after an ad interaction during which a conversion is recorded, is 30 days by default and can be edited for each conversion action (Google Ads Help on conversion windows).
With these defaults, Google Ads links a sale to a click over a longer period than Meta's standard settings. The two ROAS figures therefore do not cover the same sales.
Shopify: last non-direct click
Shopify's marketing reports offer five attribution models: last non-direct click, last click, first click, any click and linear. The default, last non-direct click, gives 100% of the credit to the last channel the customer interacted with before buying, excluding direct visits. Reporting is based on your UTM parameters and on the activity of connected apps (Shopify Help Center). A sale that Meta credits to an ad view can therefore appear in Shopify under another channel, for example organic search.
Double counting: ROAS figures do not add up
Because each ad platform counts its own sales, the same order can be attributed by both Meta and Google Ads. Fictional example: in May, Meta attributes $6,000 in sales to $1,500 of ads (a ROAS of 4) and Google Ads $5,000 to $1,000 of ads (a ROAS of 5). Added together, attributed sales reach $11,000, while the store took in $9,000 for the month, sales without advertising included. At least $2,000 of sales were counted twice.
Blended ROAS, to cross-check
To cross-check, also calculate a blended ROAS, sometimes called MER (marketing efficiency ratio):
Blended ROAS = total store revenue ÷ total ad spendIn the May example: 9,000 ÷ 2,500 = 3.6. This ratio does not depend on any attribution model, but it mixes the sales that advertising caused with the rest. Watch how it moves more than where it sits, and read it next to the platforms' ROAS.
Attributed does not mean caused
A sale attributed to an ad is not necessarily a sale caused by it: the customer might have bought anyway, for example after retargeting or a search for your brand name. This is the difference between attribution and incrementality. Meta offers an incremental attribution model, which optimizes delivery using models that predict whether a conversion is caused by an ad (Meta Business Help Center). To measure the real effect of an action yourself, compare an exposed group with a control group that is not exposed.
How do you improve ROAS?
Improving ROAS means getting more revenue out of each dollar of advertising. Three levers contribute: average order value, conversion rate and repeat purchases. Judge each one on ROAS and on margin: a discount can lift ROAS while lowering what you earn.
1. Average order value
With the same number of orders, each dollar added to the average order raises attributed revenue, and so ROAS: this is the ROAS = average order value ÷ CPA relationship above. Product bundles, a free shipping threshold set above your usual orders, cross-sells and recommendations of complementary products all push it up.
2. The conversion rate of paid visits
With the same budget and average order value, doubling the conversion rate of paid visits doubles ROAS. Three things weigh on that rate:
- Consistency between the ad and the landing page: the product, the offer and the price in the ad must be on the page.
- Shipping costs and delivery times shown before checkout, so that the customer does not discover them at the last step.
- Cart recovery: a paid visitor who leaves a cart is not lost. A reminder by email, SMS or WhatsApp can bring the order back, and if the purchase falls inside the attribution window, it also counts in the campaign's ROAS.
3. Repeat purchases
A repeat purchase escapes the platforms' ROAS as soon as it happens after the attribution window: the order is no longer linked to the ad that brought the customer. Yet it is what makes acquisition pay: a customer who comes back without new ad spend raises your blended ROAS. Messages after delivery, replenishment reminders and offers reserved for existing customers are what trigger it.
Those messages go through the channels your customers have opted into. For WhatsApp, Kanal, our WhatsApp marketing app for Shopify, sends cart reminders and campaigns to opted-in customers. What can be sent to US numbers on WhatsApp follows its own rules, covered in our guide to WhatsApp marketing in the USA.
Measure these messages with the same rules as advertising. An order recovered by a reminder after a paid click can be counted by the ad platform and by the messaging tool: count it once in your blended ROAS.
ROAS in one table
| Question | Answer |
|---|---|
| Definition | Revenue attributed to advertising for $1 of ad spend (return on ad spend) |
| Formula | Attributed revenue ÷ ad spend, over the same period and from the same source |
| As a percentage | ROAS × 100: a ROAS of 4 is 400% |
| Break-even ROAS | 1 ÷ gross margin rate |
| POAS | Attributed gross margin ÷ ad spend, or ROAS × gross margin rate |
| ROI | (Gain - cost) ÷ cost |
| Good ROAS | No universal figure: above your break-even ROAS, then your target ROAS |
| Limits | Attribution specific to each tool, different windows, double counting, sales attributed but not necessarily caused |
| To cross-check | Blended ROAS: total revenue ÷ total ad spend |
| Levers | Average order value, conversion rate, repeat purchases |
Start by calculating your ROAS, compare it with your break-even ROAS, then cross-check it with your blended ROAS before you touch your budgets.
Frequently asked questions
What is ROAS?
ROAS stands for return on ad spend. It measures the revenue that each dollar of advertising brings in: you divide the revenue attributed to your ads by the ad spend for the same period. A ROAS of 4 means that $1 of advertising brought in $4 of attributed revenue, not $4 of profit, since that revenue still has to pay for products, shipping and fees.
How do you calculate ROAS?
ROAS = revenue attributed to ads ÷ ad spend, both taken over the same period and from the same source. Fictional example: $10,000 in attributed sales for $2,500 of ad spend gives a ROAS of 4, or 400% as a percentage. Our ROAS calculator does the division and also shows your break-even ROAS if you enter your gross margin.
What is a good ROAS?
There is no universal good ROAS. A ROAS is good when it is above your break-even ROAS, which depends on your margin: 1 ÷ gross margin rate. With a 25% gross margin, you need a ROAS of 4 to cover the advertising. With 50%, a ROAS of 2 is enough. After that, compare your ROAS with your own history, using the same source and the same attribution settings.
What is the difference between ROAS and ROI?
ROAS compares revenue with ad spend. ROI compares a net gain with an investment: (gain - cost) ÷ cost. Because revenue still has to pay for the products, the shipping and the fees, a ROAS above 1 can hide a negative ROI. Fictional example: with a 20% gross margin, a ROAS of 4 returns $0.80 of margin per dollar of ads, an ROI of -20%.
What is break-even ROAS?
Break-even ROAS is the ROAS at which the gross margin on attributed sales exactly covers the ad spend. The formula is 1 ÷ gross margin rate. Fictional example: with a 40% gross margin, you need a ROAS of 2.5. Below it, each dollar of ads costs more than the margin it brings in. Count every variable cost in the margin: product, shipping, payment fees.
What is POAS?
POAS means profit on ad spend. It replaces revenue with gross margin in the formula: POAS = gross margin on attributed sales ÷ ad spend, which equals ROAS × gross margin rate. A POAS above 1 means that the gross margin on attributed sales covers the advertising. It accounts for margin differences between products, which ROAS ignores.
Nicolas helps e-commerce brands grow revenue with WhatsApp marketing. With deep expertise in Shopify ecosystems and conversational commerce, he shares proven strategies for abandoned cart recovery, broadcast campaigns, and AI-powered customer engagement.
Ready to boost your WhatsApp sales?
Suggested articles

Average Order Value (AOV): Formula and How to Raise It
Average order value explained: the AOV formula, what to do with tax, shipping and refunds, how Shopify calculates it, examples and five ways to raise it.

Shopify vs WooCommerce: Costs, Fees and Control (2026)
Shopify vs WooCommerce compared for US stores: subscription or hosting costs, payment fees, maintenance, flexibility, apps and how to migrate between them.

Shopify vs Wix: Plans, Payment Fees and Selling (2026)
Shopify vs Wix compared for US merchants: plan prices, card rates, product limits, sales channels, apps, support and how to migrate between the two platforms.

Shopify vs Squarespace: Pricing, Fees and Selling (2026)
Shopify vs Squarespace compared for US merchants: plan prices, card rates, transaction fees, checkout, apps, support and how to move from one to the other.