Home/Blog/How to Calculate ROAS When Your Revenue Comes From Phone Calls

How to Calculate ROAS When Your Revenue Comes From Phone Calls

CallFlux Team October 2, 2026 9 min read
Calculator, smartphone, notebook and coffee mug on a wooden office desk in soft window light

To calculate ROAS from phone calls, divide the revenue from customers who called because of an ad by what you spent on that ad. The formula is simple; the work is getting the revenue figure, which requires three links: a tracking number that ties each call to its source, a label showing which calls became jobs, and a match between the caller and what they paid. Without those links, ad platforms report the cost of call campaigns and none of the return.

This guide explains each link, shows three levels of accuracy you can reach, works through an example, and lists the errors that most often inflate the result.

The formula, and why calls break it

Return on ad spend is:

ROAS = revenue attributed to the ads, divided by ad spend

A ROAS of 4 means four dollars of revenue for each dollar spent.

For an online store this is automatic. A tag on the checkout page reports the order value to the ad platform, which already knows the click and the cost.

For a business that sells by phone, the chain breaks in three places:

  1. The click or tap becomes a phone call, which happens outside the website.
  2. The call becomes a booking, which happens in a conversation.
  3. The booking becomes revenue days or weeks later, in an invoicing or job management system.

The ad platform sees none of it unless you send it back. Each of the three breaks needs a bridge.

Link one: tie the call to the source

This is call tracking in its basic sense. Tracking numbers identify where each call came from: a dynamic pool on the website for visitors from ads, and static numbers on ad call assets, map listings and offline media. Our guide to dynamic call tracking vs static tracking numbers covers which goes where.

For campaign-level ROAS, source-level tracking is enough. For keyword-level ROAS in paid search, you need session-level tracking that captures the click ID, as described in our Google Ads call tracking guide.

Link two: know which calls became jobs

Not every call is a sale. Each call needs an outcome: booked, quoted, not a lead. This can come from staff tagging, from AI classification of the transcript, or from the existence of a matching job record. Our guide to call dispositions and auto-tagging explains the options and why manual tagging tends to be incomplete.

Link three: match the caller to the money

The usual key is the caller's phone number. When a call arrives from a number, and a customer with that number later appears in your CRM or invoicing system with a paid job, the revenue belongs to that call and therefore to that source.

There are three ways to make the match, in increasing order of effort and accuracy:

  • Manual lookup. Export booked calls and paid jobs for the month and match them in a spreadsheet. Slow, but it works for low volume and proves the concept.
  • Integration. Connect the call tracking platform to the CRM or job system so calls and customer records are linked automatically. See our call tracking CRM integration guide.
  • API or webhooks. For custom systems, push call events out and pull revenue in. See the call tracking API and webhooks guide.

Phone matching is not perfect. People call from a work phone and give a mobile number, or a spouse calls and the other pays. Expect some revenue to go unmatched, and report the match rate alongside the ROAS so readers know how complete it is.

Three levels of accuracy

LevelRevenue figure usedWhat you needHow far to trust it
1. EstimatedCalls multiplied by an assumed value per callCall counts by sourceDirectional only; hides differences in lead quality
2. ModeledBooked calls multiplied by average booked job valueOutcomes on each call, average job valueGood for comparing channels with similar job sizes
3. MatchedActual revenue from jobs matched to callsOutcomes plus a CRM or invoicing matchThe real number, limited by match rate and time lag

Most businesses should start at level 2 within the first month and move toward level 3. Level 1 is better than nothing but tends to flatter channels that produce many low-quality calls.

A worked example

The figures below are invented to show the arithmetic.

A home services company spends $6,000 in a month across two campaigns.

Campaign A spends $3,500 and produces 140 calls. Of those, 84 are qualified and 30 are booked.

Campaign B spends $2,500 and produces 50 calls. Of those, 40 are qualified and 22 are booked.

Level 1, estimated. The owner assumes each call is worth $100.

  • A: 140 calls times $100 is $14,000; ROAS 4.0
  • B: 50 calls times $100 is $5,000; ROAS 2.0

On this view A is twice as good.

Level 2, modeled. Average booked job value across the business is $450.

  • A: 30 booked times $450 is $13,500; ROAS 3.9
  • B: 22 booked times $450 is $9,900; ROAS 4.0

Now they are level.

Level 3, matched. Actual revenue matched to calls shows A's jobs were mostly small repairs averaging $280, and B's included several replacements, averaging $900.

  • A: 30 jobs times $280 is $8,400; ROAS 2.4
  • B: 22 jobs times $900 is $19,800; ROAS 7.9

The ranking has reversed completely. A business acting on level 1 would have moved budget from its best campaign to its worst. This is the practical reason to push toward matched revenue: channels differ at least as much in job size as in call volume.

Sending the value back to the ad platform

