Exit-Intent Triggers
Catch visitors right before they bounce. Set the trigger on any popup, modal, contact form, or survey to Exit Intent and FloatMessage shows it the moment a visitor looks like they're about to leave - no manual scroll thresholds, no time delays to tune.
How Detection Works
The embed runs entirely client-side. Two different signals depending on the visitor's device:
Desktop - Mouse-Leave
The script listens for mouseout events at the top of the document. When the cursor crosses the top edge of the viewport (heading toward the address bar, the back button, or a tab) the trigger fires. This is the strongest predictor of intent-to-leave on desktop and produces almost no false positives.
Mobile - Scroll-Up + Idle
Touch devices have no mouseleave at the viewport edge, so we fall back to a heuristic. The trigger fires when the visitor:
- Has scrolled past 50% of the page (we know they engaged), AND
- Has been scrolling up for 300+ pixels in the last few seconds (they're looking for a way out), AND
- Has been idle for at least 1.5 seconds (the scroll has settled).
This pattern catches the "I'm done, swipe back to the home screen" behavior without firing on every page-up scroll. False-positive rate is low compared to time-based triggers.
Configuring Exit Intent
On any message, open the Display Settings tab and set the trigger to EXIT_INTENT. No additional thresholds to configure.
{
"trigger": "EXIT_INTENT",
"dismissBehavior": "DURATION",
"dismissDuration": 24,
"targetUrls": ["/checkout/*", "/cart/*"],
"geoCountries": ["US", "CA", "GB"]
}See Scheduling & Triggers for the full trigger list (page-load, delay, scroll, exit-intent).
Smart Dismiss Memory
Annoying visitors with the same exit popup on every page wastes the offer. Pair exit-intent with the dismiss behaviors documented at Dismiss Behavior:
SESSION- never re-triggers in the current tab session.DURATIONwith 24h or 7d - re-triggers after the time window so you can re-pitch a returning visitor.PERMANENT- one-shot per device. Strongest dismiss; best for hard offers like 10% off your first order.
What You Can Trigger on Exit
Exit-intent isn't a template - it's a trigger you set on any message type. Common patterns:
| Goal | Template + targeting |
|---|---|
| Cart abandonment recovery | center-modal with a discount code, scoped to /checkout/* + /cart/* |
| Newsletter capture | newsletter or contact-form with a one-line lead-magnet pitch |
| Last-minute survey | 1-question NPS or short-text survey asking why they're leaving |
| Live chat handoff | chat-cta that opens the chat panel pre-seeded with their last action |
| Booking offer | book-appointment for free 15-min consult |
Stack with Other Targeting Rules
Exit-intent is one of six rule layers and stacks with all of them. Every rule must pass for the message to render:
- URL targeting / blocking - only on /checkout, never on /admin
- Geo targeting - only US / CA visitors
- Device targeting - only desktop, only mobile, etc.
- Schedule windows - only weekdays 9-17 in the visitor's local time
- Visit count - only on the visitor's 2nd+ session
- Exit intent - the trigger covered here
A common surgical setup: mobile + United States + on /checkout/* + 6pm-11pm + first-time visitor + exit intent. One config, no scripting.
Browser Support
Mouse-leave detection works on every desktop browser shipping mouseout: Chrome, Edge, Firefox, Safari, Opera. The mobile heuristic uses scroll events plus touchstart/touchend, which work in iOS Safari, Android Chrome, Samsung Internet, Firefox Mobile, etc.
Pure-keyboard tab-switch (Cmd-Tab / Alt-Tab without the mouse) is intentionally NOT a trigger - it would fire too aggressively on multi-tab researchers.
Related
- Scheduling & Triggers (full trigger list)
- Dismiss Behavior (memory between sessions)
- All 18 templates
- Guide: Exit-intent playbook to reduce bounce
- Feature overview →