A renter filters for apartments under $1,700, finds one at $1,650, tours it on a Saturday and loves it. On Tuesday the application arrives: $1,650 in rent, plus $45 valet trash, $25 pest control, $30 package lockers, $60 amenity fee and $80 for mandatory parking. The apartment now costs $1,890 a month. Nothing about the home changed between Saturday and Tuesday. Only the number did.
It is not a lie, exactly
We call the first number the teaser rent, and like the two-tab problem, it is a pattern so common it has come to look like the normal way to market an apartment. Every fee is real and disclosed, eventually. But the renter made every decision that mattered, the search, the shortlist, the tour, against a price that does not exist on any lease.
Why the website drifts from the lease
Nobody sat down and decided to advertise a price no one will pay. The base rent lives in the PMS, where revenue management adjusts it daily. The fees live somewhere else: in the lease template, in an ancillary-services agreement, in a spreadsheet the regional manager keeps. The website was built to show the number the PMS publishes, because that was the number a website could reach. Each listing channel then recomputes “the price” in its own way, and the same unit ends up wearing three different numbers in three places.
The result is drift rather than deception. But renters cannot tell the difference from the outside, and they no longer have to guess. They compare screenshots in group chats. They read the application line by line. And increasingly, as we wrote in our piece on AI search, they ask an assistant to do the math for them.
The trust math
Brent Steiner, Engrain’s founder and CEO, said it best: “Pricing discrepancies are one of the biggest trust breakers in the renter journey.” Notice what the sentence does not say. It does not say fees are wrong, or that operators should charge less. It says the discrepancy is the injury: the moment a renter learns that the number they planned around was never the real one.
The business cost of that moment is easy to underestimate because it is spread across the funnel. The prospect who walks away at application has already consumed a tour, a follow-up and an hour of leasing-agent time. The one who signs anyway starts the lease trusting you a little less, and renewal season remembers. And the prospects you never see, the ones whose budget filter your teaser rent slipped under, were never real leads at all. A pipeline padded with people who cannot afford the actual price is not a bigger pipeline. It is a slower one.
The regulators got there first
This stopped being a philosophical question a while ago. In December 2025 Greystar agreed to pay $24 million to settle a case brought by the FTC and the State of Colorado over advertised prices that excluded mandatory monthly fees, and committed to displaying total monthly leasing prices clearly and conspicuously (as summarized in Arnold & Porter’s February 2026 advisory; the settlement is a resolution, not a finding of wrongdoing). In March 2026 the FTC opened a rulemaking on unfair or deceptive rental housing fee practices, asking, among other things, whether advertising rent that fails to include all mandatory fees should be prohibited outright.
The states are not waiting for the answer. Laws requiring the advertised rent itself to include mandatory fees are already in effect in Minnesota (January 2024), Massachusetts (September 2025), Nevada (October 2025), Connecticut (October 2025) and Colorado (January 2026). Virginia and Oregon have taken the disclosure route instead, requiring fees to be itemized before or at the lease, and California’s Honest Pricing Law has barred hidden mandatory fees in most consumer transactions since July 2024, though its reach into long-term residential leases is still contested. The details differ by state and this is not legal advice, but the direction is uniform: the first price a renter sees should be a price they could actually sign.
If you operate across several states, our 2026 compliance checklist includes a state-by-state checker, and it covers the two compliance fronts operators most often overlook: cookie consent and accessibility.
The newest reader of your price is an AI
Here is the part that makes this urgent rather than merely virtuous. When a renter asks ChatGPT or Perplexity what an apartment would really cost per month, the assistant assembles its answer from whatever your website publishes. If your site shows $1,650 and your neighbor across the street publishes an honest $1,890 all-in, the comparison the AI hands back is wrong in your favor exactly once, and then the renter finds out at application, with your name attached to the disappointment.
We have written about how to get your website cited by AI assistants, and the short version applies doubly to pricing: assistants reward pages whose numbers are structured, current and internally consistent. A site whose visible price, structured data and application total all agree is a site an AI can quote safely. That is a citation advantage no amount of copywriting buys.
The infrastructure now exists
The reason websites drifted from applications was never ill will. It was that no single system owned the fee-inclusive number. Engrain, which builds the map most apartment websites are built around, closed that gap in two steps. In January 2025 it shipped fee transparency in SightMap®: renters can toggle between base rent and the full monthly cost, and a rent calculator builds the real total from lease term, move-in date, number of applicants, pets and rentable items. In September 2025 it launched an All-In Unit Pricing API endpoint that publishes one fee-inclusive monthly number per unit, so every channel drawing from SightMap can show the same price. The stated goal is consistent all-in pricing, everywhere renters look, and the system publishing that number is the same one that already knows which units are available this afternoon.
WP FloorMap renders it. Every property has an All-in Pricing toggle, and switching it on puts the fee-inclusive total on the unit cards, the availability explorer and the unit modals, so the website and the map agree by construction rather than by discipline. Where a property has configured all-in numbers in Engrain, those exact per-unit figures are what appear. Where it has not, which is still the common case, the plugin builds the total itself from base rent plus every monthly fee you have marked Required. That fallback is what makes the toggle useful today: you can publish the honest number without waiting on a data project upstream. The unit modal’s lease-term selector then shows how the total moves with the term, because a twelve-month price presented as the only price is its own small teaser.
Because the data is pulled live from SightMap, there is no Tuesday-morning task where someone updates the website to match the PMS. There is nothing to update. That is the quiet advantage of treating pricing as data instead of content.
A quick way to measure your teaser gap
Open your best-performing property’s website and note the advertised price on your most available floor plan. Then open your own lease template and add every monthly charge a resident cannot decline. If the two numbers differ, that difference is your teaser gap, and every prospect discovers it eventually. For a second opinion, ask an AI assistant what that apartment would actually cost per month and see which number it quotes back. It is only reading what you published.
The price of the price
There is a fear, rarely said out loud, that showing the all-in number first will scare renters away. Some it will: the ones who could not afford the real price and would have discovered that at application, after consuming your team’s time. The renters who remain are qualified, informed and slightly amazed that an apartment website told them the truth on the first screen. In a market where regulators, statutes and now AI assistants are all converging on the same demand, the operators who get there voluntarily earn something no mandate grants: the ability to say they were early.
Frequently asked questions
What is a teaser rent on an apartment website?
A teaser rent is the advertised price of an apartment that excludes mandatory monthly charges such as trash, pest control, package or amenity fees. The renter discovers the real monthly cost later in the process, usually at application or lease signing. The gap between the advertised number and the real number is what regulators call a hidden or junk fee problem, and it is now the subject of state total-price laws and a pending FTC rulemaking.
What is all-in pricing in multifamily?
All-in pricing shows one monthly number that includes base rent plus every recurring mandatory fee. Engrain supports it natively: SightMap lets renters toggle between base rent and full monthly cost, and since September 2025 an All-In Unit Pricing API endpoint publishes a single fee-inclusive number per unit so every channel can show the same price.
Do any laws require apartment ads to show the total price?
Several states now require the advertised rent itself to include mandatory fees: Minnesota (January 2024), Massachusetts (September 2025), Nevada (October 2025), Connecticut (October 2025) and Colorado (January 2026). Others, such as Virginia and Oregon, require fee disclosure before or at the lease rather than in advertising, and California’s Honest Pricing Law has barred hidden mandatory fees in most consumer transactions since July 2024, though its reach into long-term residential leases is still contested. In March 2026 the FTC also opened a rulemaking asking whether advertising rent without mandatory fees should be prohibited. Always confirm current requirements with counsel for the states where you operate.
How does WP FloorMap display all-in pricing?
Each property has an All-in Pricing toggle. When it is on and the property has configured all-in numbers in Engrain, WP FloorMap displays those exact per-unit figures, so the website and the map agree by construction. Where Engrain numbers are not configured, it adds the monthly fees you mark Required to base rent, and a lease-term selector in the unit modal shows how the total moves with the term.
Want to see the real number on a first screen? Explore the live demo or get in touch and we’ll show you what all-in pricing looks like with your own SightMap.
by Graham Dyer