The account, not the first booking
A relocation manager who books once usually books again. Later stays credit the channel that produced the original inquiry.
Marketing attribution for corporate housing operators
Match confirmed stays and the accounts they turn into to the campaigns that produced the first inquiry.
$2,402,000 66% of $3,640,000 paid
The blind spot
The first booking is worth a few thousand dollars. The account behind it rebooks for years, and no channel is ever credited for that.
What you get
A relocation manager who books once usually books again. Later stays credit the channel that produced the original inquiry.
A relocation, a project crew and an insurance placement have different lengths and rates. A booking-type column shows each as its own line.
High-confidence matches count automatically; the one weaker link type is flagged and reversible rather than assumed.
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 | 108 | $1,055,500 | 29% | |
| Relocation networks | 67 | $655,000 | 18% | |
| Listing portals | 48 | $473,000 | 13% | |
| LinkedIn Ads | 22 | $218,500 | 6% | |
| Direct / Unknown | 126 | $1,238,000 | 34% |
A thirty to ninety night stay bills a few thousand to ten thousand dollars. But the person who booked it is a relocation manager, a project coordinator or an insurance adjuster, and if the stay goes well they will book again — often several times a year for years.
Cost per booking values the first transaction and ignores the relationship. Because the match is on the booker rather than the stay, every later booking from the same contact credits the campaign that found them, which is usually the difference between a channel looking marginal and looking like the best one you have.
Corporate relocation, project and crew housing, and insurance or displacement placements all book furnished apartments by the month, and all of them arrive through overlapping search terms. Their length, rate and repeat behavior are not remotely alike.
Mapping a booking-type column as Product / service shows each line of business as its own line, with how much of it traces to a channel, so a long insurance placement no longer hides inside the same figure as short project stays, and each line of business can be funded on its own evidence.
Many operators do not own the apartments. They lease them, furnish them, and carry the rent, the utilities and the furniture rental whether a guest is in residence or not. That changes what a marketing channel is worth in a way that owned-asset businesses do not experience: an empty unit is not merely an opportunity forgone, it is a bill arriving on the first of the month. Occupancy pressure therefore varies by market and by week, and so does the value of a booking.
The consequence is that cost per booking, calculated across a portfolio, is a blunt instrument. A booking into a market where three units are sitting empty is worth considerably more than the same booking into a market that was going to be full anyway, and the media account cannot distinguish them. Operators feel this acutely and have almost no way of acting on it. Operators know precisely which markets are carrying vacancy in any given week, because they are paying for it. What they cannot do is point the advertising at that fact.
A city or market column mapped as Location brings part of the two into line. It shows each market's billed revenue and how much of it traces to a channel, so a market carrying vacancy whose revenue sits mostly in Direct / Unknown is visibly one the advertising is not reaching. It does not rank channels within each market, but it stops the portfolio being averaged into something that looks acceptable everywhere, and it is the level at which the business is actually managed. It also makes the awkward markets visible rather than absorbed, which is often where the conversation about renewing a lease on unsold inventory actually begins.
Bookings arrive through intermediaries as often as directly. A relocation management company, a serviced apartment agent or a broker places the guest, and the operator bills the intermediary at a net rate while the client company pays the gross. The margin is real and it varies considerably between partners, and none of it is visible in the number a booking platform or an advertising account reports. The same guest, in the same apartment, generates two quite different amounts of retained revenue depending on who arranged the stay. Nothing about the booking itself reveals which.
If the export carries gross rates on some rows and net on others, the channel ranking is measuring the commercial arrangement rather than the demand. A source producing agency bookings will appear to generate more revenue per stay than one producing direct corporate bookings, when the operator may well be keeping less from each of them. This is a quiet and quite common way for a media budget to be misdirected for a year. The error survives because both numbers are real and both appear in the accounts; they simply answer different questions, and the marketing report has no way of knowing which one it was handed.
Export the amount actually received, consistently, and map a booking-source column as Product / service to mark the intermediary. Direct and agency bookings then show as separate lines, each with its revenue after commission and how much of it traces to a channel, and the channel ranking itself is computed on what the operator keeps. That comparison is difficult to assemble by hand and tends to change how the direct-booking effort is funded. Direct demand is expensive to build and cheap to serve, and no operator can decide how hard to chase it without knowing what the alternative actually costs them per stay.
A stay quoted at ninety nights ends at sixty-two because the project finished early, or runs to a hundred and forty because the house purchase fell through. Insurance placements extend until the building work is signed off and nobody knows when that is. Early departures carry notice periods, extensions are charged at a different rate, and the final invoice rarely matches the reservation in either direction. The reservation is a forecast made by somebody with imperfect information about a project, a house purchase or a building repair that has not happened yet.
Reporting on booked nights therefore measures an intention that was superseded. It also systematically flatters whichever sources produce the longest quoted stays, regardless of whether those stays happened, and it hides the sources producing short bookings that routinely extend — which in this business is where a good deal of the profitability sits. A source producing short bookings that routinely run on can look like the weakest performer in the account for as long as the reporting stops at the reservation. It is a quiet way to defund the most profitable demand you have.
Because the match runs on the booker and every billed row credits them, the report is built on invoiced nights rather than reserved ones. An extension is additional revenue against the same acquisition, not a new booking. An early departure simply produces less. Nothing is projected forward and no average length of stay is assumed on the operator's behalf, which is what makes the figure reconcile to the ledger. That reconciliation is what lets the report be read next to the operating statement rather than instead of it.
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
The relationships started somewhere. This tells you where, and whether you should be paying for more of the same.
Add the network bookings to the lead file, tagged with each network, and they rank against paid search on billed revenue.
If it exports confirmed bookings with a contact detail, an amount and a date, that is enough.
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 corporate housing and serviced apartment operators — 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.
Confirmed or billed stays: a booker email or phone, the amount, and a date.
Yes — later bookings from the same contact credit the channel that produced them first.
Yes: map a booking-type column as Product / service and each shows as its own line.
Yes. Upload two or more years and the report shows what a channel's accounts went on to be worth.
Yes: a city or market column mapped as Location.
Yes — they go into the lead file, tagged with the network.
No. Where you already run call tracking, the caller's number is a clean key and raises the match rate, but it is not required — a lead export from your ad platforms is enough to start.
Encrypted in transit and at rest, isolated to your workspace, and deletable in one click. A DPA is available, and booker details never leave that workspace.
What you received, consistently across every row. Mixing gross and net makes agency bookings look more valuable than direct ones when the operator may be keeping considerably less from each.
Yes: a market column mapped as Location shows each city's revenue and how much of it traces to a channel. Because the supply is leased, an empty unit costs money daily, and a booking is worth far more in a market carrying vacancy.
As further billed rows against the same booker, crediting the source that produced them originally. An extension is additional revenue on one acquisition rather than a second booking to be counted.
The report uses what was invoiced, so a stay that ended at sixty nights counts sixty. Nothing is projected from the reservation, which is why the total reconciles to the ledger.
Yes: export what you actually received and map a booking-source column as Product / service, so direct and agency bookings show as separate lines after commission. That answers whether the direct-booking effort is earning more than the commission it replaces.
Yes, if they appear as rows against the same booker. They credit the source that produced the account, which is the honest treatment of everything that stay generated.
Nearby
Match signed leases and the rent they earn to the listings, portals and campaigns that produced the resident.
See how it worksMatch booked rooms and the nights they billed to the campaigns that produced the member, across short and rolling terms.
See how it worksMatch signed doors and the recurring fees they earn to the campaigns that produced the owner.
See how it worksWhere your sales already are
Supermove already reports revenue by referral source. This adds the campaign behind it — and prices bought leads against your own advertising.
What to exportSmartMoving reports on the sources it holds. This adds the campaign behind them and ranks every lead vendor on invoiced work.
What to exportFrom the blog
Every 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 articleA multi-location business that reports one national attribution number is hiding its most important finding. The same campaign performs differently in every market, and the aggregate is an average of things that should never have been averaged.
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.