“We already set a source on every deal.”
This checks that field against what actually closed, and adds the campaign and the cost behind it. Where the two agree you have gained confidence; where they disagree you have learned something.
For Pipedrive
Export won deals and match them to the ads, calls and referrals behind them — including the sources Pipedrive only records as a text field.
CloseRev reads a Pipedrive export of won deals — the person's email or phone, the deal value and the won date — and joins it to your call log and lead files. It gives a small sales team channel-level revenue without asking anyone to maintain a source field by hand. Deals that match nothing are left in Direct / Unknown rather than credited to a campaign.
Page updated September 24, 2026.
The gap
Pipedrive's source field is whatever the rep typed. It is not a campaign, it has no cost attached, and nobody has ever checked it against what closed.
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.
The person linked to the deal. Pipedrive keeps people and organizations separately, and the person is the one who can be matched.
The won value. If you discount heavily, export the final value rather than the original.
The date the deal was marked won, used consistently across uploads.
Keeps new business, upsell and renewal pipelines from averaging into one cost per deal.
Step by step
Written for somebody with Pipedrive open in the next tab. Report names vary by edition, so each step says what to look for.
Build a filter for won deals over your chosen period and add the person's email and phone to the visible columns.
Deals closing this quarter were created in earlier ones. If the file starts where the quarter starts, most rows will have no inquiry to match to.
Organization name alone cannot be matched. The email or phone on the linked person is the key.
Confirm the suggested mapping or set it by hand. Nothing is inferred without you seeing it first.
Ad exports, call tracking, referral lists, outbound sequences — combined into one lead file with a source on every row, so each source is ranked on won revenue.
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 B2B SaaS page — not from a Pipedrive account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 18 | $720,000 | |
| LinkedIn Ads | 21 | $930,000 | |
| Email marketing | 12 | $420,000 | |
| Direct / Unknown | 24 | $930,000 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
Almost every Pipedrive account has a source field on the deal or the person, and almost none of them are trustworthy. It is filled in by a rep at the moment of creation, from a list somebody wrote two years ago, based on what the prospect said when asked how they found you — and prospects genuinely do not remember.
The field is not useless. It is a sales-side hypothesis. What it cannot do is carry a cost, distinguish a campaign from a channel, or survive contact with the question of what the source actually earned.
Reconciling won deals against the source exports replaces the hypothesis with a join. The person who signed in September either appears in August's ad-click list or they do not. The match never reads the rep's field, so the two stay independent and can be compared — and where they disagree, the disagreement is more informative than either one alone.
Pipedrive's typical customer is a team small enough that nobody owns reporting and large enough that the ad spend matters. The result is that channel decisions get made on impressions of what is working, and those impressions are formed by whichever deal closed most recently and most loudly.
Two file uploads produce a ranked table instead. It is not a data project and it does not require anybody to change how they use the CRM.
Two channels can produce the same number of won deals while one of them also produced forty lost ones that consumed a month of the team's time. Won-deal revenue alone rates them equally.
Lost deals belong nowhere near the sales file, where every row counts as a sale. They are already in the picture through the lead file: the report shows each channel's leads beside its won deals, which is its win rate in all but name. For a small team where selling capacity is the real constraint, that is often the more actionable half.
There is no app to authorize, no tracking code, and no change to your pipeline configuration. The method works from records the CRM already holds because the sales team kept them for their own reasons.
That also means last year works. You do not need to have been instrumented at the time, which is the usual reason attribution projects start producing useful output two quarters after somebody decides to do one.
The output is a short list: channels ranked by won revenue, with the deal count behind each and an honest unattributed bucket. On a small team the useful action is usually one of three things, and all of them are cheap.
Shift budget from a channel producing volume to one producing value. Change what the team responds to first, because the report shows which source's deals actually close. Or stop paying for something entirely, which is the hardest decision to make on impressions and the easiest to make on a revenue table.
None of those needs a project. They need one number that somebody trusts, which is what the reconciliation produces.
Fair questions
This checks that field against what actually closed, and adds the campaign and the cost behind it. Where the two agree you have gained confidence; where they disagree you have learned something.
Then the cost of misallocating a channel is a larger share of your budget, not a smaller one.
The match needs a person with an email or phone, a value and a date. Everything else about how you use it is irrelevant.
Won deals with the linked person's email or phone, the deal value, and the won date.
Person. An organization name cannot be matched to a click or a call; a person's email or phone can.
In effect, yes: the report shows each channel's leads beside its won deals. Keep lost deals out of the sales file — every row there counts as a sale.
Yes, with a pipeline column, so new business and renewals are not blended.
Two sales cycles at minimum, so deals closing now have their inquiries in the file.
No. It is a CSV export and upload.
Yes — put the referral list in the lead file under its own source name and it is ranked on won revenue like any other.
They cannot be matched and are reported as unattributed rather than guessed at.
Yes, on Growth and Enterprise, which carry more than one seat. Every match is auditable and reversible.
A won-deals export and nothing else: person email or phone, deal value, won date. No notes, no mail sync, no activity log. Uploads are encrypted in transit and at rest, kept per workspace, and deleted with their import when you remove it.
About as long as the two exports do. There is no configuration step between uploading and reading.
There is no automatic schedule: you re-upload, which is a five-minute job once the mapping is saved.
Yes, if they carry a person with a contact detail and a date. A call log or a form submission list works the same way.
Add a product or deal-type column so the report does not average two businesses into one cost per deal.
Yes, as CSV — a summary by channel, campaign and month that you can paste into whatever you already report from.
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.
Pipedrive 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.
From the blog
The export is the part of an attribution project that everyone treats as trivial and that determines whether the whole thing works. Here is the field list, the date-range trap, the deduplication rule, and the six columns to leave out on purpose.
Read the articleEvery attribution vendor quotes a match rate and none of them define it the same way. Here is what the number actually measures, what range is honest for a mid-market business, and the three ways the figure gets inflated before it reaches your slide.
Read the articleA channel judged on its first invoice is judged on the wrong customer. For a business that sees the same households again, the channel that sends loyal customers can look expensive and the one that sends deal hunters can look brilliant. Here is how to compute revenue per customer by acquisition channel at 12 and 24 months from a sales export, read cohorts honestly, switch to margin, and set what you can afford to pay for a customer.
Read the articleStart today
Nothing to install in Pipedrive, no API key, and no need to have been tracking anything until now. Last year works as well as this month.