Skip to content
Twenty One Media
aiSeptember 26, 2026

Your Ad Account Is Counting the Wrong Thing

The return on ad spend number in your platform dashboard is measuring something. The question is whether it's measuring anything you can spend.

Google counts a phone call as a conversion if it lasts more than 30 seconds. Meta counts a form fill. Neither platform knows if the job was booked, what it was worth, or whether the customer ever showed up. That is the number most home-services owners are making budget decisions from.

We built Prism to replace it.

What true ROAS actually requires

To get a real number, you need four things in the same place: which ad the lead came from, whether they called or clicked, what happened on that call, and whether a job was booked with a dollar amount attached to it.

Ad platforms have the first piece. They know nothing about the rest. Booking systems and CRMs have the last piece. They know nothing about the ad.

Prism pulls both ends together. The return it shows is revenue from booked jobs divided by spend, not clicks divided by spend. Those two numbers are rarely close.

When the trail goes cold, say unknown

Early in building Prism we wrote a line on the product page that said it "will not tell you which single ad closed which single job." The logic was that sometimes people call from one number and book under another, so the match breaks.

That was technically true for one narrow case and wrong about the product overall. Isaac caught it: the whole point of Prism is connecting ads to booked jobs. When someone clicks an ad and books, Prism names the ad that produced that job. When the trail breaks, the job sits in an unknown column instead of being handed to whichever ad looks best that week.

The difference matters. Most attribution tools fill the unknown column with whatever is convenient. An unknown is an honest unknown. A job you can't trace is still a job you spent money to get, and burying it flatters a channel that may not deserve it.

The chain can go further

We added one more input this week: in-home appointment recordings.

A lot of home-services sales close at the kitchen table, not on the phone. HVAC companies, roofers, window contractors. The signed job can be 30 minutes of conversation after the inbound call. That conversation has always been invisible to attribution.

Where a team already records those appointments, Prism takes the transcripts. The full chain becomes: ad, inbound call, in-home appointment, signed job. Nobody else connects those four points.

The qualifying condition

All of this only works if your booking system or CRM holds the job with a dollar amount. That is the first thing we check, before anyone pays for anything. If the job data isn't there, we say so.

Most home-services businesses do have it. ServiceTitan, Jobber, HouseCall Pro, or even a well-maintained spreadsheet. The gap is usually in pulling it out and connecting it to the ad side, not in whether the data exists.

That is the problem Prism solves.