Closed revenue, not pipeline stages
Every channel is measured on the booked revenue behind it, so volume stops flattering whichever source is cheapest per inquiry.
Marketing attribution for energy and utility suppliers
Match signed contracts and the consumption revenue they carry to the campaigns, brokers and events that produced the account.
$2,160,000 54% of $4,000,000 paid
The blind spot
Energy contracts are won months before they start and bill for years afterwards. Nothing in a marketing dashboard spans either gap.
What you get
Every channel is measured on the booked 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 orders 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 | % |
|---|---|---|---|---|
| LinkedIn Ads | 31 | $560,000 | 14% | |
| Broker channel | 59 | $1,080,000 | 27% | |
| Trade events | 29 | $520,000 | 13% | |
| Direct / Unknown | 101 | $1,840,000 | 46% |
A commercial supply contract is frequently signed six months before the meter switches, and then bills for three years. The campaign that produced the account is credited for none of that.
Because the match is on the account, revenue credits the original channel whenever it bills — which for this category means the marketing budget can finally be compared against contracted revenue rather than inquiries.
Brokers and consultants introduce a substantial share of commercial energy contracts, at a commission that is accepted as a cost of doing business rather than measured against alternatives.
Added to the lead file with each broker as the source, broker introductions rank on contracted revenue alongside direct marketing, which makes the trade-off between commission and acquisition spend an arithmetic question rather than a cultural one.
Every supply contract has an end date, and in the months before it the account is in play again. Whoever holds it spends to keep it and everybody else spends to take it. The economics of that period are nothing like a new acquisition: the relationship exists, the consumption history exists, and the decision is usually taken by somebody who has been through the process at least once already. Marketing budgets rarely reflect any of it, because retention spend is booked as account management and never appears in a channel report at all.
Exporting the renewed contract as a further row against the same account contact puts it back into the picture. It credits the channel that produced the account originally, which is the honest reading — the renewal only existed to be won because a campaign or a broker introduction created the relationship years earlier. A channel that produces accounts which renew twice is worth several times one whose accounts leave at the first opportunity, and nothing in an inquiry count can separate the two. Contract end dates in the export make the difference readable directly.
The same file goes some way toward a question suppliers rarely put to themselves: which acquisition sources produce accounts that churn on price. Churn is not computed and an end date is not read, but every renewal row credits the channel that won the account, so over a range of several years a channel whose accounts renew keeps accumulating contracted revenue while one whose accounts leave at the first price rise stops. Read over a short range and then a long one, the ranking may change, and the long one is what should be setting next year's acquisition budget. It is also the argument that wins a retention budget, which can be harder to get approved than an acquisition one.
A commercial energy business often sells two things with almost nothing in common. A supply contract is a procurement decision, taken on price and term by somebody in finance, and it bills for years on consumption. An efficiency project — lighting, controls, heat pumps, metering — is a capital decision taken by an engineer or an estates manager, quoted, specified and installed. The inquiries look similar at the top of the funnel and the revenue behaves completely differently at the bottom. Reporting them together produces a blended figure that neither side of the business recognizes as its own.
A product column mapped as Product / service shows supply and works as separate lines, each with how much of it traces to a channel, and that alone can change where money goes. Search terms producing supply inquiries are competitive, well understood and cheap per click relative to the contract value behind them. Terms producing works inquiries are narrower, more expensive and convert into orders that are larger but far rarer. Funding both against one cost-per-lead target means the cheaper one wins the budget every year regardless of which is producing the revenue. That is not a judgment anybody made; it is what happens when a single average is asked to govern two different markets.
There is a second-order effect worth knowing about. Works projects can open a supply relationship, and supply relationships can produce works inquiries, and because later purchases credit the channel that produced the account, a works order from an existing supply customer is credited to whatever won the supply contract. Over a range long enough to contain both, a channel's total therefore includes the second product its accounts went on to buy, even where the product breakdown shows that channel's own line as thin. Without that long range, the cheaper half of the business can quietly look as though it generated nothing beyond itself. Cutting the wrong one of the two tends to show up much later, in the other product's numbers.
Billing is the most reliable record a supplier has. Every account that consumed anything was invoiced, the invoice carries an account contact, an amount and a date, and the whole lot was retained for audit and regulatory reasons long after anybody stopped caring about the campaign behind it. That makes the revenue side of this exercise a report somebody already runs rather than a new extract with a new approval attached. It is also why a finished year is as workable as the current one: those records were kept for billing, not for tracking, and they do not expire.
The demand side is patchier and always will be. Where an inquiry came from was recorded by whoever happened to care at the time — an advertising platform, a call log, a broker's introduction email, a list of everybody who attended a trade event. Several of those combine into one lead file, each row tagged with its source, and each one moves rows out of the unattributed column. What none of them can do is reconstruct a source nobody wrote down, and the report does not pretend otherwise. That residue stays in Direct / Unknown and is never shared out across the sources you did manage to supply.
The practical consequence is that the first report is worth running before any process changes. It tells you how much of the book is traceable at all, which is the number that decides whether tightening inquiry capture is worth the effort. The gap may well be unevenly spread: one route into the business records its source diligently and another records nothing, and knowing which is which is more actionable than any channel ranking on the first page. Fixing that one capture point is usually cheaper than the media budget being argued over.
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 there is no attribution window. Revenue credits the campaign whenever it bills.
Add the introduction list to the lead file with each broker as the source, and brokers rank against direct spend on the same axis.
Matching works on a business contact's email or phone. Company name is not used to match.
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 commercial energy suppliers and efficiency contractors — 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.
Signed contracts or billed revenue: an account contact email or phone, the amount, and a date.
Yes — it credits the channel that produced the account.
Yes, if the broker is named as the source in the lead file.
Yes: map a product column as Product / service and supply and works show as separate lines, each with how much of it traces to a channel, which keeps one strong performer from carrying the appearance of the other.
Yes: a region column mapped as Location shows contracted revenue for each region, with how much of it traces to a channel.
As long as it turns out to be. There is no window to fall outside of: however much time passes between the inquiry and the signed contract, it matches if the customer is in both files.
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.
Contract or revenue rows analyzed in a calendar month. Inquiry rows do not count.
Yes. Export the renewed contract as another row against the same account contact and it credits whatever produced the relationship in the first place. A channel whose accounts renew twice is worth several times one whose accounts leave at the first opportunity.
Not directly: end dates and outcomes are not read. Renewal rows credit the channel that won the account, so over several years a channel whose accounts renew accumulates more contracted revenue than one whose accounts leave on price, and comparing a short range with a long one shows the difference.
A duplicate introduction creates no extra credit: each contract row is credited once. Where two lead rows share the account's email or phone, the earliest one is credited automatically, so a second introduction of an account the broker already brought changes nothing.
Aggregate to account level before exporting, with one row per account per billing period. Site counts inflate the row count without improving the match, because the contact detail is held at account level anyway.
Yes. An attendee or registration list goes into the lead file tagged with the event, so the event is ranked on contracted revenue next to paid media. For suppliers selling works projects it may be the largest line nobody had measured.
No. The inputs are two CSV exports, so there is no integration, no API credential and no vendor review of your billing system. That is usually what makes this approvable inside a regulated business.
Nearby
Match awarded contracts to the inquiries, bids and campaigns that produced them, across a pursuit measured in months or years.
See how it worksMatch shipped orders back to the quote requests, trade shows and campaigns that produced them, across cycles measured in months.
See how it worksMatch signed and installed systems to the leads and campaigns that produced them, across a sales cycle that runs months and survives a finance approval.
See how it worksFrom the blog
Manufacturers are told their marketing cannot be measured because the cycle is long, the buyer is a group, and half the revenue goes through distributors. All three are real. None of them prevents you from knowing which inquiries became orders.
Read the articleTrade shows and webinars produce the best-qualified leads most companies get and the worst measurement. The badge scan is not the problem: the gap between the scan and the invoice is. Here is how to price an event by the revenue it closed, months after everybody stopped talking about it.
Read the articleTotal revenue divided by total spend feels like the honest, platform-agnostic metric. It is also incapable of telling you which channel to cut, hides the performance of everything inside it, and improves when you stop spending on the things that grow you.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.