Closed revenue, not pipeline stages
Every channel is measured on the closed-won revenue behind it, so volume stops flattering whichever source is cheapest per inquiry.
Marketing attribution for Cloud & Infrastructure Providers
Match paid accounts and the consumption revenue they generate over quarters to the campaigns that produced the signup.
$1,855,000 53% of $3,500,000 paid
The blind spot
Free tiers and self-serve signups make top-of-funnel look extraordinary. Paid consumption is a different population, and dashboards cannot connect the two.
What you get
Every channel is measured on the closed-won revenue behind it, so volume stops flattering whichever source is cheapest per inquiry.
Long gaps are the normal case here, not an edge case. The account appears in both files, so the match holds however far apart the two dates are.
Every match is auditable and reversible, and deals that trace to nothing are shown as Direct and Unknown rather than shared out across the paid channels.
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 | 214 | $595,000 | 17% | |
| Content & SEO | 301 | $840,000 | 24% | |
| Developer events | 152 | $420,000 | 12% | |
| Direct / Unknown | 589 | $1,645,000 | 47% |
An account that starts at $90 a month can be at $18,000 a month three years later. Attribution that stops at the first invoice describes almost none of the value a channel produced.
Because the match is on the account, every later month of consumption credits the original channel — which is the only ranking that reflects how infrastructure businesses actually compound.
Documentation, open-source presence, conference talks and community programs drive a large share of adoption and are defended almost entirely on faith.
Any list with contact details — event registrations, newsletter signups, community sign-ups — can go into the lead file, tagged with its source. Ranked on consumption revenue, these channels may outperform paid search by a wide margin, which is worth being able to prove.
A developer signs up with a work email on a Tuesday, spends forty dollars a month for half a year, and then somebody in procurement signs a committed spend agreement for a substantial sum. Two systems recorded that: the product, which saw a self-serve signup, and the CRM, which saw an enterprise opportunity with a different contact on it. Neither holds the join, so the marketing report shows either a cheap signup or an expensive enterprise deal depending on which system anybody happened to open.
Exporting both and matching on the contact puts them back together. The committed contract credits the channel that produced the original signup, which is usually a documentation page, a tutorial, a community post or a conference talk rather than a sales campaign. It is common for the bottom-up motion to be funding most of the enterprise revenue while being budgeted as a content cost, and for that to be invisible in every dashboard the company currently runs on a weekly basis.
Where the enterprise contact never self-served and appears in no lead file, the deal stays in Direct / Unknown. Nothing is assumed from a shared email domain, because a domain is not a person and treating it as one would credit a channel for a colleague's click months earlier. A domain is simply not a matching key; the only weaker link the engine produces, the same national number under a different country code, is listed for somebody to accept or reject rather than counted automatically, which is what keeps the attributed figure defensible when the finance team starts checking it line by line.
Consumption businesses have an extreme spread. A hobby project, a funded startup and a media company running a live event are all on the same price list and three orders of magnitude apart in what they pay. Averaging them produces a cost-per-account figure describing nobody, and a channel ranking driven entirely by how many small accounts each source happened to produce that month rather than by what any of them went on to spend. The ranking then tracks account volume, which is close to the thing the business cares about least, and it lurches whenever a free-tier campaign happens to run.
Slicing helps and needs one extra column. Product line, region, plan tier or account size band — whichever your business genuinely differs along — mapped as Product / service, and the report shows consumption revenue for each slice with how much of it traces to a channel. It does not rank channels inside each slice, but it shows where attributed revenue is concentrated and where it is thin, which a single blended figure hides. A channel funded on a blended number may be excellent at one end of the range and weak at the other, and the slice is where that first becomes visible. One column, added once at export, is all it takes.
Region deserves particular mention, because infrastructure demand is geographically lumpy in a way that surprises teams. Data residency requirements, local competitors, latency-sensitive workloads and the language your documentation is written in all push adoption unevenly across markets. A campaign returning nothing in one region and paying for itself twice over in another is invisible inside a global total, and a global total is what almost everyone in this segment is currently reading. Splitting by region is frequently the first cut that makes a marketing plan look wrong in a way somebody can act on.
Technical content is defended on traffic, and traffic is a poor proxy here. A tutorial ranking for a broad term brings tens of thousands of readers who will never deploy anything. A comparison page, a migration guide or a documentation section answering one specific failure mode brings a few hundred readers, and a meaningful share of them become paying accounts, because the person reading it already has the problem the page describes. Traffic ranks the first page far above the second, and consumption revenue ranks them the other way round.
Ranking on consumption revenue rather than sessions reorders that list immediately. It is one of the few measurements that can justify writing fewer and deeper pieces, because it shows where the revenue came from rather than where the pageviews did. It also identifies what is worth maintaining: a guide that produced substantial revenue two years ago and has since gone stale is a concrete loss rather than an item on somebody's housekeeping backlog. It also gives a documentation team the one argument it has never had, which is a revenue figure attached to a page.
The mechanics are ordinary. A list of people who downloaded something, registered for something or arrived through an identifiable campaign becomes the lead file, each row tagged with its source; paid accounts and their consumption become the revenue file; the report joins the two on the person. Historical periods work as well as current ones, because the consumption records were kept for billing, which means a year of content decisions can be assessed without waiting another year to instrument anything first. Nothing is installed on the product, the documentation site or the console, and no permission is granted to anybody.
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 judgment, 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
Which is why paid consumption is the measure. Free accounts appear as unmatched leads and cost nothing against your allowance.
Export monthly consumption; later revenue keeps crediting the channel that produced the account.
Currency and phone country are set per dataset, so a mixed international file is handled correctly.
Pricing
The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Enterprise usually fits cloud, hosting and infrastructure platforms — 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/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Paid accounts or consumption revenue: an account contact email, the amount, and a date.
Yes — later consumption credits the channel that produced the account.
Add the registration or scan list to the lead file, with the event as the source on each row.
Yes: a product column mapped as Product / service, or a region column mapped as Location, and the report shows revenue for each with how much of it traces to a channel.
Yes, currency is set per dataset.
Encrypted in transit and at rest, isolated to your workspace, and deletable in one click. A DPA is available, and account details never leave that workspace.
Yes. Most cloud, hosting and infrastructure platforms begin with last year, because it is the cheapest way to find out whether the exercise tells them anything.
Account or revenue rows analyzed in a calendar month. Free signup rows do not count.
Where the email or phone is the same, yes. A shared email domain on its own is not a match and is not flagged either, because a colleague's signup is not evidence that a campaign produced the contract.
Export what you recognize. Most platforms use consumed revenue by month, because a commitment that goes unused overstates what the channel produced and makes two reporting periods impossible to compare fairly.
Yes, wherever you can produce a list of people who arrived through them: a download, a registration, an identifiable campaign. Pages with no capture stay unattributed rather than being credited by inference.
Currency is set per dataset rather than globally, so a regional export in its own currency is analyzed correctly. Keep one currency per file and the totals stay comparable when you read the regions side by side.
They match on the same contact, so the returning revenue credits the original channel again. If a different campaign captured them the second time, that record goes in the same lead file, and the revenue still credits the earliest one automatically.
Aggregate consumption by account and month before exporting. That takes a very large usage table down to a manageable file without changing any ranking, since the match is on the account rather than the transaction.
Nearby
Match closed-won opportunities in your CRM to the campaigns that produced the original inquiry — across a cycle measured in quarters, not sessions.
See how it worksMatch closed-won contracts to the campaigns, events and content that produced the first conversation — across evaluations measured in quarters.
See how it worksMatch installed services and the recurring revenue they bill to the campaigns and partners that produced the account.
See how it worksFrom the blog
A software company with both a free trial and an enterprise sales motion has two attribution problems that contradict each other. Product analytics claims the signup, sales claims the contract, and the finance system records revenue that neither of them can explain.
Read the articleLinkedIn is the one paid channel where the person who clicked is very probably the person you wanted. It is also the channel whose reporting is least able to tell you whether that person ever bought — because the sale happens months later, through a committee, in a system LinkedIn cannot see.
Read the articleA big unattributed bucket is not a broken report. It is a measurement — and there are only four things it can be. Here is how to read it, how to shrink it, and why any tool that hides it is lying to you politely.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.