“Our reports already show revenue by campaign.”
By the last campaign touched, which email nearly always is. Ranking on original source is a different and more useful question.
For ActiveCampaign
Export contacts with their original source and deals with their value, and rank on what each channel actually produced.
No API key Nothing to install in ActiveCampaignNothing to install No card requiredNo card
ActiveCampaign holds both halves for teams that use its deals pipeline — the contact with its source and the deal that closed — which makes it one of the few systems here that can supply the whole file. CloseRev joins those exports on the contact's phone or email and reports revenue by original source, which is also the first honest check on how much credit email has been taking for customers another channel produced. Revenue with no traceable source is reported as Direct / Unknown.
Last checked against ActiveCampaign's own documentation on September 25, 2026.
The gap
Every report says email is the best channel. Email is also the only channel that talks to people who are already yours.
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.
On the contact. The email address is the durable key here — it is what the record is built around.
How the contact first arrived, not the last automation they touched. This distinction is the whole page.
Won deals with their amount. Pipeline is a forecast.
Both, so revenue can be grouped by when the contact arrived rather than when the deal closed.
Step by step
Written for somebody with ActiveCampaign open in the next tab. Report names vary by edition, so each step says what to look for.
One row per contact with a contact detail, the source it arrived from and the date it was created.
Contact detail, amount, close date.
Almost every customer touches an email before buying, so that field ranks email first by construction rather than by performance.
They are the cost of the source that produced them, and excluding them flatters whichever channel produces the most volume.
The join runs on the email and the phone, normalised, grouped by when the contact first arrived.
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 ActiveCampaign 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
Marketing automation talks to people who have already given you an address, which means it touches nearly everybody on their way to buying.
Any model that credits the last interaction therefore ranks email first, in almost every account, regardless of whether it changed a single decision.
That is not the tool being dishonest; it is a last-touch model applied to a channel that is structurally last. The fix is to rank on where the contact came from originally.
Doing that usually moves a large share of revenue off email and onto whatever actually produced the contact — search, an event, a referral, a paid campaign.
It also makes email's real contribution measurable, which is a question about what it does to conversion rate and time to close rather than about who to credit.
Once email stops competing for acquisition credit, the interesting question becomes what the automations are doing to people who were already in the file.
That is a retention and velocity question: do contacts on a sequence close at a higher rate, and do they close faster, than comparable ones who are not.
Both are answerable from the same two exports by splitting contacts on whether they entered the sequence, and neither requires attributing revenue to a send.
The result is a defensible number for the programme without pretending an email produced a customer that search produced.
It is also more useful operationally, because it points at which sequence to change rather than at a budget line.
Holding contacts and deals in the same place means the export is clean and the match rate is high, which is a genuine advantage over most of this catalogue.
What it does not do is verify the source field, which is still populated by a form mapping written two years ago, an import, or whoever created the record.
Bringing in a separate lead file — call tracking, an advertising platform's lead export — gives a second, independent view, and the disagreement between them is the finding.
The report shows where the two differ rather than preferring one, because a source field that has quietly been wrong since a form was rebuilt is a common and invisible failure.
A won deal carries whatever amount was entered, at whatever moment somebody moved the card, and that is frequently the list price rather than what was paid.
Where the business invoices from another system, exporting revenue from there instead turns the deal value back into a forecast and the ranking into money.
The gap between the two is not spread evenly across sources: channels that produce price-sensitive buyers show the widest one.
Where only the CRM figure exists, the report uses it and labels it as such rather than implying a precision the data does not have.
Fair questions
By the last campaign touched, which email nearly always is. Ranking on original source is a different and more useful question.
Not the claim. Email's effect is on conversion rate and speed, and both are measurable — just not by giving it the acquisition credit.
Then a second view will agree with it, and you will have evidence rather than an assumption.
No. It reads exported files, so your contacts, automations and sends stay where they are.
Contacts with a contact detail, original source and created date, plus won deals with amounts and close dates.
Email touches nearly everybody before they buy, so a last-touch model ranks it first by construction rather than by performance.
By what it does to conversion rate and time to close for contacts already in the file. That is answerable from the same two exports.
Yes. They are the cost of the source that produced them.
Yes, by bringing in a separate lead file. Where the two views disagree you have found something worth fixing.
Often not. Where you invoice elsewhere, export from there and the difference becomes measurable.
Yes, and that is the grouping a spending decision needs.
Label the import as its own source. Leaving it blank silently credits whatever field defaults to.
Any revenue whose contact has no usable original source. Its size is stated rather than distributed.
A contact detail, a source and a date on one side; a contact detail, an amount and a date on the other. No email content, no open or click data, no automation history. Encrypted in transit and at rest and deleted with the import.
Revenue per original source grouped by when the contact arrived, email's effect reported separately from acquisition, 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.
ActiveCampaign 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 ActiveCampaign, no API key, and no need to have been tracking anything until now. Last year works as well as this month.