01 · The formulas

How to calculate ROAS

Return on ad spend compares the revenue attributed to a paid campaign against the media spend used to generate that revenue.

ROASAttributed revenue ÷ ad spend

If a roofing company spends $4,000 on advertising and attributes $28,000 in collected job revenue to those ads, the campaign shows 7.0× ROAS. That tells you the relationship between ad dollars and attributed revenue. It does not tell you whether the work was profitable.

How to calculate marketing ROI

Marketing return on investment accounts for the profit available after delivery costs and subtracts the marketing expense required to create the opportunity. The exact formula depends on the costs your business can measure consistently.

Marketing ROI(Attributable gross profit − total marketing cost) ÷ total marketing cost × 100

Include the expenses actually required to produce the work: media, agency or operator fees, approved discounts, lead-platform charges, and relevant sales or campaign costs. Do not present unallocated labor or overhead as precise if the business cannot support the allocation.

02 · Contractor example

One campaign, two very different answers

Campaign-attributable revenue collected$28,000

Illustrative gross margin40%

Illustrative attributable gross profit$11,200

Advertising spend$4,000

Agency and campaign operating cost$1,600

Total marketing cost$5,600

ROAS7.0×

Illustrative marketing ROI100%

The campaign may still be worthwhile, but the two metrics answer different questions. Calling this “700% profit” would be wrong: 7.0× ROAS does not include the cost of doing the work or all marketing expenses.

03 · Revenue recovery

Why ROAS breaks when there is no new ad spend

An old-estimate recovery sprint can operate without buying another click. When new advertising spend is zero, ordinary ROAS is mathematically undefined; dividing by zero does not create “infinite return.” The right question becomes whether verified incremental collections justify the agreed performance fee and operating effort.

For an illustrative $40,000 of eligible, campaign-attributable revenue actually collected, a 10% performance fee would be $4,000. The contractor would retain $36,000 before its own fulfillment and other business costs. Whether the work is profitable still depends on the actual gross margin, signed attribution rules, refunds, cancellations, and delivery costs.

Existing records are not automatically free leads. The original acquisition cost may already be sunk, but suppression, permissions, operator time, sales follow-up, and fulfillment remain real operating considerations.

04 · Measurement rules

What counts as attributable revenue?

Start with a written definition agreed before launch. For a controlled recovery campaign, the measurement should distinguish eligible old opportunities from records that were already sold, currently active, duplicated, opted out, disputed, or unreachable through the intended channel.

  • Use an agreed attribution window and campaign-specific evidence.
  • Count payments actually collected rather than quotes, verbal commitments, or outstanding invoices.
  • Define how deposits, financing, taxes, refunds, cancellations, and chargebacks are handled.
  • Remove existing opportunities and prior conversations that would have closed without the campaign.
  • Reconcile the final number against the contractor-controlled system of record.
  • Pause the campaign when eligibility, suppression, complaints, or data quality cannot be verified.

05 · Practical decisions

When to use each metric

Use ROAS to compare paid channels, audiences, offers, and campaigns where the ad spend and attributable collected revenue are both measurable. Use marketing ROI when deciding whether the broader program makes financial sense after marketing and fulfillment costs. For first-party estimate recovery with no new ad spend, compare collected incremental revenue, agreed fees, gross margin, and operating effort instead.

No metric can turn uncertain attribution into proof. If the campaign cannot establish who was eligible, what changed, what the contractor collected, and which costs were incurred, the honest answer is that the return has not been established.