Once revenue is matched, it can be returned to Google Ads as a conversion value attached to the original click. The platform then reports ROAS for call campaigns the same way it does for online sales, and value-based bidding can optimize toward revenue instead of toward call counts. The steps are in our guide to importing call revenue into Google Ads.

The same approach applies to Meta; our guide to call tracking for Facebook ads covers how calls are sent back there.

If you cannot yet send exact revenue, sending a modeled value per booked call is a reasonable interim step. It at least distinguishes booked calls from the rest.

From ROAS to break-even

ROAS ignores margin, so a "good" figure depends on the business. Break-even ROAS on ad spend is one divided by gross margin:

  • 50 percent gross margin: break-even ROAS of 2
  • 40 percent: 2.5
  • 25 percent: 4

That is before overhead, so a real target sits above it. If an agency manages the account, include its fee in the spend when you want to know whether the whole effort pays. A campaign with a ROAS of 3 can be very profitable for one business and a loss for another.

Related metrics that sit beside ROAS in a report are covered in our guides to cost per call and call tracking KPIs.

Mistakes that inflate call ROAS

  • Counting existing customers. Revenue from a repeat customer who happened to dial a tracking number is not new revenue from the ad. Separate first-time callers.
  • Counting every call at an assumed value. Level 1 thinking. It rewards volume, including spam.
  • Ignoring time lag. Revenue from this month's calls may land next month. Compare by the month of the call.
  • Double counting. A customer who calls three times is one job. A sale reported by both a form and a call is one sale.
  • Crediting brand searches to ads. People who already knew your name and clicked a brand ad would often have reached you anyway. Report brand and non-brand ROAS separately.
  • Using quoted amounts instead of paid amounts. A quote is not revenue until it is accepted and collected.
  • Leaving out calls that never touched the website. Calls from ad call assets and map listings need their own numbers, or their revenue goes unattributed and other channels look better than they are.

A practical sequence

  1. Put tracking numbers on every source you pay for.
  2. Turn on recording, transcription and classification so each call has an outcome. Recording laws vary by state and compliance is your responsibility.
  3. Calculate modeled ROAS by channel at the end of the first month.
  4. Connect your CRM or invoicing system, or run a monthly spreadsheet match by phone number.
  5. Report matched ROAS by channel, with the match rate.
  6. Send booked calls, and then values, back to the ad platforms.
  7. Work out break-even ROAS from your margin and set targets above it.

Frequently Asked Questions

How do you calculate ROAS from phone calls?

Divide the revenue from customers who called because of an ad by the amount spent on that ad over the same period. To get the revenue figure, each call must be attributed to its source with a tracking number, identified as a booked job, and matched to the amount the customer paid, usually by matching the caller's phone number to a record in your CRM, invoicing or job management system.

What is a good ROAS for a business that sells by phone?

There is no universal target, because the ROAS a business needs depends on its gross margin and overhead. A business with a 50 percent gross margin breaks even on ad spend at a ROAS of 2, before overhead; a business with a 25 percent margin needs 4. Work out your own break-even from margin first, then set a target above it, rather than borrowing a number from another industry.

Why does Google Ads show no ROAS for my call campaigns?

Because Google Ads only knows the revenue you send it. For online checkouts a tag reports the order value automatically. For phone calls, the sale happens off the website, so unless call conversions are imported with a value attached, the platform records the cost and little or none of the revenue, and ROAS appears as zero or is left blank.

Should I use actual revenue or an estimated value per call?

Actual revenue is better when you can match it reliably, because job sizes differ and averages hide that. An estimated value, such as average booked job value multiplied by booked rate, is a reasonable starting point when you cannot yet match individual sales. Use the estimate to get value-based reporting running, then replace it with matched revenue as your data improves.

How long should I wait before judging ROAS on call campaigns?

At least as long as your typical time from first call to payment, plus enough volume to smooth out chance. For emergency services that close on the call, a few weeks may be enough. For services with estimates and long decisions, revenue can arrive months after the call, so recent periods will always look worse than they end up. Compare cohorts by the month the call happened, not the month the money arrived.

What is the difference between ROAS and ROI for phone leads?

ROAS is revenue divided by ad spend and ignores every other cost. ROI subtracts costs, typically cost of goods or labor and sometimes agency fees and software, and expresses the profit relative to what was invested. ROAS is useful for comparing campaigns with similar margins; ROI is what tells you whether the advertising made money.

Put revenue next to every call

CallFlux attributes each call to its source, classifies outcomes with AI and connects to Google and Meta so call results reach your ad accounts. As of October 2026 plans are flat monthly rates of $99, $249 and $499 with unlimited calls and no per-minute fees. See call tracking, Google Ads call tracking or pricing.

Ready to track every call?

Start your free trial and see exactly which marketing channels drive phone calls.

Get Started Free