ESP

ENG

Web to App · Cruz del Sur

How a download modal shifted Cruz del Sur's highest-intent users to a higher-converting channel, and kept them there.

Role

Product Designer

Platform

Web mobile & iOS / Android

Tools

Figma | Mixpanel

+70%

Peak app purchases during modal activation

+35%

Sustained new baseline after modal turned off

−6%

Controlled drop in web-mobile conversion

1. The problem

Web had the volume, the app had the conversion.

Nothing connected them.

Web-mobile averaged 18K–22K weekly searches and ~4,500 purchases — the dominant channel by volume. The app, despite better conversion and retention metrics, had only 2K–3K weekly searches and ~700 weekly purchases.

The smart banner already in place went largely unnoticed. The challenge: design an intervention that could shift high-intent users to the app without cannibalizing web revenue.

2. Research

The data already showed where intent lived.

Using Mixpanel, we mapped behavior across both funnels. Two patterns shaped the solution.

Finding 1 - Behavior

Users reaching schedule results had high purchase intent — but received zero stimulus toward the app at that critical moment.

Finding 2 - Benchmark

Reddit and X use download modals at high-activity moments. The pattern works because it interrupts without destroying the session.

3. Design Decisions

A modal, not a passive banner. Four decisions defined it.

1 | Appear at the right moment, not any moment

The modal appears only at two points: schedule results (high purchase intent) and post-purchase (peak user satisfaction). It doesn't interrupt the flow — it uses it.

2 | Deep links to remove friction

App already installed → land directly on the relevant screen. No app → straight to the store. No extra steps, no lost context.

3 | Copy focused on benefit, not the download

"Take full control of your trips — only in the app." Primary CTA: "Finish your booking in the app." Clear escape: "Continue in browser."

4 | A deliberate constraint: don't bother returning users

Only shown to new users. Cookie prevents reappearance if dismissed. We didn't want to trade downloads for long-term friction.

4. Scope

What shipped, what waited, and why.

Defining scope was as important as the design itself.

Using Mixpanel, we mapped behavior across both funnels. Two patterns shaped the solution: in-app purchases had a consistently higher completion rate than web, and high-intent moments in the web funnel — schedule selection and post-purchase — weren’t being used to prompt a channel switch at all.

Shipped in V1

  • Modal at 2 high-intent trigger points
  • Deep links to installed app or app store
  • Cookie logic · new users only

Deferred

  • QR on desktop — lower traffic priority, more dev cost
  • Always-on activation — replaced by intermittent strategy (1×/month)

5. Results

The most important result wasn't the spike

it was that the floor held.

App purchases rose ~30% and that new level held for weeks after the modal was turned off. A structural shift in the user base, not a temporary spike.

The −6% drop in web-mobile conversion was expected — new app users typically need more interactions before completing a first purchase. What mattered was the net result across channels.

6. Restrospective

Lessons learned💡

What I learned

The biggest challenge wasn't designing the modal — it was justifying every scope decision with data. The conversation with the PM shifted when I stopped talking about design and started talking about user behavior and cannibalization risk.

What I'd do differently

I'd measure time-to-first-purchase in app (days from download to conversion) from day one. That metric would have explained the −6% web drop much faster and with less uncertainty during the analysis window.

What remains open

A personalized variant of the modal based on trip frequency or loyalty tier. The current version treats all new users equally — but a returning web user and a first-time visitor likely need different value propositions.

Thanks for reading 👁️

hopefully we can do projects together 😉 !

Other project

Este proyecto me quedó más bonito :3

Other project

Este proyecto me quedó más bonito :3