Most brands assume scalable personalization requires engineering resources, custom code, and months of development. ResortPass took a different route and moved faster as a result.
When ResortPass set out to deliver offers tailored to each user’s preferred location, its marketing team didn’t wait for product or backend support. Instead, they partnered with Modular Marketing to build a “Preferred Location Engine” entirely within Iterable.
What started as a scrappy prototype built with Catalog, Handlebar logic, and Journeys quickly became a core personalization system driving +30% lift in click rates and measurable revenue gains.
In this article, we’ll explore the highlights of their fireside chat at Activate NY, From Scrappy to Scalable: How ResortPass Built a Smarter Location Engine With Iterable’s Catalog. But for the full breakdown of their success story, watch the session on demand or check out the ResortPass case study.
The Challenge: Personalization at Speed, Without Engineering
ResortPass makes it easy for users to book luxury hotel amenities like pools, spas, and cabanas without committing to an overnight stay. But as the platform expanded to over 2,000 hotels in 250+ cities, delivering truly personalized experiences became increasingly complex.
The challenge wasn’t scale alone. It was fragmentation:
- Location data came in from multiple sources (ZIP codes, IP addresses, browsing behavior), and none of it told a consistent story.Â
- Limited engineering bandwidth made it difficult for the lifecycle team to test new ideas or respond to fast-changing customer behavior.Â
- Static campaigns, once serviceable, were now falling short by failing to adapt to users who might live in New York but be browsing pool days in Miami.
“As marketers, we don’t always have access to an engineering team. In fact, we have very limited access. We still need to move fast and we still need to show growth. So how can we do that with the tools that we have available?”
~ Jon Uland, Partner and Head of Ops at Modular Marketing
That question set the foundation for a new kind of solution that didn’t rely on engineering at all.
The Solution: A “Scrappy” Engine Built Entirely in Iterable
ResortPass didn’t wait. The marketing team built smarter with the tools already at their fingertips. Using Iterable’s Catalog and Journeys, the team stood up a living data system that continuously refreshed each user’s preferences based on real-time signals––without a line of code.
They began by triangulating geolocation inputs (ZIP code, IP address, and area code) and layering in behavioral signals, such as searches, checkouts, and preferred hotels. From there, they introduced a tiered location framework:
- “Home” – Captured from billing and booking data
- “Transient” – Inferred from recent browsing behavior (e.g. Browsing Miami from NYC)
- “Preferred” – Dynamic field that adapts automatically based on the status of the other two fields
This setup allowed the team to personalize content at scale based on real-time location logic. So, if a user lives in New York but is planning a vacation in Miami, their preferred location would surface hotels in Miami for a period of time before reverting back to their home location in New York once they are no longer transient. All of this, plus testing and iteration, was done without relying on engineering support.
“Ultimately it’s been helpful to have these different ways of understanding the user. And because all of this lives in Iterable, we’re empowered to understand it and make changes ourselves, which is really great. I’m sure you’ve worked in places where the algorithm is a bit of like a black box. Thankfully, there’s none of that with this system. It’s all directly sort of in our hands.”
~ Fatima Rakla, Senior Director of Lifecycle & Retention at ResortPass
The Results: Data in Motion, Revenue in Sight
The “scrappy” prototype ResortPass built inside Iterable delivered results almost immediately.
- Stronger engagement: Click-through rates jumped by more than 30%, reflecting higher relevance.Â
- Greater audience eligibility: The team was able to dynamically assign locations across the entire user base, including historical records.Â
- No downtime or disruption: when it came time to scale into an API-powered engine, the transition happened without a hitch.
This foundation allowed ResortPass to evolve from broad, static campaigns to deeply personalized experiences that adapted to each user’s location, context, and behavior in real time.
“Creating 10 versions of an email for a single day was just not scalable. We’re a small team. This system has allowed us to scale much more and be much more complex and dynamic in what we’re saying.”
~ Fatima Rakla, Senior Director of Lifecycle & Retention at ResortPass
The strength of the prototype made the case for deeper technical investment. Within two years, the same logic was powering a real-time, API-driven personalization engine, with Iterable still serving as the system for QA, backfill, and orchestration.
As ResortPass doubled its hotel inventory and user base, the Preferred Location Engine evolved into a foundation for richer personalization across the entire customer experience—informing in-email hotel and SKU recommendations, triggering timely mobile push notifications, and guiding location-driven segmentation for spa or seasonal campaigns.
Lessons in Scaling: Practical Advice for Marketers
For marketers looking to replicate ResortPass’s success, Jon Uland, Partner and Head of Ops at Modular Marketing highlighted some of the principles that helped ResortPass move fast and scale smart—lessons that apply to any team building personalization systems under tight constraints:
- Start with what you have. Too often, teams wait for new tools or custom integrations before taking action. But you can go farther than you think with what’s already available in out-of-the-box features. ResortPass built its first iteration entirely with native Iterable features — Catalog, Journeys, and Handlebars — proving that speed doesn’t require complexity.
- Work smart by automating what you can. Instead of relying on engineering tickets, ResortPass used Journeys and data fields to automate location logic and content personalization. This gave marketers full control to test, refine, and scale independently.
- Prove value early. Before gaining full, organization-wide buy-in, marketers need to show how personalization moves the needle. Once ResortPass demonstrated a +30% CTR lift, it unlocked the next round of resources.
- Design for what’s next. The original Preferred Location Engine lasted two years — not because it was perfect, but because it was built to evolve. “Design for evolution,” said Uland. “Think about what it looks like in two years from now and design for that standard.”
A Smarter Way To Scale Personalization
ResortPass didn’t wait for the perfect tech stack or a dedicated engineering team. Instead, it built a scalable, testable personalization engine using the tools it already had inside Iterable — proving that speed and sophistication don’t have to be at odds.
The outcome was a durable marketing system that responded to real customer behavior, delivered value throughout the lifecycle, and made a clear case for deeper investment in personalization.
With the right mindset and the right partner, brands can turn scrappy ideas into lasting infrastructure.
To see how ResortPass made it happen, watch the full session on demand and explore the complete case study.





























