Sign in

Blog · Finance metrics and formulas · Sales teams

Facebook Ads ROAS: calculate and interpret the result

Calculate Facebook Ads ROAS from campaign spend and attributed order revenue. Match reporting windows, reconcile returns, and compare campaigns using a consistent revenue definition.

The short answerFacebook Ads ROAS measures attributed revenue per advertising dollar: attributed sales revenue divided by ad spend. A reconciled result of 3.50x means $3.50 of revenue for each dollar spent on ads. Before comparing campaigns, align the attribution basis, date range, currency, and refund treatment, and match reported values to real orders.

Facebook Ads ROAS is attributed revenue divided by advertising spend. Calculate it with the same attribution basis, sales definition, and refund treatment for every campaign, then reconcile the revenue to your order records. The result measures revenue per ad dollar; it does not establish campaign profit or incremental sales.

Define the numerator before comparing campaigns

Facebook revenue ROAS = Attributed sales revenue / Facebook advertising spend

Net revenue ROAS = (Matched attributed sales minus related refunds) / Advertising spend

Use this as a business reporting definition and document the values included in your own export. A purchase amount, an assigned lead value, and a completed order are different outcomes. Only call the numerator revenue when the underlying values represent sales on the basis finance approved.

The gross-versus-net distinction has a concrete accounting foundation. The IRS explanation of net sales describes customer returns and allowances as deductions from gross sales. An advertising review should state whether it uses gross order value or sales after those adjustments.

Keep the separate Facebook advertising ROI calculation for the question of profit after campaign costs. Changing the ROAS denominator to include selected expenses creates a different measure and makes platform comparisons harder to interpret.

Prepare campaign and order files

Start with the campaign export already used by the marketing team. Preserve campaign ID and name, reporting dates, spend, currency, the attributed purchase-value field used, and the report's attribution settings. Record the extraction date as well: a later extract may include outcomes that had not arrived when the first report was saved.

From the order register or CRM, retain order ID, sale date, campaign reference where available, gross sales, discounts, and related credit or refund amounts. Keep currencies separate until a documented conversion method puts them on the same basis. Do not use the currency symbol as the only evidence of the underlying currency.

Agree whether the review follows the advertising interaction cohort or sales recorded during a calendar period. Those are different populations. If finance needs calendar-month revenue and marketing needs a campaign cohort, prepare both summaries and reconcile the timing difference instead of relabeling one as the other.

A comparable Google Ads ROAS review needs the same discipline, but each platform's attribution basis still requires its own check. Identical reporting dates do not remove overlapping claims on the same order.

Calculate a small worked example

A US commercial-furniture seller reviews two completed Facebook campaigns. The figures below are illustrative. Its agreed comparison uses matched sales after refunds, the same attribution basis for both campaigns, and USD throughout.

Put campaign in column A, spend in B, matched gross sales in C, refunds in D, net sales in E, and ROAS in F. The first campaign occupies row 2 and the second row 3.

Campaign Ad spend (USD) Matched gross sales (USD) Refunds (USD) Net attributed sales (USD) Net revenue ROAS
Replacement chairs 4,000 18,000 1,000 17,000 4.25x
Office refits 6,000 21,000 3,000 18,000 3.00x
Total 10,000 39,000 4,000 35,000 3.50x

In Excel, calculate net sales in E2 and the ratio in F2, then fill down:

=C2-D2
=IF(B2=0,"",E2/B2)

Calculate the combined result from the totals:

=IF(SUM(B2:B3)=0,"",SUM(E2:E3)/SUM(B2:B3))

Total sales of $39,000 less $4,000 of refunds leave $35,000. Dividing by $10,000 of spend gives 3.50x. Without the refund adjustment, the same campaign rows show 3.90x. Neither label should be left implicit when the review reaches sales and finance.

ROAS is displayed to two decimal places, calculated from unrounded amounts. The ordinary average of 4.25x and 3.00x is 3.625x, or 3.63x when rounded. It overstates the combined return because it gives the smaller campaign equal weight.

Rebuild the campaign totals from order rows

Suppose the order sheet has campaign ID in column A and agreed net attributed sales in column E. The campaign summary has the matching ID in A2. Sum the relevant orders with:

=SUMIFS(Orders!$E:$E,Orders!$A:$A,$A2)

Microsoft documents SUMIFS as summing values that meet the specified criteria. Add date criteria when the order sheet contains more than the approved period. The campaign identifier should be stable; a name edited halfway through the month should not split one campaign into two totals.

Keep one spend record per campaign and period in the spending summary. Do not copy a campaign's entire spend onto every order row and sum it again. The original spend file must still total $10,000 after any revenue matching.

Prove the result before interpreting it

First, multiply each campaign's unrounded ROAS by its spend. The $4,000 campaign at 4.25x reconstructs $17,000 of net sales. The $6,000 campaign at 3.00x reconstructs $18,000. Together they give the same $35,000 numerator.

Next, reconcile the matched population to the sales register:

Sales-register group Net sales (USD)
Orders assigned to these Facebook campaigns 35,000
All remaining orders 65,000
Register total 100,000

The groups are mutually exclusive and add to $100,000. Tie that amount to the agreed ledger sales population, identifying any posting-date or revenue-recognition differences. Keep unmatched attributed values in an exception list rather than forcing them onto convenient orders.

Only then compare campaign returns with approved margin-based ROAS targets. A higher ratio can justify investigation, but sales mix, order quality, and contribution determine whether more spending is sensible. Report attributed sales as attributed; a causal claim requires separate evidence.

Where it goes wrong

  • Different attribution settings. A campaign credited over a broader period is not directly comparable with one credited over a shorter period. Preserve settings alongside the values.
  • Recent sales without mature returns. A fresh cohort may look stronger simply because refunds have not arrived. Apply the same review age to both campaigns.
  • Overlapping channel credit. Do not add Facebook and other platforms' attributed revenue without checking duplicate order claims and agreeing an allocation rule.
  • Refunds deducted twice. If the exported value is already net, subtracting the credit memo again understates revenue.
  • ROAS read as profit. Revenue excludes no campaign costs beyond the spending denominator. The broader ROI versus ROAS comparison explains the separate margin test.

Check your own Facebook campaign export in Covirage

Bring your campaign spending and order or CRM exports to Covirage. Covirage maps the columns, and its tools compute and check the revenue, refunds, and campaign ratios; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See sales insights for the supporting business context.

Covirage is not affiliated with Meta, Google, or Microsoft.

Questions people ask

Does Facebook Ads ROAS measure profit?

No. ROAS divides revenue by ad spend and does not deduct product costs or other campaign expenses. A campaign with a strong revenue ratio can still lose money. Use a separate contribution and ROI calculation with finance-approved costs.

How should refunds affect Facebook ROAS?

For a net revenue comparison, assign refunds to the original attributed orders and subtract them from sales. Retain the original reported value so the change is visible. Check whether refunds are already reflected before making a second deduction.

Why can Facebook and finance reports disagree?

They can cover different transactions, attribution windows, dates, and revenue definitions. Finance records company sales, while attribution assigns campaign credit. Match orders and explain differences in a reconciliation instead of assuming either headline number is automatically the right comparison.