“(hero leads with "Download the app" rather than letting users see flight prices)”
A user landing on hopper.com via a search for "cheap flights to Madrid" wants to see prices, not download an app. Forcing the app install before showing value is a friction wall that bounces 80%+ of cold traffic.
“Show a flight search box. Let users see one round of prices. Then offer the app: "Save 30% more in the app — download to unlock."”
Let value-discovery happen on the channel the user chose (web). Convert to app after the user has seen what Hopper does, not before. The "30% more in the app" promise is honest about the trade-off.