Blog · Finance metrics and formulas · Sales teams
Calculate Google Ads ROAS from campaign spending and attributed sales. Reconcile conversion values, refunds, attribution windows, and finance revenue before comparing campaigns.
Google Ads ROAS is conversion value divided by ad spend. To read the ROAS Google Ads reports as a sales return, first verify that conversion values represent revenue and reconcile them to orders and refunds. A high reported ratio cannot establish profit or prove that advertising caused every attributed sale.
Reported ROAS = Attributed conversion value / Advertising spend
Reconciled revenue ROAS = Attributed sales revenue after agreed adjustments / Advertising spend
Google describes return on ad spend in terms of conversion value per advertising dollar in its ROAS documentation. Its separate conversion-value guidance explains that values may reflect different business outcomes. That distinction matters before any division: a lead assigned a business value is not an invoice.
For a sales comparison, isolate purchase or closed-sale outcomes. Do not add a lead's assigned value to the eventual order revenue for the same customer journey. Retain other conversion actions in the export for investigation, but exclude them from the revenue numerator.
This is a return on advertising spend calculation. Return on assets answers a different finance question, using assets rather than media spending as its denominator.
Keep the original campaign identifiers and retain separate columns for reported value and reconciled sales value. You need campaign ID, reporting dates, ad cost, conversion action, reported conversion value, currency, and the attribution settings used for the extract. From the order or CRM export, bring the order identifier, sale date, gross sales amount, discounts, refunds, and campaign reference where available.
Use a distinct spend table when joining order rows. Repeating the whole campaign's spend beside every order and summing the joined file multiplies the denominator. Aggregate order revenue by campaign first, then join that summary to the campaign's spending total.
Write down the time basis. Google defines a conversion window as the period after an ad interaction during which a conversion is recorded. The window is not the same thing as the calendar dates selected for an accounting report. Keep the window fixed when comparing extracts, and record whether the sales file is grouped by interaction date, sale date, or ledger posting date.
For comparisons with another platform, use the separate Facebook Ads ROAS method. Matching the labels alone does not establish that the attribution rules match.
Consider a US office-supply distributor reviewing completed September campaigns. These are illustrative sales values matched to its order register, with refunds assigned back to the original campaign. Both campaigns use the same reporting and attribution basis; all amounts are USD.
Put the following columns in A through F, with the campaign rows in rows 2 and 3:
| Campaign | Ad spend (USD) | Matched gross sales (USD) | Refunds (USD) | Net attributed sales (USD) | Revenue ROAS |
|---|---|---|---|---|---|
| Search replenishment | 6,000 | 27,000 | 1,800 | 25,200 | 4.20x |
| Search new accounts | 4,000 | 12,000 | 600 | 11,400 | 2.85x |
| Total | 10,000 | 39,000 | 2,400 | 36,600 | 3.66x |
In E2, subtract the refunds from the matched sales. In F2, divide by ad spend, then fill both formulas down:
=C2-D2
=IF(B2=0,"",E2/B2)
The blank result for zero spend means the ratio is undefined. It does not mean the campaign produced no revenue. Review such rows separately before ranking campaigns.
For the total in F4:
=IF(SUM(B2:B3)=0,"",SUM(E2:E3)/SUM(B2:B3))
The net calculation is $39,000 minus $2,400, or $36,600. Divide by $10,000 to get 3.66x. Before refunds, the same rows show $39,000 / $10,000 = 3.90x. Show which version appears in the platform export rather than silently replacing it.
Ratios here are displayed to two decimal places, with no rounding before division. The ordinary campaign average would be 3.525x, which rounds to 3.53x; it is not the combined return because spending differs.
The first check is an identity: campaign revenue must equal campaign spend multiplied by campaign ROAS, using the unrounded ratios. In the table, $6,000 multiplied by 4.20 plus $4,000 multiplied by 2.85 equals $36,600. That matches net attributed sales.
The second check is a revenue bridge. Suppose the same September sales register contains the following mutually exclusive groups after refunds:
| Finance sales group | Net sales (USD) |
|---|---|
| Orders matched to the campaigns above | 36,600 |
| All other orders in the register | 43,400 |
| Sales-register total | 80,000 |
The $36,600 campaign amount plus $43,400 of other sales equals the $80,000 register total. That register must tie to the agreed ledger revenue population, with any posting-date differences listed separately. Google-attributed sales need not equal all company revenue.
Keep unmatched orders and unmatched conversion values visible. Do not spread a reconciliation difference across campaigns merely to make the total close. A missing identifier, duplicate transaction, or late credit memo needs an explanation of its own.
Google supports restating or retracting conversions when their values change. Regardless of whether a platform adjustment has been made, your finance comparison should identify the original transaction and the refund without deducting the same refund twice.
Bring your campaign export and matched order or CRM file to Covirage. Covirage maps the columns; its tools compute and check spending, attributed sales, refunds, and the reconciliation, while 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 Google.
No. Conversion values can represent sales amounts or assigned business values. Check the conversion action and its value definition before labeling the numerator revenue. A value assigned to a lead should remain labeled lead value until actual sales are matched.
The reports may use different dates, attribution rules, refund treatment, and transaction scope. Advertising attribution assigns credit for outcomes, while accounting records company sales. Build a bridge using order identifiers and identified adjustments instead of forcing both totals to match.
Calculate the overall figure from total attributed revenue divided by total spend. An ordinary average gives a small campaign the same weight as a large campaign. Keep unrounded campaign figures when checking the result through a spend-weighted average.