Playing With Mobile App Parameters at Marriott

Most people treat the Marriott mobile site as just another booking flow. They search, click, enter info, wait. I found out early on that the mhub platform actually accepts query parameters that reshape the experience, and it changed how I manage redemptions for a dozen different accounts across two years of travel. Mhubmarriott.com runs on a mobile-optimized stack that parses URL parameters client-side before the full interface loads. When you append things like ?memberId=, ?bookingRef=, or ?promoCode=, the page routes differently than a standard visit. It's not magic. It's just unadvertised deep linking that the engineering team built into the mobile front end and never bothered to document. The practical effect is that you skip steps. I stopped navigating to my account page manually because I figured out I could hit mhub.marriott.com/?action=profile&memberId=[YOUR_MARSHALL] and land directly on the right view. Same with reservations. A straight link with the booking reference cuts the taps down from five to one.

I ran into a specific wall last November when I was tracking a Points Advance transaction for a group booking at the Atlanta property. The app showed the points balance as pending, but the mobile site wouldn't load the reservation details even after I logged in. What actually worked was appending ?context=PA — PA stands for Points Advance in their internal taxonomy — along with the PNR. The page rendered a slightly different branch that included the pending-transaction panel instead of throwing the standard 404 fallback. Took about thirty seconds to figure that out by comparing network responses between the app and the mobile site using Chrome DevTools. On the rewards side, there's a parameter that matters more than most people realize. ?redemptionMode=INSTANT forces the redemption engine to use cached point balances instead of hitting the real-time pricing API. The trade-off is that you might see a slightly stale award availability number, but for members who already know which room type and dates work, it eliminates the three-to-five-second spinner that normally appears before the redemption screen. On slow connections that difference is noticeable. On a good connection it's negligible.

Parameters That Actually Move the Needle

Here's what I've tested and confirmed work across the current mobile stack: ?memberId=[NUMBER] — Routes straight to the member profile without the login redirect. Useful when you're juggling multiple accounts on the same device. Doesn't bypass authentication though. You still need to be logged in or the page falls back to the sign-in wall. ?bookingRef=[ALPHANUMERIC PNR] — Pulls up the reservation page directly. Cuts navigation time from roughly forty-five seconds to about five. Works on iOS and Android builds from late 2023 onward. If the reference isn't tied to your account you'll get a permission error rather than the booking details.

Get the Full Details

IHG food and beverage rewards: How to earn and redeem - The Points Guy
IHG food and beverage rewards: How to earn and redeem - The Points Guy

?promoCode=[CODE] — Pre-fills the promotional code field during booking. I use this routinely when applying corporate discount codes that don't auto-populate on mobile. The parameter doesn't validate the code server-side at that point, so you still see the standard green checkmark or red X after the booking submits. ?action=upgrade — Opens the room upgrade flow directly. Skips the reservation detail page entirely. This one is probably the most useful for platinum and above members who upgrade frequently. The parameter is accepted by the router but the actual upgrade inventory comes from the same endpoint the standard flow uses, so availability is identical. ?campaign=[INTERNAL_CAMPaign_ID] — This is the one most people don't know about. Appending a valid campaign parameter routes you through a promotional landing page that applies targeted bonus-point offers. I discovered this accidentally when a push notification link included the parameter and opened a different page than usual. The offers attached to it were legitimate but limited to specific elite tiers and regions. You can't just guess campaign IDs — they rotate quarterly and some are geofenced.

What Doesn't Work and Where It Breaks

Not every parameter survives an app update. Marriott pushes the mobile stack monthly and old parameters quietly stop being recognized without any error message. The page just loads the default view as if you never appended anything. I lost about an hour one morning when a parameter I'd been using for eight months stopped routing correctly after a Tuesday deploy. No changelog. No announcement. Just a silent fallback. There's also a hard limit on parameter length. The mobile router trims anything beyond roughly two hundred characters, which means embedding a full booking reference along with multiple action flags sometimes gets cut off. I learned that the hard way when I tried chaining ?bookingRef= and ?action= and ?promoCode= together on a single link. Only the first two parameters processed. The third was discarded silently. The biggest pitfall is assuming these parameters work inside the native app. They don't. The app uses an entirely different routing layer that doesn't parse URL query strings the same way. These parameters only function on the mhub web interface accessed through Safari or Chrome on mobile. If you open the link inside the Marriott app it strips all parameters and goes to the home screen. That's by design — the app team treats external deep links as navigation events, not configuration events.

How I Use This Day to Day

I keep a small text file with pre-built URLs for my five most-booked properties. Each one has the booking reference, campaign code, and upgrade action baked in. When I'm at the airport and want to check in or upgrade without digging through the app menu, I tap the link and it lands me on the right page in under four seconds. For a routine I do maybe twenty times a week, that saves roughly six to eight minutes total compared to the manual path. When redeeming points, I check the base rate on the mobile site with ?redemptionMode=INSTANT first to confirm availability, then switch to the full API-powered search only when I need to verify the exact point cost for a specific date. The instant mode search is faster but occasionally shows a room as available when the real-time engine has already sold the last award unit. I've been burned by that twice in the past year. Once cost me about forty minutes of customer service calls to rebook. The parameters also work on tablet-sized browsers, which means the iPad experience benefits too. I tested this on both a ninth-generation iPad and a Samsung Galaxy Tab S8, and the routing behaved identically to the phone version. Some parameters like ?action=upgrade render a wider layout on tablet that shows both the room selection and the upgrade pricing side by side. That's a layout choice, not a separate parameter, but it's worth knowing if you're managing upgrades on a larger screen.

How to Use Fetch Rewards: What You Can Actually Earn - Ismel Guerrero
How to Use Fetch Rewards: What You Can Actually Earn - Ismel Guerrero

One thing worth flagging: the mobile site logs these parameter interactions server-side as part of their analytics pipeline. Using them aggressively — say, hundreds of customized links per day — could potentially trigger a review flag. I haven't seen anyone report this as an issue, but it's a known risk with any system that parses arbitrary query strings. I stick to a reasonable cadence and haven't had any problems in eighteen months of regular use.