KAYAK Search Overview
Turning AI summaries into booking decisions
TL;DR
Problem
Dense flight results with no guidance on what matters for the user's specific search.
Solution
Horizontal AI cards with quick actions tied to the highest-converting filters on the page.
Team
Design: Tai H
PM: John L
Front end: Goda G
Back end: Elica F
Impact
12% feature engagement of all users on flight result page
+7% filter usage
At a Glance
Feature Integration
AI insights alongside search results
Cards are scrollable, results stay in viewport
Customizable Layout
Three-state interaction
Half-faded → expanded → collapsed. Users control how much AI they see.
Optimized for Conversion
Quick actions tied to conversion
Each tip connects to a filter or sort directly on the results page
Too Many Options, Not Enough Clarity
KAYAK's flight results pages confront users with dense lists of options and extensive filter menus. Customer satisfaction feedback ranked “difficult to make sense of” as the third most frequent negative topic.
Users who couldn't make a confident decision often left for Google Flights, contributing to a steady loss of market share since 2019.
"Shall We Just Copy Google"
The team saw an opportunity: surface AI-generated insights at the top of results to help users orient faster and make more confident booking decisions. We started with Google's AI Overviews as a reference — expandable text and external links. Google had validated that users find AI summaries useful during search.
But KAYAK's results page serves a different job. The primary task is to compare and book, not to explore. A text block at the top of results would push flights below the fold on a page where every visible result is a potential booking click. The overview also wasn't connected to the user's search parameters, so the tips read as generic travel advice rather than guidance tied to the flights in front of them.
Reframe: Optimize for Usability and Conversion
Horizontal layout to protect the main task
Instead of a markdown text block, the overview renders as horizontal scrollable cards. Three interaction states: half-faded on load (visible but not intrusive), expanded on user opt-in, collapsed to a single header row after the user has seen it. Flight results stay in the viewport at all times.
Quick actions tied to search behavior
The initial tips surfaced useful information but didn't connect to anything on the page. Each tip was paired with a conversion-positive action:
- “Nonstop flights are available” + Filter nonstop only button
- “Prices are higher on this day” + Try flexible dates button
- “Consider nearby airports” + Expand to nearby airports button
These action types were selected based on the highest-engagement filter/sort options already on the results page. The design surfaced existing functionality through a new entry point rather than inventing new behavior.
Not Every Search Is Worth the Tokens
Not every search benefits equally from an overview. Each overview triggers an LLM call. At KAYAK's search volume, showing one on every flight search would scale token costs linearly with traffic. The feature needed a layer that decides when an overview is worth generating before spending the tokens.
A traveler searching BOS to Istanbul in July faces limited nonstop options, layover routing, visa requirements, airport-to-city transport. They're cautious, weighing more variables, and actively looking for guidance. An overview on that search is genuinely useful.
A traveler searching BOS to LGA for a Friday shuttle already knows what they're doing. The overview adds little. The token cost is identical, but the value to the user and the potential revenue lift are not.
The solution is a two-step architecture. First, a lightweight scoring layer takes search parameters and route metadata and predicts whether the overview would generate enough revenue lift to justify the token cost. No LLM call. Only when the score clears the threshold does the second step fire: the actual generation call.
| Signal | Why it matters |
|---|---|
| Route complexity | More complex routes = more decision anxiety = higher value of guidance |
| International vs. domestic | International travelers face visa, customs, transport unknowns |
| Destination airport count | Multi-airport cities need more orientation |
| Price volatility | High variance makes flexible-date tips more actionable |
| Historical filter usage | Heavy existing filter use = overview adds less marginal discovery |
| Conversion rate baseline | Low-converting routes have more room for the overview to move the needle |
Design Outcome
Engagement improved. Users interacted with the overview, scrolled through cards, and used quick actions to trigger filters they might not have found otherwise.
Horizontal cards kept results visible. The three-state interaction pattern gave users control over how much AI content they consumed without sacrificing the primary task. This pattern is directly reusable for any supplementary content on high-intent results pages.
Quick actions created a new entry point for existing features. The overview made high-value filters more discoverable. Tying AI-generated insights to specific page actions turned a passive content layer into an active conversion tool.
What's Next
The interaction model holds. Refining action prioritization to lead with high-conversion options and introducing caching for repeated route queries are the next steps to scale the feature across KAYAK's full search volume.