“Yelp already reports leads.”
It reports actions on the page. Whether they became customers is in your sales records, which it never sees.
For Yelp
Capture Yelp calls and requests as leads, match them against closed sales, and separate what the ads added from what the listing would have brought anyway.
No API key Nothing to install in YelpNothing to install No card requiredNo card
Yelp sits on the lead side in CloseRev: the calls, messages and quote requests a business receives through its Yelp page carry a contact detail and a date, which makes them a lead file that can be matched against closed sales. A Yelp presence is really three things under one name — a free listing, paid advertising and a body of reviews — and only the first two produce leads anybody can trace. Revenue with no traceable lead is reported as Direct / Unknown.
Last checked against Yelp's own documentation on September 25, 2026.
The gap
The dashboard shows page views and calls. The ledger shows sales. Nobody has put the two together.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
From the call, message or quote request. A tracked number on the Yelp page is what makes calls identifiable at all.
Call, message or request a quote. Each is a different level of intent and should rank separately.
When the contact happened, which anchors the window.
Whether advertising was running when the lead arrived. It is how the ads get separated from the listing.
Step by step
Written for somebody with Yelp open in the next tab. Report names vary by edition, so each step says what to look for.
Calls are usually most of what a local listing produces, and without a distinct number they arrive indistinguishable from every other call.
Each carries a contact detail and a date, which is all a lead file needs.
The listing produces leads whether or not you advertise. The ads are only worth what they add on top.
From whatever invoices: contact detail, amount, date.
The join runs on the phone and the email, normalised, with calls, messages and requests reported apart.
What comes back
Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Home Services page — not from a Yelp account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 54 | $218,600 | |
| Meta Ads | 29 | $66,500 | |
| Email marketing | 17 | $38,000 | |
| Direct / Unknown | 71 | $152,100 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
A business on Yelp has a free listing that people find by searching, advertising that places it higher or elsewhere, and reviews that shape whether anybody chooses it.
Reported as one thing, the listing's steady flow of enquiries gets credited to the ads, and the ads look far more productive than they are.
The honest question about the advertising is what it adds above what the listing already produced, and that needs periods with and without ads to compare.
Where the business has advertised continuously there is no baseline, and the report says so rather than inventing one.
Pausing ads for a few weeks in a quiet season is the cheapest experiment available, and the lead file makes its result readable.
A listing's reporting typically counts actions taken on the page — a call tapped, a direction requested, a website link followed.
Those are real signals that somebody was interested. They are not customers, and most of them never become one.
A tracked phone number turns one of those actions into a lead with a contact detail, and the ledger turns the lead into money or nothing.
That is the chain the report follows. Anything that cannot be followed to a contact detail stays as an engagement figure and is never presented as revenue.
Ratings change how many people pick a business from a list, and that effect is large and slow.
It cannot be attributed to a customer, because nobody in the sales file interacted with a review in a way anything recorded.
The defensible reading is to measure the Yelp channel accurately on revenue, month by month, and look at it beside the business's rating over the same period.
A report that assigns revenue to individual reviews is guessing, and the guess is invisible, which is worse than an honest gap.
People who find a local business on a phone mostly call it. Without a distinct number on the listing, those calls land on the main line beside every other call.
The result is a Yelp channel that looks small in any report and a Direct / Unknown bucket that looks large.
A tracked number fixes that from the day it is added, and it costs very little next to what the advertising costs.
Until it exists the report is honest about the gap: it ranks what it can trace and states the size of what it cannot, which is usually the most persuasive argument for adding the number.
Fair questions
It reports actions on the page. Whether they became customers is in your sales records, which it never sees.
Then the with-and-without comparison will show it, in revenue rather than in calls.
No, and nothing honestly can. The channel is measured on revenue and read beside the rating over time.
No. It reads files you exported and your own call records, so your listing and account stay where they are.
The lead side. Closed sales from your own system are the other half.
With a tracked number on the Yelp page. Without one, those calls are indistinguishable from every other call.
Yes, by comparing periods with and without advertising. Where ads have always run, there is no baseline and the report says so.
No. They are interest. A lead needs a contact detail that can be followed to a sale or to nothing.
Not to a customer, by anyone. The channel's revenue is read beside the rating over months.
No. They carry different intent and rank separately.
Days for urgent services, weeks for considered ones. Set it before you look.
Yes, and the overlap is shown rather than resolved in one channel's favour.
Any sale with no matching lead. Without a tracked number, that usually includes most Yelp calls.
A contact detail, a contact type and a date on one side; a contact detail, an amount and a date on the other. No messages, no reviews, no page activity. Encrypted in transit and at rest and deleted with the import.
Revenue per Yelp lead by contact type, with and without advertising where the file allows, and everything unmatched kept visible.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
Yelp and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.
Start today
Nothing to install in Yelp, no API key, and no need to have been tracking anything until now. Last year works as well as this month.