To calculate return on ad spend (ROAS), divide revenue attributed to your ads by ad spend. Attributed revenue is the sales value your reporting system credits to those ads.
text
ROAS = attributed revenue ÷ ad spend
ROAS percentage = (attributed revenue ÷ ad spend) × 100
For a hypothetical campaign with $8,000 in ad spend and $24,000 in attributed revenue:
text
$24,000 ÷ $8,000 = 3x ROAS = 3:1 = 300%
All three formats mean $3 in revenue for each $1 spent on ads. They do not mean $3 in profit. Amazon Ads defines ROAS as revenue measured against ad spend.
Use the steps below to choose the right inputs, calculate the result in a spreadsheet, and update it when sales or refunds arrive later.
1. Match your revenue and ad spend
This example follows a sales campaign with purchase orders and refunds. Start with three things: .
one campaign, the revenue credited to it, and its ad spend
Our hypothetical August campaign has these numbers in its September 1 report:
Campaign
Attributed revenue
Ad spend
August 1–31
$24,000
$8,000
Use the same account, currency, time zone, and reporting period for both numbers. The spend here covers media only; we will check creative and agency costs in step 5.
Check which sales belong in the report
Attribution is the rule that gives an ad credit for a sale. In this example, a purchase counts if it follows the customer's last paid click within seven days. Viewing an ad alone does not earn credit. This is an example rule, not a recommended setting.
Consider a customer who clicks on August 30 and buys on September 3. That purchase is within seven days. Our report groups sales by the credited click date, so the purchase belongs to August. A store report grouped by purchase date puts it in September. Both reports can be correct while showing different August totals.
Before using your revenue total:
Include only the revenue share credited to this campaign, rather than all store sales. Keep order IDs to find duplicates and later refunds.
Use one revenue basis throughout. Our example uses sales after discounts, excluding sales tax and shipping collected.
Keep the same attribution rule and date basis when comparing or updating reports.
If your ads generate leads instead of purchases, the platform may assign an estimated value to each lead. Label the result as value-based ROAS; do not mix that estimate with collected sales revenue.
2. Divide revenue by spend and check the format
Enter the two numbers from the first report:
Take the attributed revenue: $24,000.
Divide it by the matching ad spend: $8,000.
Label the answer: 3x, or 300% when shown as a percentage.
Check the result in reverse: 3 × $8,000 = $24,000. If it does not return your revenue input, check the order of the division and the percentage format.
Inputs
Result
Meaning
Revenue $24,000; spend $8,000
3x
$3 revenue per $1 of ad spend
Revenue $0; spend $8,000
0x
No attributed revenue recorded
Spend $0
Undefined
You cannot divide by zero
Either input missing
Not ready
Find the missing value first
A blank revenue cell is not proof that revenue was zero. Check that tracking and reporting are complete before treating a recorded zero as a performance result.
3. Calculate ROAS in Excel or Google Sheets
Put your numeric inputs in these cells. Enter 24000 and 8000 as numbers; use currency formatting to display dollar signs.
Cell
Enter
A1
Campaign
B1
Attributed revenue
C1
Ad spend
D1
ROAS
A2
August campaign
B2
24000
C2
8000
D2
=B2/C2
D2 returns 3. Leave it as a number and label the column ROAS (x), or apply Percentage format to show 300%.
Do not multiply by 100 and then apply Percentage format. That would display 30,000% instead of 300%. Percentage formatting already turns a stored value of 3 into 300%.
If you need a formula that flags blank or zero-spend inputs, use:
excel
=IF(OR(B2="",C2="",C2=0),"Check inputs",B2/C2)
This formula assumes the inputs are numbers. Fix text stored as numbers or other cell errors before using the result. In spreadsheet locales that use semicolons between arguments, replace the commas with semicolons.
For a total, divide the totals
Suppose the August campaign contains two ad groups. Replace row 2 with Group A and add Group B in row 3:
Group
Revenue
Spend
ROAS
A
$8,000
$1,000
8x
B
$16,000
$7,000
2.29x
Total
$24,000
$8,000
3x
Use this formula for the total ROAS:
excel
=SUM(B2:B3)/SUM(C2:C3)
Do not average the two ROAS values. Their simple average is about 5.14x, which overstates the campaign result because Group B used most of the budget. Divide full-precision totals first, then round the displayed result.
Before combining reports from different platforms, check for shared orders. If both platforms claim the same sale, adding their reported revenue can count it twice. Use one consistent attribution method across the combined revenue total.
4. Update the campaign for delayed sales and refunds
Our August campaign spent $8,000. Its later reports use the same August clicks and credit rule; they do not add September ad spend.
Checkpoint
Revenue
Spend
ROAS
Sep 1: first report
$24,000
$8,000
3x
Sep 8: $2,000 late sales added
$26,000
$8,000
3.25x
Sep 15: $1,600 refunds deducted
$24,400
$8,000
3.05x
The late sales came from eligible August clicks and fell within the example's seven-day window. The refunds belong to orders already included in that same campaign revenue.
Reopen the same campaign, date basis, and attribution settings.
If the new report gives a cumulative revenue total, replace the old total with it. Add to the old total only when you have the newly reported difference. Match eligible sales by order ID so they are not counted twice.
Deduct refunds or cancellations for included orders only if the revenue total has not already been adjusted.
Recalculate with the matching spend, and label the result with its “as of” date.
If you cannot match refunds to this campaign, or cannot confirm whether they are already deducted, keep the platform-reported ROAS and label its refund treatment as unverified. Do not subtract all store refunds from one campaign's revenue.
A refund-adjusted worksheet does not automatically update your ad platform. Google Ads has a separate conversion adjustment process for restating values or retracting conversions. Follow the rules for your conversion setup if you also need to correct platform reporting.
There is no single waiting period that makes every campaign final. Use your conversion window, reporting delay, and return policy to choose a review date. Our September 15 result is still “as of September 15” if more refunds can arrive. Compare campaigns at a similar stage of reporting, not yesterday's incomplete sales against last month's settled sales.
5. Check what the revenue leaves after costs
A 3.05x ROAS means the campaign reports $3.05 in revenue for every ad dollar. It does not tell you how much is left after making and delivering the product.
Continue with the refund-adjusted revenue of $24,400. Suppose the same hypothetical campaign has these costs:
Item
Amount
Revenue after refunds
$24,400
Product, payment, fulfillment, and return costs
−$12,200
Media spend
−$8,000
Creative and agency costs
−$2,000
Amount left before other overhead
$2,200
text
$24,400 − $12,200 − $8,000 − $2,000 = $2,200
These costs include fees and return costs the business still owes after refunds. A refunded sale does not always reverse every cost.
Revenue minus the variable costs of each sale is often called contribution. In this example, $12,200 is left before media and creative costs. After those costs, $2,200 remains to cover other overhead and profit. It is not yet net business profit.
This is why “above 1x” does not mean profitable. At 1x, revenue only equals media spend; there is nothing left to cover product costs. Your acceptable ROAS depends on your margins and other costs, so a universal “good ROAS” benchmark can mislead you.
ROAS also does not prove that every credited sale happened because of the ads. Google's Conversion Lift guidance separates attributed conversions from additional conversions caused by advertising. That causal question needs evidence beyond the revenue-to-spend ratio.
Use your result to choose the next step
Calculate one campaign, check the result in reverse, and record its reporting rules and “as of” date. Then choose your next step:
The inputs do not match: Fix the dates, currency, or credited orders before comparing performance. A correct division cannot repair mismatched reports.
Eligible sales are still arriving: Label the result as provisional and set a review date based on your conversion window and reporting delay. Do not compare it with a fully settled campaign.
Revenue does not cover the costs you counted: Review those costs and the ROAS you would need to cover them before increasing spend.
Money remains after the costs you counted: Check whether it also covers the remaining overhead and your profit goal. A positive remainder alone is not a reason to scale.
For our example, the refund-adjusted ROAS is 3.05x, with $2,200 left before other overhead. The calculation is ready to explain; a budget increase still needs a cost and profit check.
Your observed ROAS describes a past result. A target ROAS sets a goal for future spending. Use your checked costs and settled results to inform that next decision.
Tiny is a co-founder of Tomako, working across the full path from growth strategy to channel execution. His experience spans influencer marketing, affiliate marketing, SEO/GEO, and paid acquisition. As an indie maker and creator, he is especially interested in how small teams can make better growth choices with limited resources. On the Tomako Blog, he writes about channel decisions, practical execution, and lessons from building and growing products.