Contract value, not MQLs
Rank on contract revenue, so a single high-value contract is not averaged away by the noise around it.
Marketing attribution for facilities management companies
Match signed contracts and the revenue they bill across their term to the campaigns, events and bids that produced the client.
$1,040,000 52% of $2,000,000 paid
The blind spot
FM contracts are multi-year, multi-service and won over eighteen months. Marketing is reported quarterly on inquiries.
What you get
Rank on contract revenue, so a single high-value contract is not averaged away by the noise around it.
Time between the advertisement and the contract revenue is irrelevant to the match, which is the reason this works where tag-based tracking does not.
Every match is auditable and reversible, and contracts 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 | 11 | $340,000 | 17% | |
| Trade events | 9 | $280,000 | 14% | |
| Bid & tender lists | 14 | $420,000 | 21% | |
| Direct / Unknown | 31 | $960,000 | 48% |
An FM contract moves through qualification, tender, presentation and mobilization across more than a year. Any report tied to a quarter is measuring the wrong thing at the wrong time.
Because there is no attribution window, a contract signed this year can be traced to the campaign that produced the inquiry two budget cycles ago — which is the only honest way to evaluate the spend.
A contract that starts as cleaning becomes cleaning, maintenance and security. The additional scope is worth more than the original award and is credited to nobody.
Matching on the client means expansion revenue credits the channel that opened the relationship, which is normally the difference between a marketing budget that looks marginal and one that clearly pays.
An FM bid is a project in itself. Site visits, staff transfer analysis, mobilization planning, pricing models, a written submission running to hundreds of pages, and a presentation team taken off other work for two weeks. The cost is real and it is charged to overhead, and the win rate on any given source of opportunities is what decides whether pursuing them was rational. Almost nobody calculates it, because opportunities and awards sit in different systems and nobody has ever been asked to join them. The bid team knows which portals feel productive, and renewals run on that.
Uploading the list of opportunities a source produced, and ranking the awards that followed, converts the feeling into arithmetic. A portal producing sixty invitations and two awards has a cost per win that includes fifty-eight unsuccessful bids, and stating it that way frequently ends a subscription renewed on volume for six years. The opposite result happens too and is more valuable: a source producing four invitations a year of which three were won deserves expanding, and nobody had noticed because it was quiet. Quiet and productive is the combination that most reliably escapes attention.
Framework and panel appointments deserve their own line in this analysis. They are not opportunities in the usual sense; they are permissions to be asked, and the revenue that follows can run for years with no further bidding. Treating a framework as a source in the lead file and ranking the contracts awarded under it can be the most flattering number an FM provider will ever see about its own business development. It is also the least likely to have been counted before, because the appointment happened in a different financial year from most of the revenue it produced.
An integrated contract mixes work the provider performs and work it manages. Cleaning and helpdesk may be self-delivered, while lifts, fire systems and specialist maintenance are subcontracted and passed through at a margin. Both appear in contract revenue and they are worth entirely different amounts to the business, so ranking channels on headline contract value rewards whichever ones produce large pass-through contracts. That is a ranking on gross revenue rather than on anything the business keeps, and gross revenue is the number quoted while margin is the number managed.
Exporting managed revenue net of pass-through, or exporting pass-through as separate rows marked by a column mapped as Product / service, keeps the comparison meaningful. It is more work to produce than a single contract value, and it is the difference between a report describing the business and one describing its invoicing. Many providers already hold the split, because it drives internal reporting and contract profitability review, so pulling it into the marketing view is a matter of asking finance for a column that exists rather than building anything. Whichever basis is chosen, use it consistently across every period compared.
The distinction matters most when comparing sectors. A contract in a data-heavy or highly regulated environment carries a large managed component and a modest self-delivered one; a straightforward commercial office may be nearly all self-delivery. Channels can specialize by sector without anybody intending it, so a channel's apparent performance can be a statement about the kind of building it reaches rather than about the channel itself. A sector column mapped as Product / service shows each sector's revenue and how much of it traces to a channel, which at least shows where attributed revenue is concentrated. It takes the place of a service column, since the report holds one such breakdown per import, so choose whichever question matters more.
Retaining an FM contract costs a fraction of winning one. There is no mobilization, no staff transfer, no site knowledge to acquire and frequently no full competitive process, yet a retained contract counts for nothing in most marketing reports because it was not a new logo. That is an accounting convention rather than a commercial fact. The revenue continues, it continues because the original relationship was won, and the channel that produced that relationship is still earning from it a decade later. Nothing in a lead-based report can express any of that.
Exporting renewal revenue as further rows against the same client contact credits it properly. The effect on a channel's apparent return is dramatic in this sector, because contract lives are long and renewal is the normal outcome for a provider that performs. A campaign that produced two clients eight years ago may have generated more revenue than everything the marketing budget has bought since. That is not a reason to rerun an eight-year-old campaign; it is a reason to stop judging acquisition spend on the first contract term, which is how most FM marketing is currently assessed.
It also reframes what a loss costs. A contract lost at renewal is not one year of revenue gone; it is the remainder of a relationship an acquisition channel paid to create. Carrying the outcome in the export lets the report be read on revenue retained as well as revenue won, and the two rankings identify different things — one finds the channels that open doors, the other finds the channels that bring clients who stay. For a business whose economics depend on contract life, the second is the more important list and it is almost never produced.
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. A contract signed this year still credits the campaign behind the inquiry.
Add the bid or tender list to the lead file, tagged with its source, and it ranks against every paid channel.
Export contracted revenue with a service column mapped as Product / service, and the report shows each service line's revenue and how much of it traces to a channel.
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 integrated facilities management providers — 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: a client contact email or phone, the amount, and a date.
Yes — later revenue credits the channel that opened the relationship.
Yes — each goes into the lead file with its own source name.
Add the attendee or scan list to the lead file, with the event as the source on each row.
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 client is in both files.
Yes: map a service column as Product / service and each line shows its own revenue and how much of it traces to a channel.
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. Site plans and access schedules can stay out of the export.
Contract or revenue rows analyzed in a calendar month. Inquiry rows do not count.
Yes. Upload the list of opportunities it produced and rank the awards that followed. A portal producing sixty invitations and two awards has a cost per win that includes fifty-eight unsuccessful bids behind it.
Whichever the budget is set against, used consistently. Headline contract value rewards channels producing large subcontracted contracts, which is a ranking on gross revenue rather than on anything the business actually keeps.
Yes. A framework is a permission to be asked rather than an opportunity, so give it its own source in the lead file and rank the contracts awarded under it. A long range is needed before it shows anything.
Yes. Export renewals as further rows against the same client contact. In a sector where contract lives run to a decade, this usually changes a channel's apparent return by a large multiple.
Not as a retention figure; contract outcomes are not read. Continuing revenue from a client keeps crediting the channel that won it, so over a long range a channel whose clients stay accumulates more revenue than one that mostly opens doors.
One at a time. Product / service holds one extra breakdown per import, so map either service line or sector, not both. Channels can specialize by building type without anybody intending it, so the sector reading is often the more revealing of the two.
Nearby
Match signed contracts and the monthly revenue they bill to the campaigns and outbound that produced the account.
See how it worksMatch signed contracts and the billed hours or monitoring fees they generate to the campaigns and bids that produced the account.
See how it worksMatch won mandates and the years of management and leasing fees they earn to the campaigns that produced the owner.
See how it worksWhere your sales already are
Export invoiced jobs, upload your calls and leads beside them, and get revenue by channel — with the trade that earned it as a cut of its own.
What to exportExport invoiced work from Aspire, upload the leads behind it, and rank marketing on the account across its renewals.
What to exportFrom the blog
It is easy to compute, easy to improve, and it will happily bankrupt you. A defense of the least popular position in performance marketing: that the metric most teams are held to is actively harmful, and that the alternative is available to anyone willing to do one join.
Read the articleThe 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 tool is built for businesses where the inquiry and the purchase happen in the same quarter. If yours does not, almost every default is wrong: the date ranges, the reporting cadence, the optimization signal and the patience of everyone involved.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.