I am going to do something unusual for an SEO guy and spend a whole post on pricing law. Stay with me, because this one is sneaky important, and almost every independent hotelier I talk to has a blind spot here.
The short version: the way you are allowed to advertise a price has changed. Resort fees, deposit terms, and the gift cards you sell over the holidays all now sit inside a tighter consumer-protection net than they did a few years ago. If your website shows a tempting nightly rate and then springs a mandatory fee at checkout, you are not just annoying guests. You may be on the wrong side of a federal rule, and you are definitely on the wrong side of the trust math that decides whether someone books direct or bails to an OTA.
I am not a lawyer, and nothing here is legal advice. Talk to one before you change anything. But I read this stuff so my hotel clients do not get blindsided, and I want to give you the lay of the land in plain English.
The FTC junk-fee rule, minus the legalese
The Federal Trade Commission finalized a rule aimed squarely at what everyone calls “junk fees” or “drip pricing” in the live-event and short-term-lodging world. Hotels are explicitly in scope. The core idea is almost insultingly simple, which is why it took so long to land:
The first price a guest sees must be the total price, including every mandatory fee. Taxes and genuinely optional charges are the only things you get to add on later.
That headline number is what the rule calls the “total price.” So your $189 room with a $35 mandatory resort fee is not a $189 room. It is a $224 room, and $224 is the number that has to show up first, prominently, wherever you advertise.
A few things people get wrong about this:
- You can still charge the fee. The rule does not ban resort fees, destination fees, amenity fees, or whatever your property calls them. It bans hiding them until checkout.
- Government taxes are still allowed to be excluded from the headline number, as long as you disclose them clearly before the guest pays.
- Truly optional stuff stays optional. A $20 pet fee or a parking charge the guest can decline does not have to be baked into the headline rate, because the guest gets to choose it.
- The nature and purpose of the fee has to be disclosed before payment too. You cannot just bury a mystery line item.
Here is the mental model I give clients: if a guest cannot avoid paying it by making a different choice, it belongs in the first number on the screen. If they can decline it, you can show it separately. That single test resolves about 90% of the “but what about my…” questions.
Why an SEO agency cares about a pricing law
Because this rule lives exactly where my job lives: on the pages where people decide to book.
Think about where prices appear on your digital footprint. Your homepage. Your room-type pages. Your booking engine. Your Google Business Profile. Your metasearch listings on Google, Trivago, Kayak. Your paid search ads. Every one of those is a “price advertised to a guest who can act on it,” and every one of them now needs the all-in number up front.
Two reasons this is squarely in my lane:
- Consistency across surfaces is a technical SEO problem. If your booking engine shows $224 all-in but your room page still says “from $189” and your metasearch feed says something else again, you have a price-mismatch problem that confuses guests, erodes trust, and can get your listings penalized or suppressed on the channels themselves. Getting these surfaces to agree is the kind of plumbing work we handle in hotel SEO and metasearch setup.
- Honest pricing is the single best book-direct weapon you have. This is the part that should make you happy instead of nervous.
The OTAs already show fairly aggressive all-in pricing because they are built to win the comparison. For years, independent hotels lost the price-comparison the moment a guest saw a clean OTA total next to a misleadingly low direct rate that ballooned at checkout. All-in display erases that gap. When your direct number is honest from the first click, you finally compete on a level field for the booking you actually want.
I have written before about why your direct rate keeps losing to the OTAs for your own name, and about the real math of what OTA commissions cost you. Pricing transparency is the missing piece those posts assume. You cannot win back direct bookings with a rate that looks great and then betrays the guest at the payment screen. The FTC just made the honest version mandatory, which means the thing that was already smart is now also required. Use that.
Resort fees: how to display them without lying or losing the click
Here is the practical bind. A naive reading of “show the total” makes hoteliers panic that their headline rate will suddenly look 15-20% higher than the competitor down the street who has not updated yet. Real concern, fixable problem.
What I tell clients to do:
Lead with the all-in nightly number, then itemize underneath. Show “$224/night” as the headline, and immediately below it break it down: “$189 room + $35 resort fee. Taxes calculated at checkout.” You stay compliant, and you also turn the fee into a transparency signal instead of an ambush.
Spell out what the resort fee buys. If guests are paying $35, tell them it covers wifi, the pool, the fitness center, two bottles of water, the morning coffee, whatever it actually is. A disclosed, justified fee reads completely differently than a silent surcharge. This is content and reputation work as much as legal work, and it is exactly the kind of thing we build into content and reputation pages.
Audit every surface for agreement. Run your homepage, room pages, booking engine, GBP, and metasearch feeds side by side. They should tell the same story. Mismatches are where both compliance risk and guest distrust hide.
Here is a quick before/after of how the same room should read:
| Surface | Old way (risky) | New way (compliant + trustworthy) |
|---|---|---|
| Homepage rate | ”Rooms from $189" | "From $224 all-in” with fee breakdown on hover or below |
| Room page | ”$189/night” then fee at checkout | ”$224/night: $189 + $35 resort fee, taxes at checkout” |
| Booking engine | Fee appears on final payment step | Fee shown on first results screen |
| Metasearch feed | Rate without mandatory fee | Rate with mandatory fee included |
None of this requires you to lower a price. It requires you to show the price honestly and early. Your booking engine vendor may already have a setting for this; if they do not, that is a vendor conversation worth having this quarter. We help clients pressure-test booking flows and pricing display as part of book-direct CRO work.
Deposits and cancellation terms: the quiet sibling of the fee rule
Deposits are not the headline of the junk-fee rule, but they live in the same neighborhood of consumer-protection expectations, and state-level rules and card-network policies care a lot about them.
The principle is the same as everything else here: material terms have to be clear and conscionable before the guest commits. If you take a one-night deposit, if your cancellation window is 72 hours instead of 24, if a “non-refundable” rate is genuinely non-refundable, the guest needs to know plainly before they hit confirm, not in a paragraph of gray six-point text under the fold.
Practical checklist I run with hotels:
- State the deposit amount and when it is charged on the rate before booking, not buried in terms.
- State the cancellation window in hours or days, with the exact cutoff, in language a tired traveler at midnight can parse.
- Make non-refundable mean non-refundable, and say so loudly if you offer that rate. Surprise non-refundability is the kind of thing that generates chargebacks and one-star reviews.
- Keep the booking-engine terms and the GBP and OTA terms aligned. If your OTA listing says free cancellation and your direct rate hides a deposit, you have manufactured a reason for the guest to book through the OTA. That is the opposite of what you want, and it is one of the ways OTAs quietly win the search and the booking.
Clear deposit and cancellation language is not just defensive. It converts. A guest who understands the terms books with confidence; a guest who senses a trap closes the tab.
Gift cards: the holiday revenue line with a legal tail
Now the one almost nobody on the independent side thinks about until a complaint shows up: gift cards.
Hotel gift cards are lovely. They are prepaid, high-margin, often given by people who never redeem the full value, and they bring new guests through the door. But the moment you sell a stored-value card, you step into a patchwork of federal and state rules.
Federal floor: under the federal gift-card rules, funds on a general gift card generally cannot expire for at least five years from the date of purchase or last load, and dormancy or inactivity fees are tightly restricted.
State law often goes further, and varies a lot:
- Several states ban gift-card expiration dates entirely.
- Several ban dormancy and service fees outright.
- Some require you to cash out small remaining balances (often under $5 or $10) in actual cash if the guest asks.
- Some have unclaimed-property (“escheat”) rules where unredeemed value may eventually be owed to the state, not kept as breakage.
The compliance maze is real, but my advice to independent hotels is refreshingly simple, because the marketing-smart move and the legally-safe move are the same move:
Sell a gift card that never expires and never carries a fee. You sidestep almost every state-by-state expiry and dormancy trap in one decision, and “never expires, no fees” is a genuinely better thing to put on the card. The tiny amount of breakage you give up is dwarfed by the goodwill, the cleaner compliance posture, and the marketing line you earn.
Then make sure your website tells the truth about the card. The product page should state, plainly: no expiration, no fees, how to redeem, whether it works on packages and the restaurant or just rooms, and how a guest checks the balance. That is content work, it is trust work, and it is the kind of clean, structured, honest page that also happens to do well in AI search and answer engines because assistants love a page that directly answers “does this hotel’s gift card expire.”
How I’d actually roll this out
If I were sitting in your office, here is the order I would do it in:
- Inventory every place a price, deposit, or gift-card term appears. Homepage, room pages, booking engine, GBP, metasearch, ads, gift-card page. You cannot fix what you have not listed.
- Make the all-in number the headline everywhere, with the fee itemized underneath so it reads as transparency, not stealth.
- Rewrite resort-fee, deposit, and cancellation copy so a sleepy traveler understands it in five seconds.
- Switch your gift cards to no-expiry, no-fee and rewrite the gift-card page to say so.
- Get a real lawyer to sanity-check the deposit, cancellation, and gift-card terms against your specific state. This is the step you do not skip.
For the foundational version of this whole transparency-and-trust push, the hotel SEO 2026 starter guide and the Google Business Profile playbook pair well with this post, because consistent honest pricing only works when every surface a guest touches is saying the same thing.
The bigger point
The thing I want you to take away is that compliance and conversion are pointing the same direction now. For years, hidden fees and squishy cancellation terms felt like a clever edge. They were never an edge; they were a trust tax you paid in chargebacks, bad reviews, and lost direct bookings. The FTC just made the honest version the legal version too.
So treat this rule as permission. You get to show clean, all-in, honest pricing, you get to sell a gift card that never expires, and you get to write deposit terms a human can understand, and now you can do all of it knowing it is also what the law expects. That is the rare regulation that makes your marketing better.
If you want a second set of eyes on how your rates, fees, deposits, and gift-card terms display across your site, booking engine, and metasearch, that is exactly the kind of audit I love doing. Come book a call or take a look at our book-direct CRO work, and let’s make your pricing both compliant and a reason guests choose you over the OTA.