“Yardi has its own marketing reporting.”
It reports on the sources recorded against the guest card. This adds the campaign and keyword underneath them, and ranks everything on rent actually billed.
For Yardi
Match signed leases and the rent they earn over a tenancy to the campaigns and calls that produced the resident.
No API key Nothing to install in Yardi No card required
The gap
Your syndication feeds report leads. Your ad account reports clicks. Yardi reports rent. Nobody reports which clicks became rent.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
The applicant or resident contact. Both are worth exporting — people apply from a personal address and are billed at the unit.
Billed rent is the strongest measure because it accounts for concessions. Lease value works where billing is not easily exported.
Lease start for acquisition, billing dates for the tenancy. Either works if used consistently.
Studios and three-bedrooms rarely come from the same channels, and properties differ more than portfolios admit.
Step by step
Written for somebody with Yardi open in the next tab. Report names vary by edition, so each step says what to look for.
One row per lease or per billing period, with the resident's contact detail, the amount and a date.
A free month changes what a lease is worth. Billed rent handles it automatically; lease value does not, so say which you are using.
A unit number cannot be matched to a click. The resident's phone or email is the join.
Mapping is suggested and confirmed by you, with manual mapping always available.
Paid search, paid social, syndication feed enquiries, locator and broker referrals. Each is ranked on rent rather than on leads.
What comes back
Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Apartment Communities page — not from a Yardi account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| ILS portals | 204 | $428,400 | |
| Google Ads | 107 | $226,800 | |
| Meta Ads | 49 | $100,800 | |
| Direct / Unknown | 241 | $504,000 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
Listing syndication is the backbone of multifamily demand generation and it reports what it can see: impressions, enquiries, sometimes tours. It cannot see which of those enquiries signed, what they signed for, or whether they renewed.
That is not a criticism of the feeds. It is the same boundary every upstream channel has: the revenue is in the property management system and never crosses back. The consequence is that a channel producing many enquiries and few leases looks strong indefinitely.
Reconciling signed leases against the enquiry sources ranks them on rent. Upload the syndication enquiry export as a source file and it competes with paid search on the same measure, which is a comparison no feed provider will hand you.
A free month, a reduced deposit, a gift card at signing — concessions are routine, and they are not uniform across channels or across the year. A report built on advertised or lease rent overstates every channel, and overstates them unevenly.
Billed rent is the honest measure and it is the one that reconciles to the owner's statements. On a lease-up especially, where concessions are heaviest, the difference between the two is large enough to change which channel is funded.
A resident who renews twice is worth three times the lease the marketing is credited with. Treating each renewal as a new event credits nobody; ignoring it undercounts the acquisition.
Matching on the resident attaches the whole tenancy to the original channel. A channel whose residents renew is separated from one whose residents leave at month twelve, which is invisible on any per-lease measure and is frequently the largest real difference between two sources.
A portfolio spanning markets, vintages and price points has no meaningful average cost per lease. The city asset and the suburban one draw on different demand and respond to different channels.
A property column splits the report so each site's budget follows its own evidence. For senior housing operators running Yardi, a care-type column does the same thing for assisted living against independent living.
Most multifamily marketing spend is acquisition, but a meaningful share of net operating income comes from residents who renew. The two are managed by different people, measured differently, and routinely blended in any report that starts from lease count.
Because the match attaches the whole tenancy to the acquiring channel, the report separates them naturally: acquisition is credited with the first lease, and renewals appear as continuing revenue against the same resident and the same original source.
That lets an asset manager ask a question that is normally unanswerable — whether a more expensive acquisition channel pays for itself through longer tenancies — and get an answer from billed rent rather than from an assumption.
Fair questions
It reports on the sources recorded against the guest card. This adds the campaign and keyword underneath them, and ranks everything on rent actually billed.
Then the report will show that, on revenue rather than on leads — which is the first time that comparison has a common unit.
A property column keeps them separate. The portfolio average is exactly the number this is designed to replace.
Signed leases or the rent roll: a resident phone or email, the amount, and a date.
Billed rent, because it accounts for concessions and reconciles to owner statements.
Yes, and they credit the channel that produced the resident originally.
Yes — a feed export is a source file and ranks on rent beside paid channels.
Yes, with a property column, on Growth and above.
Yes, with a unit-type column.
Yes. Add a care-type column so assisted living and independent living are not averaged.
No. It works from a CSV export, so nothing is authorised.
Twelve months at minimum; a full lease cycle is better.
Encrypted in transit and at rest, isolated per workspace, deletable in one click, DPA available.
Yes. Renewals appear as continuing revenue against the same resident and the same acquiring channel.
Yes, with a care-type column so assisted living and independent living are not averaged together.
Yes — their placement lists are source files and rank on billed rent beside paid search and the syndication feeds.
Export both where you can. The match runs on either, and a weak link is flagged rather than assumed.
Yes, if concessions are exported as a column. Channels differ in how heavily they need discounting to convert.
Yes. Keep a property column and the report splits by site while the portfolio total stays available, which is usually how regional managers want to read it.
Then those enquiries cannot be matched and are reported honestly as unattributed. Capturing an email or phone at the guest card is the single change that improves the match rate most.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
Yardi and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.
Start today
Nothing to install in Yardi, no API key, and no need to have been tracking anything until now. Last year works as well as this month.