A workspace per client
One login, a separate isolated workspace for each client. Switch, report, repeat.
For Marketing Agencies
Match your clients' closed-sales exports to their ad and call data, and hand them a per-channel revenue report at renewal time.
No card required Nothing to install Cancel anytime
$326,200 77% of $423,600 paid
The blind spot
Your dashboards prove clicks and calls, but the client's boss asks about dollars. The revenue lives in their CRM, the source lives in your ad platforms, and nobody joins them — so every renewal becomes an argument about whether leads were any good.
What you get
One login, a separate isolated workspace for each client. Switch, report, repeat.
Export a read-only report with your mark on it and ours removed, and forward it to their CFO.
No tracking numbers to provision, no scripts on their site. Two CSVs and you have the answer.
A worked example
Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.
| Channel | Sales | Revenue | Share | % |
|---|---|---|---|---|
| Google Ads | 61 | $186,400 | 44% | |
| Meta Ads | 48 | $93,200 | 22% | |
| Email marketing | 19 | $46,600 | 11% | |
| Direct / Unknown | 44 | $97,400 | 23% |
Agencies do not usually lose accounts because the campaigns were bad. They lose them because at renewal the client asks what the spend produced, and the honest answer available is a number of leads — while the client is looking at a bank balance.
The gap is structural rather than anyone's fault. Your ad platforms know which click produced a call. The client's CRM knows which of those calls became a paying customer six weeks later. Nothing joins the two, so the most important number in the relationship is the one nobody can produce.
CloseRev closes that gap with the two exports both sides already have. You are not asking the client to install anything, change their CRM, or trust a new script on their website — which matters, because the client who is questioning your value is exactly the client who will not approve a new integration.
Running several clients through one account with a client field is fine until the first time a report shows the wrong logo, or a junior exports a CSV containing two clients' customer lists. Both are recoverable mistakes with unrecoverable consequences.
Each client gets a separate workspace with its own data, its own record allowance and its own retention window. Someone with access to one has no path to another. That is also what makes the data-processing conversation short when a client's counsel asks how their customers' phone numbers are kept apart from someone else's.
A report with another vendor's name on it invites the question of who actually did the work. On the Agency plan the CloseRev mark comes off entirely and yours goes on, so what lands in the client's inbox is your analysis.
It also travels. A read-only link or a PDF gets forwarded to a finance director who was never in your kick-off call and does not know what a UTM is. The report is written to survive that forwarding — closed revenue by channel, with the unattributed portion shown rather than hidden.
Why it matters
"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.
Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgement, you are reading the same ledger they are.
Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.
Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.
Honest answers
That is the normal case, and it is why there is no template to fill in. Any column layout works — you confirm what maps to what before anything runs, and extra columns are ignored rather than rejected. The one thing that genuinely matters is a phone number or an email address on each row.
Some of it will be, and showing that honestly is the point. A tool that reports 100% attributed is redistributing the unmatched portion across your channels — which flatters whichever channel it guessed and eventually gets caught. A defensible 74% beats an indefensible 100%.
Keep it. CloseRev sits on top of what it produces rather than replacing it — a call tracker tells you a call came from Google Ads, and CloseRev tells you that call became $4,200. If you export from CallRail, Invoca or WhatConverts, that export is one of the two files.
Pricing
The number here is the number on the invoice — no per-call, per-minute or per-form fees. Most agencies running Google & Meta for multiple clients land on Agency — ten client workspaces, each isolated with its own allowance, plus white-label reports.
Reporting on many clients at once
$799/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
No. CloseRev reconciles data you already have — CRM exports and ad or call-tracking exports — so there is nothing to instrument, nothing to keep working after a site redesign, and nothing to ask their developer for.
The Agency plan includes ten client workspaces, each isolated, with extra workspaces at $25/month. Every workspace has its own monthly record allowance rather than sharing one pool.
Yes — invite them to their workspace as a viewer, which lets them read the report and export it but not run imports or change settings. Or send a read-only share link, which needs no account at all.
On the Agency plan, entirely. Your logo appears on reports on every plan; removing our mark is what Agency adds.
Minutes. There is nothing to provision — you upload their two exports, confirm the column mapping once, and the mapping is the same next month.
It still matches. Matching is on the person — a normalised phone number or a canonicalised email — not on a session or a cookie, so a ninety-day sales cycle is not a problem. Cookie-based attribution has usually lost that link long before.
No. There are no phone numbers, no minutes, no per-form fees and no overage bills. One flat price per plan, which is also why the number on the pricing page is the number on the invoice.
Most agencies do, either as a line item or folded into the retainer. There is nothing in the licence preventing it — operating client workspaces on the Agency plan is exactly what the plan is for.
Export everything, then delete the workspace. Deletion removes the records and the original CSVs. You can also set a retention window so imports purge automatically.
Nearby
Match your practice-management export to your call and ad data, and see which channels produced treatment that was actually paid for.
See how it worksMatch your invoiced jobs to the calls and ads that produced them, and find out which channel is actually paying for the trucks.
See how it worksMatch signed, fee-earning matters to the calls and ads that produced them — including the ones that settled a year later.
See how it worksStart today
Upload two exports and see your real revenue by channel in minutes. Three days free, no card.