The Exit-Intent Popup Offer That Actually Converts
This is for anyone running a DTC or ecommerce site who has an exit-intent popup live right now converting under 2%. If that's you, the single most important decision is the discount depth, not the design, not the copy, not the timing. Get the number wrong and nothing else matters.
On the brand I scaled from $100K to $3M, our exit-intent popup ran at 11% conversion at its best. Not 2%. Not 4%. Eleven. The offer was 15% off, not 10%, and that five point difference was the whole game.
Decide this first
Before you touch a template or a plugin, decide your discount depth against your margin. This is the one variable everything else follows from.
If your gross margin is 70%, a 15% discount still leaves you healthy. If your margin is 35%, that same 15% might mean you're shipping product at a loss once you factor in shipping and payment processing. Exit intent popup discount codes that actually work are calibrated to what your business can absorb, not to what looks good on a popup.
Here's the math we used. Average order value was $68. At 35% margin, that's about $24 of gross profit per order. A 15% discount on $68 is $10.20. That still leaves $13.80 of margin, plus we captured an email we didn't have before. The email alone was worth roughly $2 to $4 in lifetime value based on our flow performance, so the real cost of the discount was closer to $6 to $8 net. That's a trade worth making.
Run your own version of this math before you pick a number. Skip this step and you'll either give away too much margin or offer something so thin nobody bites.
What to look for
Discount size that matches purchase hesitation, not industry norms
10% is the default because everyone uses it, not because it's optimal. We tested 10%, 15%, and 20% over eight weeks. 15% outperformed 10% by 4.3 points in conversion and didn't erode margin meaningfully more. 20% barely beat 15%, but it trained customers to wait for bigger discounts on future visits, which hurt full-price sales later. Test in that 10-20% band and watch your repeat purchase behavior over the next 60 days, not just the immediate conversion.
Single-use, time-limited codes
A code that works forever gets shared on coupon sites within a week. We saw this happen twice before switching to single-use codes generated at signup with a 72-hour expiration. Conversion on the popup itself didn't change, but redemption rate went from 61% to 89% because urgency did real work. Time pressure isn't a copywriting trick here, it's a mechanism that changes behavior.
Real exit-intent detection, not a timer disguised as one
Most popup tools sell you "exit intent" that's actually just mouse-velocity tracking toward the top of the browser on desktop. That's fine, it works. But make sure whatever you use also has a fallback for mobile, since there's no cursor to track. On mobile we used a scroll-based trigger, back-button intercept, and a 45-second time-on-page threshold, whichever fired first. Roughly 60% of our traffic was mobile, so getting this wrong meant missing most of the opportunity.
What to ignore
Gamified wheel-spin popups. They test well in demos and case studies from the tool vendors selling them, but in our testing they converted about the same as a plain text popup with a clear offer. The animation adds load time and mobile users bounce off janky wheel interactions. If your traffic skews mobile, skip it.
Countdown timers inside the popup itself, as opposed to the code's expiration. We tried a visual ticking clock inside the popup and it didn't move conversion at all. People respond to the code expiring, not to watching seconds count down in a modal they're trying to close.
A/B testing tools that promise "AI-optimized" headline generation. I run an AI agent stack for a lot of my marketing work today, and even I'll tell you this is overkill for a popup. You need three or four headline variants tested manually over two weeks. That's it. The lift from AI-generated copy variants on something this simple was not measurable in our numbers.
Exit popups that ask for more than an email and a first name. Every additional field drops completion. We tested adding a phone number field for SMS capture and completion dropped 22%. If you want the phone number, get it in a follow-up flow after the email is captured, not in the exit popup itself.
Common mistakes
The biggest mistake is showing the popup to people who already converted or who are already on your email list. We didn't suppress the popup for logged-in or previously-purchased visitors for the first three months of running it, and it created a bad experience for repeat customers who felt like they were being sold a discount they'd already earned loyalty past. Fix this with a simple cookie or logged-in state check before the popup fires. It takes an afternoon to set up and it matters more than any copy tweak you'll make.
The second mistake is treating the discount code as disposable rather than trackable. If you can't tell me what percentage of popup-captured emails convert within 7 days, 30 days, and 90 days, you don't actually know if the popup is working. Conversion rate on the popup itself is a vanity number if you're not tracking downstream revenue per email captured. On the infrastructure project I marketed, a $2.2B build with a $10M budget, we lived and died by attribution because every dollar had to be justified to stakeholders who didn't care about clicks. Apply that same discipline here. Tag every popup code distinctly from your other discount codes so you can pull clean revenue reports.
The third mistake is running the offer indefinitely without refreshing it. We saw performance decay about every 90 days as returning visitors got used to seeing the same 15% offer and started ignoring it, or worse, started delaying purchase because they knew the popup would eventually show up. We rotated the exact percentage between 12% and 18% seasonally and refreshed the headline copy quarterly. That kept it from becoming wallpaper.
FAQ
What discount percentage converts best on exit intent popups?
In our testing, 15% consistently outperformed both 10% and 20% for a mid-margin DTC product at a $68 average order value. But the right number depends on your margin structure. Calculate your gross profit per average order first, then test discount depths that still leave you with a defensible margin after the discount and after email marketing costs. Don't copy someone else's number without doing your own math.
Should the exit intent popup discount code work sitewide or only on the item they were viewing?
Sitewide, almost always. We tested restricting the code to the specific product category the visitor was browsing and it dropped redemption by about 15%, likely because people who leave a product page often end up buying something else entirely once they come back. A sitewide code removes friction at the moment they actually decide to purchase, which might be days later on a different product.
How long should the discount code stay valid before it expires?
72 hours worked best for us. 24 hours felt too aggressive and depressed redemption because people who wanted to comparison shop or check their budget missed the window. 7 days was too loose and lost the urgency effect entirely, with redemption dropping back toward what we saw with no expiration at all. Test between 48 and 96 hours for most ecommerce purchase cycles.
Does the exit intent popup hurt brand perception if the discount is too aggressive?
It can, and this is worth watching. If your popup discount is deeper than your normal promotional cadence, you train your audience to wait for the pop-up rather than buy at full price. Watch your full-price conversion rate over the 90 days after launching a new popup offer. If it drops noticeably, your discount is too aggressive relative to your regular pricing and you need to pull it back.
The practical takeaway: don't copy a discount percentage from a blog post, including this one. Calculate your margin per average order, test in the 10-20% range, use single-use codes with a 48-96 hour expiration, suppress the popup for existing customers, and track revenue by code for at least 90 days before you call it a win or a loss.