TLDR: The gate that was supposed to capture leads was the reason people were leaving. Flip the order — lead with value, catch them on exit — and your modal actually converts.

The Setup

I built a chat tool that helps people — often elderly, often scared — find cancer treatment centers that fit their situation.

You ask it a few questions. It surfaces real facilities: actual doctors, specific treatments, real cities.

And for a while, I thought the hard part was done.

The Number That Broke Everything

71% bounce on deep-link traffic.

That's not "room to improve." That's the product not working.

Deep links drop visitors straight onto a facility page — someone lands mid-conversation, already interested, and nearly three-quarters of them leave before doing anything.

I stared at that number for a while before I admitted what was causing it.

What I Built Wrong First

The original logic was: capture the lead first, then give them the good stuff.

The AI would answer general questions all day, but the moment someone wanted a phone number, a booking link, anything actionable — it gated them. Fill the form. Then you get access.

Classic direct-response thinking. Seemed right.

It was completely wrong for this audience.

These are people looking for cancer treatment. They're not casual browsers. They're anxious, they're in a hurry, and the second they hit a wall right when they're trying to take action, they leave.

The gate wasn't protecting the lead. The gate was the bounce.

The Two Fixes (Same Day)

First, I rewrote the AI prompt entirely.

Lead with value. Tell them the treatments the center specializes in. Name the doctors. Share the city, the philosophy of care. Make it genuinely useful before asking for anything.

The key instruction I added: "DO NOT tell them to share their details below." No pointing at the form. No hinting. Just help.

Second, I built the exit-intent modal — and put it where it actually belongs.

ExitIntentModal.tsx fires on mouseleave on desktop and visibilitychange on mobile. One field: email. Posts to /api/leads/exit-intent. Placeholder phone "—" in the DB so my admin can instantly filter exit-intent leads from organic ones.

The modal catches people on the way out, not on the way in.

That's the difference.

The Copy Fight (Worth Telling Honestly)

My own AI advisor pushed back on the exit-intent copy I wrote.

The line: "Are you sure you want to research the best doctors on your own? We've done all the work for you."

The feedback was that it levers anxiety on already-anxious patients. Suggested softer: "Before you go — want your top 3 matches emailed?" Converts nearly as well, less friction.

I heard it. I disagreed. I shipped the sharp version.

These users already have the problem the copy names — they're not being introduced to a fear they didn't have. And the value claim is TRUE. We did do all the work. That's the whole app.

Soft copy that undersells the value would've been the wrong call. (I know my audience.)

Why This Matters

The instinct to gate is understandable. You want the lead before they leave. But if the gate is the reason they're leaving, you've built a wall that looks like a funnel.

The modal should be a net, not a door.

Let people in. Give them the real thing. And when they're heading out — then you ask.

That sequence matters more than I thought.

P.S. Same day I shipped the modal, I also backfilled 849 facility locations to real addresses and ran a Fisher-Yates shuffle so the AI stopped recommending the same three centers every time. Busy Tuesday.