Does Yardi strip UTM parameters, and how do I track lead source in RentCafe?
If your paid campaigns are tagged correctly but your leads keep arriving with no campaign attached, you are not doing it wrong. On most Yardi and RentCafe setups the UTM parameters are lost somewhere between the ad click and the page where the renter actually converts, and Yardi's own lead source reporting will not tell you what was lost.
In short: Yes, in most RentCafe setups the UTM parameters do not survive the journey. A prospect clicks a tagged ad, lands on the property site, then gets redirected into a Yardi-hosted page on a securecafe.com or rentcafe.com address to apply or book a tour, and the query string is not carried through that redirect. Yardi's lead source field then maps whatever is left into a short fixed list of buckets, so paid search, paid social and your own newsletter can all arrive looking the same. The fix is not to make the parameters survive the redirect, which you mostly cannot control. It is to capture them once on the first page where they still exist and bind them to the visitor rather than to the URL, so the campaign travels with the person into the leasing flow.
Where exactly the parameters are lost
Multifamily marketing runs across more hosts than most people realise. A single prospect can touch your property marketing site, a RentCafe.com listing page, and a SecureCafe-hosted application flow, all inside one visit, and each of those is a different host.
Query parameters live on a URL. When a visitor is redirected from one host to another, the parameters only carry across if whoever configured the redirect deliberately passed them through. In hosted property-site platforms that is usually not the case, and it is rarely something you can change yourself.
So the parameters exist on the first page the prospect lands on, and they are gone by the page they submit on. If your analytics or your CRM reads the campaign at the point of conversion, it reads an empty string.
The second half of the problem is separate and often missed. Even where a source does arrive, Yardi records it against a fixed set of lead source values. That picklist was designed to answer "roughly where do our leads come from", not "which keyword produced the renter who signed a twelve month lease". A Google Ads click, an ILS referral from Apartments.com or Zillow, and a link in your own resident newsletter can land in the same bucket, and once they are in that bucket they cannot be separated again.
How to check whether it is happening to you
You do not have to take anyone's word for it. This takes about two minutes.
Build a link to your property site with obvious test values on it, something like ?utm_source=test&utm_medium=test&utm_campaign=stripcheck . Open it in a fresh incognito window and watch the address bar as you click through to start an application or book a tour. Each time the page changes host, look at whether the query string is still there.
The step where it disappears is the step responsible. If it survives all the way to the application page, your setup is passing parameters through and your problem is elsewhere, most likely in how the source is being recorded rather than in whether it arrived.
What usually does not solve it
Appending UTMs to your own internal links. It pollutes your analytics with self-referrals, and the parameters are dropped at the same redirect anyway.
Relying on the Yardi lead source field. It is a fixed picklist by design. Adding values to it does not give you the keyword, the ad or the landing page.
Cross-domain setup in your analytics platform. Worth doing, and it will stitch sessions together, but it measures sessions rather than people, and it still leaves you unable to connect a campaign to the lease record where the money actually appears.
Asking Yardi to preserve the parameters. Sometimes possible through support depending on your contract and setup, and genuinely worth asking. Treat it as an improvement rather than the fix, because it only covers the redirects Yardi controls.
The approach that does work
Stop trying to read the campaign at the moment of conversion, and read it at the moment of arrival instead.
The campaign data does exist, briefly, on the first page the prospect lands on. If something captures it there and attaches it to that visitor as a person rather than to the page as a URL, then it does not matter what the redirect does afterwards. Two clicks and three hosts later, when they submit an application, that lead still carries the campaign that produced it. The parameter did not survive. The profile did.
That requires three things.
A tracker that runs on the first page. Usually your own marketing or property site, which is where your ads should be pointing anyway.
The same tracker on every other host in the chain, including the rentcafe.com and securecafe.com addresses your prospects pass through, so the visits join up into one journey for one person rather than three disconnected sessions.
Raw values, stored unmapped. The five parameters exactly as they arrived, plus the real referrer and the full landing URL, with no translation into a source category. Once a value has been mapped into a bucket, the detail underneath it is not recoverable.
What this gets you
With the campaign bound to the person, the questions you could not answer start to have answers.
Which keyword produced renters, not just leads. Which ILS referral is worth its fee. Whether the paid social campaign that looks cheap per enquiry is producing anyone who signs. Whether the prospect who applied today first found you nine weeks ago through a blog post, which is the sort of thing a last-click model deletes entirely.
It also changes what you can do at the point of the enquiry. A leasing agent looking at a new lead can see the whole path: the ad, the floorplans viewed, the return visits, the pages read before the application. That is a different conversation from calling a name on a list.
Where Bread & Butter fits
This is what Bread & Butter is for. One tracking script across every host you run, capturing the raw UTMs, the referrer and the landing URL on first touch, holding both first touch and last touch against a profile that persists across the redirect into the leasing flow. Mark the lead Won/Closed when they sign and the Attribution report ties the signed lease back to the campaign, the keyword and the landing page.
Installation on a RentCafe property site is a copy-and-paste step into the SEO Dashboard, or a tag if you already run Google Tag Manager. The REACH by RentCafe installation guide has the full steps. If you would rather hold the data yourself, every field is available to push out to a webhook, to Zapier or to your CRM.
The honest limit
Nothing can recover a parameter that never reached a page. If a campaign points directly at a securecafe.com URL and the parameters are dropped before anything renders, there was no moment where that data existed in the browser, and no script can read what was never there.
That is why the first recommendation is a targeting change rather than a tracking one: point paid traffic at a page that keeps its query string, and let the redirect happen afterwards. Everything else follows from getting that one thing right.