Fees and retainers, not inquiries
Every channel is measured on the collected fees behind it, so volume stops flattering whichever source is cheapest per inquiry.
Marketing attribution for consulting firms
Match signed engagements and their fees to the content, events and campaigns that produced the client.
$513,000 57% of $900,000 paid
The blind spot
Consulting sells on reputation over a long horizon. That makes marketing easy to defund and hard to defend, because nothing connects a signed engagement to what produced it.
What you get
Every channel is measured on the collected fees behind it, so volume stops flattering whichever source is cheapest per inquiry.
Long gaps are the normal case here, not an edge case. The client appears in both files, so the match holds however far apart the two dates are.
Every match is auditable and reversible, and engagements 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 | 9 | $171,000 | 19% | |
| Content & SEO | 11 | $198,000 | 22% | |
| Events & speaking | 8 | $144,000 | 16% | |
| Direct / Unknown | 21 | $387,000 | 43% |
Consultancies win work by being visible and credible — a conference talk, a well-read report, a webinar. The pipeline that produces is real and is almost never connected to a signed engagement.
Attendee lists, download lists and webinar registrations can all go into the lead file, each tagged with its source. Included there, they rank on engagement fees alongside paid channels, which can show that the cheapest activity produces the largest work.
Consulting clients return. An initial diagnostic that becomes an implementation and then a retainer is worth many times its first invoice, and the campaign that produced it is credited for none of that.
Matching on the client means later engagements keep crediting the original channel, which is the only ranking that reflects how consultancies actually make money.
A meaningful share of consulting revenue arrives through other firms: a larger consultancy subcontracting a specialist workstream, a technology vendor bringing you into an implementation, a boutique passing on work that falls outside its capability. The client is somebody else's client, the introduction was a phone call between two partners, and the revenue lands in exactly the same accounts as everything the marketing budget produced, where it is counted without being distinguished. On a channel report it looks like unattributed demand, which is one of the reasons that bucket is so large in this segment.
Left unseparated it makes every channel figure on the page difficult to read. A list of the clients each firm or individual introduced, with the introducer as the source, can go into the lead file, and each named partner ranks on collected fees beside paid channels, content and events. The ranking may show concentration: one or two relationships producing most of the referred work, with a long tail that costs roughly as much to maintain. Partner-sourced work and marketing-sourced work are different businesses with different costs, and both deserve a number.
It also reframes a decision that partnerships teams tend to make on instinct. A reciprocal relationship that has produced nothing for two years appears as a row with no revenue against it. That is not automatically a reason to end it, because these relationships run on long horizons and reputations are not quarterly, but it is a reason to have the conversation with a figure in front of you rather than with an impression of how things are going. A quiet row is information; it just is not the kind of information that should be acted on within a quarter.
A consultancy can describe the same engagement three different ways: a contracted fee, a forecast number of days, or the amount actually invoiced once the scope moved. Different people inside the firm habitually use different ones, and an attribution report built on whichever was easiest to export ends up ranking channels against a quantity that shifts depending on who happened to run the export and in which week they ran it. The channel ranking then changes between exports, and nobody can say whether the market moved or the definition did.
Pick collected fees by client and month, and then hold to it. It is the figure that survives scope changes, unbilled time, discounts negotiated at the end of a project and engagements that simply stopped halfway through. It also means a retainer credits the acquiring channel every month that it runs rather than once at signature, which is much closer to how retainer-led firms actually earn their living across a year. It is also the figure a finance director will recognize, which matters when the report leaves the marketing team.
The consistency matters more than the particular choice. A report that used contracted value last year and collected fees this year will show channel movements that are entirely artefacts of the export, and those are precisely the movements people act on because they look like news. Fixing the definition once, at the point the file is first mapped, removes a whole category of argument from every subsequent year of reporting. Deciding it once is cheaper than relitigating it every time somebody new runs the report.
Many consultancies close between ten and fifty engagements a year. At that volume a monthly channel ranking is noise: one good win moves a channel to the top of the table, and its absence the following month moves the same channel to the bottom, and neither movement carries any information about the channel itself that anybody could act on with confidence. Reading a monthly report at that volume is how a firm talks itself into cutting a channel that was working perfectly well, on the evidence of one quiet month.
The right unit here is several years. Because there is no attribution window and the records exist for billing rather than for tracking, a firm can upload three or four years at once and read a ranking with enough engagements behind it to mean something. Deal count is shown next to revenue for the same reason: a channel with one large win and a channel with eleven modest ones should never be read the same way. Ranking a handful of large engagements without their count beside them is close to reading an average of two numbers.
The same caution applies to the unattributed share. In a practice built on reputation it will be large, and it will move between years for reasons that have nothing to do with marketing at all. Its level across several years is informative and worth watching. Its movement between two quarters usually is not, and treating the latter as a signal is how a firm ends up cutting the spending that was quietly working. Reputation moves slowly, and a report on it should be read on the same timescale as the thing it measures.
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 the Direct / Unknown bucket respects. What the report adds is a fair reading of the spend around it.
Which is why ranking on fees rather than leads matters — at a few dozen engagements a year, lead counts are noise.
Add the attendee list to the lead file, tagged with the event, and events rank on signed fees like everything else.
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. Growth usually fits management and specialist consultancies — thirteen months of history to compare a month to the same month last year, and a PDF you can put in front of whoever holds the budget.
A business scaling ad spend
$49/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Signed engagements: a client contact email or phone, the fee, and a date.
Add the attendee or registration list to the lead file, tagged with the event as its source.
Yes — later fees credit the channel that produced the client.
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 engagement, it matches if the client is in both files.
Yes, with a service column.
Encrypted in transit and at rest, isolated to your workspace, and deletable in one click. A DPA is available, and client details never leave that workspace.
Yes, and at this deal volume that is the right unit.
Engagement rows analyzed in a calendar month. Lead rows do not count.
Collected fees by client and month. Contracted value moves when scope moves, and a report that switches between the two between years shows channel movements that are artefacts of the export rather than of the market.
Yes, when each month is exported as its own row against the same client contact. That reflects how a retainer-led practice actually earns, rather than crediting the acquiring channel once at signature and never again.
Add the clients each referring firm introduced to the lead file, with that firm as their source. Each one then ranks on collected fees, which separates partner-sourced work from what the marketing budget genuinely produced.
Three or four, at typical consulting deal volumes. A monthly ranking at a dozen engagements a year is noise, and one large win will move a channel to the top and back down again.
Yes, by mapping an originating-partner column as Product / service (one extra breakdown per import). It shows how much new fee income depends on particular individuals, which firms tend to read as a succession question as much as a marketing one.
No. A client contact detail, a fee and a date is enough, and many firms export a contact detail with an internal reference rather than the client's name in the file.
Nearby
Match engaged clients and the fees they pay, year after year, to the campaigns that produced them.
See how it worksMatch 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 filled placements and the margin they earned to the campaigns that produced the client relationship.
See how it worksWhere your sales already are
Export won deals and match them to the ads, calls and referrals behind them — including the sources Pipedrive only records as a text field.
What to exportExport sales invoices, upload your lead and call records beside them, and rank channels on the revenue you actually billed.
What to exportExport paid invoices and contacts, upload your ad and call sources beside them, and rank marketing on revenue rather than on opens.
What to exportExport your Calendly invitees, upload your closed sales beside them, and find out which bookings turned into money.
What to exportExport collections from Rocket Matter, upload the leads behind them, and rank marketing on money received rather than hours recorded.
What to exportExport won deals and leads from Zoho CRM, join them on the contact detail, and see what the source field has actually been recording.
What to exportExport deals and leads from your boards, reconcile them once in the file, and get a single revenue-by-source answer.
What to exportExport won opportunities and leads from Copper, join them on the contact detail, and recover how the relationship actually started.
What to exportExport billings from Actionstep, upload the inquiries behind them, and get an answer per practice group rather than per firm.
What to exportExport contacts with their original source and deals with their value, and rank on what each channel actually produced.
What to exportExport your bookings, match them against closed sales, and find out which appointment types and which channels produced revenue.
What to exportExport leads and invoices from Odoo, join them on the customer, and rank sources on invoiced revenue.
What to exportExport prospects from Redtail, match them against new households and fees, and rank sources on the assets and revenue they actually produced.
What to exportFrom the blog
Before you can argue about attribution you have to agree what a sale is, when it happened, and how much it was worth. Most businesses have never had that conversation, which is why the marketing number and the finance number never match and everyone assumes somebody is wrong.
Read the articleCall tracking answers one question well: which campaign produced the ring. It has no view of what happened after the call ended, which is where the money is decided. This is what the gap costs, and how to close it without replacing the call tracker you already have.
Read the articleOne tracks individuals and cannot see causation. The other infers causation and cannot see individuals. Vendors sell them as competitors, which is convenient for whoever is selling. Here is what each can and cannot tell you, and what a mid-market business should do instead of buying either.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.