Closed-won, not pipeline
Rank channels by revenue that actually closed, so pipeline inflation stops setting the budget.
For B2B SaaS
Match closed-won opportunities in your CRM to the campaigns that produced the original enquiry — across a cycle measured in quarters, not sessions.
No card required Nothing to install Cancel anytime
$2,070,000 69% of $3,000,000 paid
The blind spot
Marketing reports MQLs, sales reports pipeline, finance reports revenue, and none of the three reconcile. The board asks what the demand-gen budget produced in ARR and the honest answer is that nobody can join the systems that would tell them.
What you get
Rank channels by revenue that actually closed, so pipeline inflation stops setting the budget.
A deal sourced in Q1 and closed in Q4 still traces to the campaign that produced it.
Demand gen, RevOps and finance read the same report instead of three reconciliations.
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 | 18 | $720,000 | 24% | |
| LinkedIn Ads | 21 | $930,000 | 31% | |
| Email marketing | 12 | $420,000 | 14% | |
| Direct / Unknown | 24 | $930,000 | 31% |
The MQL was invented to give marketing a number it could move before revenue arrived. In a market where cycles run two to four quarters, it has become the number teams optimise instead of revenue — and the two have drifted far enough apart that a record MQL quarter can precede a flat bookings year.
The join that would settle it is not complicated: the CRM knows which opportunities closed and for how much, and the ad platforms know which campaign produced the original enquiry. What is missing is anything that reconciles them on the person rather than on a session, which is why the answer usually lives in a quarterly spreadsheet nobody trusts.
CloseRev does that join from two exports. It is not an attribution platform to implement, and there is no tag to deploy on a product surface where security review takes a quarter of its own.
Enterprise buying committees have five to ten people and a dozen touches. Assigning the whole deal to the first or last of them produces a number that is precise and wrong, which is worse than an approximate one that is honest.
CloseRev deliberately does not model multi-touch weightings. It reports the channel that produced the contact who became the deal, and puts everything it cannot trace in Direct / Unknown rather than distributing it by a rule nobody can defend. That is a smaller claim than most attribution vendors make, and it is a claim that survives a CFO asking how the number was produced.
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
Then you probably already know its weakest point: it tracks sessions, so it loses deals whose cycle outlives the cookie and it cannot see the meeting booked from a conference badge scan. This works from CRM exports, so cycle length is irrelevant and offline sources are included rather than dropped.
Nothing connects to Salesforce. You export closed-won opportunities — a contact email, the amount, the close date — and that file is what gets analysed. No integration, no OAuth scope, no security review of a live connection.
For multi-touch weighting, yes — and we do not pretend to solve that. What we solve is that most teams cannot even produce the deterministic join, so the modelling sits on top of numbers nobody has reconciled. Start with what closed and where the contact came from.
Pricing
The number here is the number on the invoice — no per-call, per-minute or per-form fees. Most sales-led software companies with enterprise deal cycles land on Enterprise — ten seats for the team and the highest monthly record allowance, since a year of closed deals is a lot of rows.
One business closing at volume
$499/mês
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Closed-won opportunities: a primary contact email or phone, the booked amount, and the close date. Salesforce, HubSpot and Dynamics all produce this as a standard report.
Export whichever figure you want the report to rank on. It ranks consistently on what you provide.
Export the figure your team plans on — first-year ARR or TCV — and keep it consistent. Mixing the two across periods is what makes internal attribution arguments unresolvable.
It matches on the contact records you export, so exporting every contact on the opportunity attributes it to whichever channel produced any of them. It does not split credit between them, and says so rather than inventing a weighting.
Include the badge-scan or event list as a source file and those deals attribute like any other channel. This is usually the largest blind spot in a click-based tool.
As long as your data covers. There is no attribution window, because there is no cookie involved.
Typically demand gen, RevOps and someone in finance. The Enterprise plan includes ten seats and the monthly record allowance is shared across the workspace rather than per person.
Encrypted in transit and at rest, isolated to your workspace, deletable in one click, and we act as a processor with a DPA. Only a contact detail, an amount and a date are needed.
Nearby
Match signed managed-services agreements and their recurring value to the campaigns that produced the first conversation.
See how it worksMatch your clients' closed-sales exports to their ad and call data, and hand them a per-channel revenue report at renewal time.
See how it worksMatch bound policies and the commission they earned to the enquiries and campaigns that produced them, across renewal cycles measured in years.
See how it worksStart today
Upload two exports and see your real revenue by channel in minutes. Three days free, no card.